浮点数相关
0.0/0 结果:NaN(not a number)
1.0/0 结果:Infinity(正无穷)
1.0/0 结果:-Infinity(负无穷)
需要注意的是:浮点数除零并不会报错,浮点数不能用==来判断
浮点数强制转型
浮点数强转为int会直接丢失小数后内容
如果要四舍五入,可以直接加个0.5再转换
超出整型的最大值时,会自动转换为最大值
三元运算符
b ? x : y b为true,则执行x
b为false,则执行y
字符与字符串
Char可存一个字符,可中文可英文,单引号将其包含
可直接将其赋值给int查看其Unicode编码(A 65 a 97)
也可以用十六位进制来表示(例如:’\u####’)
String是一个引用类型
String不是基本类型(因为基本类型的变量是持有某个数值,而引用类型的变量是指向某个数值)
String不可变
String a = “”; 这个是指a指向空字符串这个对象
String a = null; 这个可以认为a不指向任何对象
数组
数组是引用类型
初始化数组:
int[] arr = new int[5]; 指定大小
int[] arr = new int[]{1,2,3}; 编译器自动推测大小
int[] arr = {1,2,3}; 进一步简写
数组不可变
多重选择Switch
switch(option){
case 1:
//
break;
case 2:
//
break;
default:
//尽量添加
}
注意书写格式,同时每个case之后一定要写break语句,同时如果所有判断均完成后,可以执行default,尽量少用
do-while循环
至少执行一次
For循环
不要在循环内部修改计数器
计数器尽量在循环中定义
循环条件可以省略,但是不推荐
Break与Continue
Break跳出的是与它最近的一个for循环
Continue提前结束当前循环,进行下一次循环
Arrays.toString()
可以快速打印数组内容
二维数组
可以使用Arrays.deepToString(arr)进行打印