运算符的易错点
1.“++”:自增
public class lianxi {
public static void main(String[] args) {
int num = 5;//设置变量num
int a = num++;//先赋值,再自增(先把num的值赋给变量a=num=5,num=num+1=5+1=6)
System.out.println(num);//num=6
int b = ++num;//先自增,再赋值(先运算num=num+1=6+1=7,再把num的值赋给b,b=num=7)
System.out.println(a);
System.out.println(b);
}
}
2.“~”:取反
public class lianxi {
public static void main(String[] args) {
int num = ~10;//设置变量num
/* 10的二进制:00001010
先对其取反码:11110101
反码-1:11110100
再取反码:00001011
00001011的十进制值为11,取负:-11*/
System.out.println(num);
}
}
3.移位运算符 “<<”,“>>”:左移,右移
public class lianxi {
public static void main(String[] args) {
int a = 213>>6;
/* 213的二进制:11010101
右移6位:00000011,值为3*/
int b = 42<<2;
/* 42的二进制:00101010
左移2位:10101000,值为168*/
System.out.println(a);
System.out.println(b);
}
}