- 标识符
- 数据类型
- 运算符
标识符
组成:只能有字母 数字 _ $组成,开头不能是数字
命名规范:
类名:每个单词的首字母都是大写(大驼峰法则) eg:HelloWorld
变量、属性、方法名:首字母小写,之后每个单词首字母大写(或者都小写用_分隔)(小驼峰法则) eg:myName my_name标识符的命名,必须要有语义,尽量为单词
数据类型
基本数据类型
- java中基本数据类型有8种
整数型(从小到大):byte(1字节)/short(2字节)/int(4字节)/long(8字节)
小数型(浮点数):float(单精度、4字节、、6-7位有效数字)单精度运算要更快
double(双精度、8字节、15-16位有效数字)
字符型:char(2字节)一个数字、一个字母、一个符号,称为一个字符
double d = 1; //用低阶的int,往高级别的double,自动转换
int num2 = (int)1.7f;//由高级别float,往低级别int
- 变量的声明:
float: float fNum = 1.3f; 结尾必须有f/F,不能省略
double:结尾可以是d/D,也可以省
final int NUM1 = 1;
用final修饰的变量为常量,不可被改变!常量名所有字母全部大写 - 数据类型长度:(了解即可)
以int为例:4个字节、32位,可存储-2^31到+2^31-1(32位中有一位是符号位)
基本数据类型转换
基本数据类型转换分为两类:自动转换、强制转换
除boolean类型以外,其他基本数据类型均可转换自动类型转换
两个条件:相互转换的两种数据类型,必须要兼容
必须是由小范围数据类型往大范围数据类型转换
数据类型大小排列:byte-short(char)-int-long-float-double强制类型转换
由大范围数据类型,往小范围数据类型转换,必须强制转换
eg:int num2 = (int)1.7f;//由高级别float,往低级别int
注:强制转换时,小数点后面的数字直接舍去,不进行四舍五入
运算符
算术运算符:+ - * / %(取余)
除号/:当/两边都为整数时,结果为整数,而且不四舍五入,直接舍去小数点
当/两边任意一边为小数时,结果为小数
加号+:有两种作用,分别是加法运算和链接字符串
当+两边均为数字时,进行加法运算
当+两边有任意一边为字符串时,起链接作用,链接之后的结果为字符串
eg:System.out.println(“你”+”好”+num);
输出:你好123关系运算符:== != > < >= <=
关系运算符判断之后的结果,只能有真或假两种情况
判断一个数是不是处于某区间,必须用&&链接逻辑运算符:& | && || !
&/&&:两边都为真,结果为真
|/||:两边都为假,结果为假
&与&&的区别:
&(按位与)既可以进行逻辑判断,也可以进行按位运算;当&两边都为数字时,进行按位运算;
&&只能进行逻辑判断,不能进行按位运算
当两者都进行逻辑判断时:
&&(短路与)从左往右判断,当判断第一个为假时,便不再判断第二个,直接输出结果为假
&(逻辑与)无论第一个结果为真还是为假,均会判断第二个,之后再输出结果
综上:进行逻辑判断时,用&&和||
System.out.println(500<=num&&num<=1000);
System.out.println(5&6); //将5 6换成二进制,按位取与
System.out.println(true&false);
System.out.println(true&&false);
System.out.println(!true&&false);
输出:
false
4
false
false
false
4. 赋值运算符:= =+ -= *= /= %=
i += 1 —>i = i+1 但是前者运算效率更快
- 单目运算符:++ –
i++ –> i=i+1
i++和++i的异同:
相同点:无论i++还是++i,执行完之后i的值都会+1
不同点:i++,先用i的值运算,再把i+1;++i,先把i的值+1,再用i+1以后的值去运算
int i,j,k;
i = 5;
j = ++i +2;//i=6 j=8
k = i++ +2;//k=8 i=7
System.out.println(i+"/"+j+"/"+k);
输出:7/8/8
多目运算符:a>b?true:false
如果?前面的结果为true,执行:前面的代码
如果?前面的结果为false,执行:后面的代码运算符的优先
(1) ()最高
(2)! ++ –
(3)* / %
(4)+ -
(5)> < >= <=
(6)== !=
(7)&&
(8)||
(9)各种赋值符号