首页 > 编程语言 >java基础语法

java基础语法

时间:2024-07-24 17:10:22浏览次数:13  
标签:注释 java 运算 基础 class 语法 类型 public

Java基础语法

编译与运行

在终端运行

编译java java文件,会生成一个class文件

运行class文件,java class文件

public class Hello { 							//类(public class)+名称(Hello)
    public static void main(String[] args) {			//修饰符/关键字(public static void)+方法(main)+参数
        System.out.print("Hello, World!");
    }
}

文件名和类名必须保持一致,并且首字母大写

Java程序运行机制

编译型(compile)

相当于整体翻译

操作系统 C/C++

解释型

相当于一段一段的翻译

网页,对速度要求不高 python/js

ps:java既有编译型特征又有解释型特征

程序运行机制

image-20240724093414318

IDEA使用

psvm:直接生成一个main方法

sout:直接生成一个输出语句

基础语法

注释

单行注释

多行注释

文档注释

public class HelloWorld {
    public static void main(String[] args) {
        //单行注释
        //输出一个Hello, World!
        System.out.println("Hello, World!");
        //多行注释   /*   注释    */
        /*
        
         */
        //JavaDoc:文档注释   /**   */
        /**
         * @Description HelloWorld
         * @Author 白木有鹿
         */
    }
}

标识符

关键字

image-20240724103350676

Java所有的组成部分都需要名字。类名、变量名以及方法名都被成为标识符

image-20240724103754522

数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

不用严格符合固定

Java数据两大类型

image-20240724104420916

ps:定义long时一般会在后面加个L/l

定义float时一般会在后面加个F/f

long num = 30L;
float num2 = 50.1F;

String不是关键字,是类

数据类型扩展

整数扩展

二进制0b

八进制0

十六进制0x

浮点数扩展

浮点数:有限、离散、舍入误差、大约、接近但不等于

最好避免使用浮点数进行比较

字符扩展

所有字符本质还是数字(可以强制转换)

编码 Unicode

char c3 = '\u0061';

输出c3的话,结果输出a(“/”代表转义)

转义字符

\t 制表符

\n 换行

布尔值扩展
if (flag == true){}
if (flag){}

两个if含义相等

类型转换

运算中,不同类型的数据先转化为同一类型,然后进行运算

低----->高

byte,short,char--->int --->long ---> float ---> double

尽量避免内存溢出

强制准换

(类型)变量名

高--低

自动转换

低--高

不需要任何操作

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出,或精度问题
  5. 操作比较大的数,注意溢出问题(先转换,再计算<转换一个数就行>)

ps:JDK7:数字之间可以用下划线分割

变量

可以变换的量

必须声明其类型

最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName [=value] [{, varName[= value]}];
//数据类型     变量名 = 值;可以用逗号隔开来声明多个同类型变量

每个变量都有类型,类型可以是基本类型,也可以是引用类型

变量作用域

image-20240724114940475

类变量

static

实例变量

从属于对象;如果不自行初始化,这个类型的默认值(0 0.0 布尔值默认false,除了基本类型,其余都是NULL)

局部变量

必须声明和初始化值

常量

初始化后不能改变

常量名一般使用大写字符

final 常量名 = 值;
final double PI = 3.14;

final与static是修饰符,不存在先后顺序

命名规范

image-20240724162501022

运算符

image-20240724162710210

没有long时,整数类型默认为int

关系运算符返回为布尔值:true/false

++/--

自增/自减 一元运算符

image-20240724163812912

第一个a++先给b赋值,b就是3,但这行的a++仍然要求自增,结束后a为4

++a就是先a自增为5,再赋值给c,c就是5

幂运算

3^2如下

double a = Math.pow(3, 2);

逻辑运算

image-20240724164614545

+用来连接

image-20240724165754590

位运算

&:与运算,全1为1,否则为0

|:或运算,全0为0,否则为1

^:异或运算,相同为0,否则为1

~:取反运算,完全不同

<<:左移运算,*2

右移运算:>>,/2

a += b;			//a = a + b
a -= b;			//a = a - b

三元运算符

image-20240724170002910

标签:注释,java,运算,基础,class,语法,类型,public
From: https://www.cnblogs.com/baimuyoulu/p/18321273

相关文章

  • kotlin,Android教你最基础的ViewBinding视图绑定
    目录一.添加依赖二.在Activity中使用ViewBinding修改布局文件修改kt文件 效果三.在Fragment中使用ViewBinding修改布局文件修改kt文件效果不玩虚的,就三分钟,看完就能学会最基础的ViewBinding如何使用使用ViewBinding有什么好处呢与使用findViewById相比,视图绑......
  • Java中string对象是如何实现的?string对象的优化过程
    1.基本实现Java中的String类是一个final类,这意味着它不能被继承。它内部使用一个字符数组(char[])来存储实际的字符序列。这个字符数组是私有的,并且不能被外部直接访问或修改(除了通过String类提供的公共方法)。String类还包含一些字段来跟踪字符串的长度(value.length)和哈希......
  • java代审中对jar包的审计
    在代码审计中,java比较特殊,相比于php这种纯脚本文件驱动,java还可以使用内置虚拟机驱动(如比较新的spring技术),这就常常涉及到jar包。之前都是跳过jar包,以为jar包里面就是一些框架性的东西,但是其实,有些jar包就是作者为系统专门编写或修改的,其中被引用的方法也是可能被直接引用,所以......
  • MySQL 学习笔记 基础(多表查询下,事务)
    多表查询 多表查询-子查询概念:SQL语句中嵌套SELECT语句,称为嵌套语句,又称子查询。SELECT*FROMt1WHEREcolumn=(SELECTcolumn1FROMt2);子查询外部的语句可以是INSERT/UPDATE/DELETE/SELECT的任何一个。根据子查询结果不同,分为:·标量子查询......
  • CSS 基础知识
    CSS(级联样式表)是设置Web内容样式的代码。CSS基础知识将介绍入门所需的内容。我们将回答以下问题:如何将文本设置为红色?如何使内容显示在(网页)布局中的某个位置?如何用背景图片和颜色装饰我的网页?什么是CSS?像HTML一样,CSS不是一种编程语言。它也不是一种标记语言。CSS是一种......
  • Java学习笔记(三)算术运算符、逻辑运算符、四种进制介绍
    Hii,mJinXiang⭐前言⭐本篇文章主要介绍Java算术运算符、逻辑运算符、四种进制介绍详细使用以及部分理论知识......
  • JavaScript 基础知识
    JavaScript是一种编程语言,可为您的网站增加交互性。这发生在游戏中,在按下按钮或在表单上输入数据时的响应行为中;具有动态样式;带有动画等。本文可帮助您开始使用JavaScript,并进一步了解可能的情况。什么是JavaScript?JavaScript 是一种功能强大的编程语言,可以为网站......
  • Java学习笔记(七)面向对象编程(中级部分)
    Hii,mJinXiang⭐前言⭐本篇文章主要介绍Java面向对象编程(中级部分)包、访问修饰符、封装、继承、super关键字、多态、向上(下)转型、equals、hashCode、断点调试等知识的详细使用以及部分理论知识......
  • 学习Java的日子 Day56 数据库连接池,Druid连接池
    Day561.数据库连接池理解:池就是容器,容器中存放了多个连接对象使用原因:1.优化创建和销毁连接的时间(在项目启动时创建连接池,项目销毁时关闭连接池)2.提高连接对象的复用率3.有效控制项目中连接的个数(连接对象占内存资源)数据库连接池负责分配、管理和释放数据库连接......
  • Java 内存模型
    Author:ACatSmilingSince:2024-07-24概念Java内存模型:JavaMemoryModel,简称JMM,是Java语言中定义的一组规则和规范,用于解决多线程环境下的内存可见性和有序性问题。JMM确定了线程之间如何通过内存进行交互,并规定了变量的读取和写入操作的行为。JMM能干吗?通过JMM来......