19.10.8

//1.如果出现浮点数使用==判断是否相等是不合理的
double x = 12.0;
Math.abs(x-12.0) < 0.000001);

//2.
判断值类型变量是否相等可以使用==,但是引用类型是否相等,
使用==表示引用是否为同一个对象,例如两个String对象,他们的值
虽然是一样的,但是代表不同的对象,如果使用==,会返回false,
因此,要判断引用值类型是否相同,必须使用equals()方法,s1.equals(s2)。
使用equals方法避免出现NullPointerException,即s1不能为null

//3.
switch(表达式),表达式的结果必须是整型、字符串、枚举类型,
同时,不应该忘记写break,还可以写上default
Java13开始升级了,不在需要break,同时可以使用yield,注意辨识。

//4.
do{
   语句; 
}while(表达式);这里有个分号记住了

//5.
for(int i = 0;;)也就是说i尽量定义在for循环里面,这样就无法外界访问i变量了

//6.for each的使用
int[] ns = {1,4,9,16,25};
for (int n : ns){
    System.out.println(n);
}
和for循环相比,for each循环的变量n不再是计数器,
而是直接对应到数组的每个元素。for each循环的写法也更简洁。
但是,for each循环无法指定遍历顺序,也无法获取数组的索引。
除了数组外,for each循环能够遍历所有“可迭代”的数据类型,
包括后面会介绍的List、Map等

//7.break and continue
break语句可以跳出当前循环;
break语句通常配合if,在满足条件时提前结束整个循环;
break语句总是跳出最近的一层循环;
continue语句可以提前结束本次循环;
continue语句通常配合if,在满足条件时提前结束本次循环。

//8.打印数组
直接使用打印数组,得到的是数组在JVM中的引用地址
可以使用Arrays.toString(数组名)打印出数组
打印二维数组使用Arrays.deepToString(数组名)

//9.Arrays.sort()自带排序,从小到大
数组排序实际上是修改了数组本身的引用,原来的内存部分没有改变。
posted @ 2019-10-30 20:51  睿晞  阅读(144)  评论(0编辑  收藏  举报