类型转换
从低到高:byte,short,char->int->long->float->double
低到高自动转换,高到低要手动转换
- 不能对布尔型进行转换
- 不能把对象类型转化为不相干类型
- 高容量转换到低容量的时候,强制转换
- 转换的时候可能出现内存溢出,或精度问题
变量
java是一种强类型语言,每个变量必须声明其类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
注意:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
局部变量:必须声明和初始化值
实例变量:从属于对象
布尔值默认都是false,除了基本类型,其余默认值都是null
类变量 static
常量
初始化后不能改变
final + 常量名
命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
运算符
算术运算符:+,-,*,/,%,++,–
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:?
扩展赋值运算符:+=,-=,*=,/=
Math类
Math.pow(2,3)->2^3
很多运算会借助工具类去操作
位运算
逻辑运算
A = 0011 1100
B = 0000 1101
与:A&B = 0000 1100
或:A|B = 0011 1101
异或:A^B = 0011 0001 相同为0,不同为1
非:~B = 1111 0010
位运算
效率极高
2*3=16
2<<3 *2
2>>3 /2
三元运算符
x?y:z
如果x为真,则结果为y,否贼输出z