1. java10开始 又var var代替了类型变量,比如有个类Student ,我们之前是Student s = nw Student,现在可以写成
var s = new Student();但是用idea的话,感觉这个特性优点鸡肋。
2.String 类型的字符串是不可变的,具体是字符串内容不可变,改变的是String 的引用指向,还有改变任意改变字符串都是创建了一个新的地址,String是引用类型
3.在if判断中 用== 来判断并不靠谱,因为浮点数计算是有偏差的,所以要到Math.abs(x-3.01)<0.000001 ,绝对值小于某个范围来判断,小知识,以后大概率不会碰到
4.引用类型 == 比较的是是否是同一个引用,也可以理解为是否是同一个类的对象,要比较是否是内容相同要重写equals方法,但是最好写成要比较的值在前面,避免空指针异常例如"小明".equals(x),这样比较不会空指针异常,也可以写成x.equals("小明"),但是变量x如果置为null,就会报空指针异常
5. java12的新特性 switch 不需要brank了
了解就好,感觉用不到,现在都是java8或11,1哈哈,以后可能会用到
6.Arrays.tostring() 快速遍历数组,for each 遍历数组,拿不到数组的索引,直接拿的是元素
Arrays。sort 数组排序功能,也可以排序自定义的引用类型排序,要相对复杂点,必须注意,对数组排序实际上修改了数组本身
比如排序前int i = {3,2,5,1} 在内存中就是3,2,5,1 排序后 i = {1,2,3,5} 内存中也跟着变化,所以原数组发生了改变
遍历二维数组方法Arrays.deepToString()
7.成员变量封装起来,可以提高安全性,如果是public修饰的,那么外部就可以直接new 对象 更改一个不适合的值,不如 整数类型socre 肯定不能为负数,那么就用private私有话起来,然后提供方法让外部间接访问,可以在方法里来校验外部设定的值是否合法
8.classpath是JVM用到的一个环境变量,它用来指示JVM如何搜索class