Java的算术运算
常见运算符
特别注意
1)前++:先自增1,后运算
2)后++:先运算,后自增1
3)自增1不会改变本身变量的数据类型
short s1 = 10;
//s1=s1+2;编译失败
s1 += 2; //这个编译成功,且s1任然是short类型
比较运算符
使用比较运算得到的值都是Boolean类型
逻辑运算符
特别注意
逻辑与和短路与的区别
//逻辑与
int i=3,j=4;
if(i>4&(j--)>=3);
System.out.println(j);//会输出3
//短路与
int i=3,j=4;
if(i>4&(j--)>=3);
System.out.println(j);//会输出4
//也就是虽然短路与和逻辑与的整个条件得到的结果相同,但是短路与的时候,如果与运算符前面已经是fasle,
//运算符后面的语句就不会执行了。同理逻辑或与短路或的区别是:短路或的运算符之前的已经是真,
//后面就不会执行。
移位运算符
注意
1)位运算符操作的都是整形的数据
2)
<<:在一定范围内,每向左移1位,相当于 *2
>>:在一定范围内,每向右移1位,相当于 /2
运算符的优先级
特别加菜
对于如何交换两个整数的小技巧
1)正常交换
int num1=12,num2=23;
int temp=num1;
num1=num2;
num2=temp;
2)利用加减法(适合小整数)
int num1=12,num2=23;
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
3)利用位运算符
int num1=12,num2=23;
num1=num1^num2;
num2=num1^num2;
num1=num1^num2;