java基础小知识
1.java中byte,short,char的区别,转化关系,运算关系。
byte ->short ->int->long->float->double
char -> int -> long->float->double
为什么byte/short不能和char转化?
在实际的java程序下byte取值为[-128,127]。而char的取值并不能为负值,而且char的最大值为65535。两个没有超集的关系,所以不能相互转化,char和short一样。
byte,short,char的运算,会自动转化为int进行计算。
2.两个对象用==进行判断,是在判断是不是同一个对象
Clock a = new Clock(1);
Clock a2 = new Clock(1);
(a == a2) //为false
3.三元运算符是一个整体
指的是在使用三元运算符时,其中数据的类型会自动更新为最大的数据类型。
(判断条件) ? int : double //则返回的为double
double v = true ? ( 2) : ( 2.2); //结果为2.0
Object obj1 = true?new Integer(1):new Double(2.0); //sout打印为1.0