1.操作符(=,==,!=)可以操作所有的对象
2.基本数据类型存储了实际的数值,而并非引用,所以直接为其赋值是直接将值赋给它。例如a=b是将b的内容赋给a,a值得改变与b无关。
3.random类的使用方法
Random random = new Random();//不带种子数
int randomNumber1= random.nextInt(100);//0–100
Random random1 = new Random(100);//带种子数的,但每次产生的随机数序列都是一样的,是伪随机数
4.编译器能准确识别负号和减号
int a=2;
int b=9+-a;
int c=2*-a;
int d=9+-2;
System.out.println(b+" "+c+" "+d);//7 -4 7
5.前缀递增(先加),会先运算再赋值,后缀递增(后加),会先赋值再运算。
在一条语句只有一个操作的时候,直观上没有区别
for(int i=0; i<100; i++)
for(int i=0; i<100; ++i)//没有什么区别
但如果一条语句有两个操作就会出现区别,如果先要马上加1的话还是++i 比较稳一点
int z=0;
int m=0;
for(int i=0; i<100; i++) {
z=z++;//永远是0
m=++m;//1-100
System.out.println(z+" "+m);
}
int n=0;
System.out.println(" "+ n++);// 0
System.out.println(" "+ n);// 1
System.out.println(" "+ ++n);// 2
System.out.println(" "+ n);// 2
6.大多数java类库都实现了equals()方法,以便来比较对象的内容。
详细的==与equals的区别见我另一篇博客
7.短路,多个&& 一起的时候如果前面的有false则后面的不会执行,同理多个|| 一起的时候如果前面的有true则后面的不会执行,并返回true
8. java允许我们把任何基本数据类型转换成别的基本数据类型,除了布尔型外,布尔型不允许进行任何类型的转换处理。
9. 进行窄化处理时,默认是截尾的,如浮点型转为整型值29.7就会变为29。如果想要舍入的结果就需要用java.lang.Math的round()方法。java.lang不需要额外导入。
10. java没有sizeof ,因为所有的数据类型在所有机器中的大小都是相同的。