Java基础语法
注释
1.单行注释://
2.多行注释:/*
内容
*/
3.JavaDoc 文档注释:/**
@Author 某某某(实现具体功能)
内容
*/
标识符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mRSr9SzN-1625823135976)(C:\Users\pengk\AppData\Roaming\Typora\typora-user-images\image-20210708173148825.png)]
所有的标识符都应该以字母(AZ或者az),美元符(¥),或者下划线(_)开始;
首字母之后可以是字母(AZ或者az),美元符($)、下划线(_)或数字的任何字符组合;
不能使用关键字作为变量名或方法名;
标识符是大小写敏感的
数据类型
Java是强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
1.基本类型(primitive type)
2.引用类型(reference type)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-18lXwqU1-1625823135979)(C:\Users\pengk\AppData\Roaming\Typora\typora-user-images\image-20210708200018246.png)]
注意
整数:int(最常用),long定义后需要在数字后面加上“L”
浮点型(小数):float定义后需要在数字后面加上“F”。如:
long a=300L;
float b=3.1415F;
字符:char类型只能定义一个字符,不能定义多个字符;定义多个字符用“类”String定义。
布尔值(是否):
Boolean flag=true;
//or:boolean flag=false;只有两种值。
位、字节、比特、字符:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X6gXfScI-1625823135987)(C:\Users\pengk\AppData\Roaming\Typora\typora-user-images\image-20210708202231211.png)]
整数拓展:
二进制(0b)开头; 八进制(0)开头; 十六进制(0x)开头。
浮点数扩展:
浮点数是有限的、离散的 舍入误差 大约 接近但不等于
so***最好避免使用浮点数进行比较***
银行业务用“类”BigDecimal(数学工具类) 比较
字符扩展:
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质上还是数字
//编码 Unicode表: (97=a 65=A) 2字节 0~65536(2的16次方)
//U0000~UFFFF
char c3='\u0061';
System.out.println(c3);
转义字符
\t 制表符
\n 换行
布尔值扩展
boolean flag=ture;
if(flag==true){}
if(flag){}
//两者功能相同,第二个是第一个的简略写法
类型转换
低——>高
byte,short,char——>int——>long——>float——>double
强制类型转换:高到低 (类型名)值
自动类型转换:低到高
注意:
- 不能对布尔值进行转换;
- 不能把对象类型转换为不相干的类型;
- 在把高容量转换到低容量的时候,强制转换;
- 转换的时候可能存在内存溢出,或者精度问题!
变量
局部变量:在方法内部定义,在方法内有效(方法类似于MATLAB程序的子函数),使用需要初始化。
实例变量:在方法外、类内定义的变量,从属于对象。如果不进行初始化,值为此类型默认值。(类类似于结构体,实例变量类似于结构体内的元素)。
类变量:定义时,在类型名称前加static,即类变量,
常量:定义时,在类型名称前加final,即常量,
关于变量的默认值:数值类型的默认值为0或者0.0,
字符类型的默认值为U0000,
布尔值默认为false。
除了基本类型(8个),其余的默认值都是null,例如String的默认值为null。
命名规则(习惯)
类成员变量和局部变量:首字母小写、驼峰原则 如:monthSalary
常量:大写字母、驼峰原则 如:MAX_VALUE
类名:首字母大写、驼峰原则 如:GoodMan
方法名:首字母小写、驼峰原则 如:runRun()