1.普通类型转换
public class HelloWorld {
public static void main(String []args) {
short s=10;
s=s+1;
System.out.println("s");
}
}
结果出错;原因是byte,short,int类型在计算时会自动转换为int类型!
可改为int s=s+1;或者s=(short)(s+1);再或者s+=1;
2.&和&&的区别
public class Test10{
public static void main (String[] args) {
boolean a = true ;
boolean a = true ;
int c=(!a)&b;
//&:在逻辑运算时分别计算表达式两边的结果,再作&运算,在做位运算时&表示按位与
//&&短路与运算,先计算左边的表达式,如果结果是false,那么不用计算右边表达式,直接返回false
//如果左边的表达式结果是true,再计算右边的表达式,如果右边的表达式为true,结果为true,否则为false
//|和||的原理同上。
//所以短路与或短路或的计算效率更高,建议使用。
3.位运算符
面试题:以最快的速度计算8*4结果
public class Test11 {
public class Test11 {
//面试题:以最快的速度计算8*4结果
//int result = 8 *4;这种并不是最快的!
//0000 1000 8
//0010 0000 32
System. out.println(8<<2) ;//最快计算速度
//8*8
//8<<3
//技巧:左移算法:位移数作为2的次幂与操作数相乘
//40>>2=10 相除得最快,同上!
//右移算法:操作数除以位移数的2次幂
}
}