class c {
public static void main(String[] args) {
//赋值运算符以及拓展运算符 += -= *= %=
int a = 3;
//3 = a; //把右边的常量值赋值给左边的变量,左边必须是变量。不能给常量赋值
a += 4; // 将左右两边相加的结果赋值给左边 即a = a + 4;
System.out.println(a);
// 逻辑运算符
/*
& 逻辑与,有false则false
| 逻辑或 有true则true
^ 逻辑异或 相同为false 不同为true
! 逻辑非 非false则true 非true则false 偶数个不改变本身 非非仍为真
*/
//&&和&区别
/*
1. 执行的结果相同
2. &&具有短路效果,左边为false的时候右边不予执行
*/
//int x = 3;
//int y = 4;
//System.out.println((++ x == 3) & (++ == 4 ));
//System.out.println("x = " + x);
//System.out.println("y = " + y); //&左边为false的时候仍会执行右边判断其是否为false
int x = 3;
int y = 4;
System.out.println((++ x ==3) && (++ y ==4));
System.out.println("x = " + x);
System.out.println("y = " + y); //&&在左侧执行为false后右侧的判断不会再进行,即++x=3为false以后,不会再执行++y,所有所输出的y仍为4
//||和|的区别
/*
1.最终的结果是一样的
2. ||具有短路效果,在左边为true的时候不执行右侧
*/
int m = 3;
int n = 4;
System.out.println((++ m == 4) || (++ n == 4));
System.out.println("m = " + m);
System.out.println("n = " + n); //||在左侧执行为true后右侧的判断不会再进行,即++m=4为true以后,不会再执行++n
}
}
网友评论