您的位置:首页 > 编程语言 > Java开发

//& && 、| || 的区别

2017-11-04 16:22 267 查看
package day;

//& && 、| || 的区别

public class Test_04 {

/*总结:|和|| 、&和&&的区别:

& (长路与):无论左边是true 还是 false; 右边都运算

&& 当左边为false时,右边不运算

| (长路或):两边都参与运算

|| 当左边为true 右边不运算

注意:& && | || 最少也是由两个表达式组成的 ;而 !非 一个表达式即可

例如System.out.println(!('a'=='a'));//非真就是假 非假就是真

* */

public static void main(String[] args) {

//&长路与:无论第一个表达式的值是true或者false都会执行右边

int i =2;

System.out.println(i==1 & i++ ==2);// 1 & 2

// false & true = false

System.out.println(i);//执行右边;i++ = (2+1)3

System.out.println(i++ ==2);// 2 & 2 这里是做判断不运算

// true & true = true

System.out.println(i);//这里是运算后的结果,执行右边;(i++ ==2)i=i+2——i=2+2——i=4

//&&短路与:只要第一个表达式的值为false,第二个表达式的值不在进行运行算

int j =2;

System.out.println(j==1 && j++ ==2);

//flase && true =false

System.out.println(j);//2 左边为false,右边表达式值不需在运算

System.out.println(j==2 && j++ ==2);//j++只做替换成数字,不运算

// true && true =tuse

System.out.println(j);//3 左边为真,右边也要执行

//| 长路或:两边都参与运算

int a =1;

System.out.println(a==1 | a++ ==2);

// true false | =true;

System.out.println(a);//2 左边为真,右边都要执行,结果输出右边的

int z =1;

System.out.println(z==2 | z++ ==1);

// false true | =true;

System.out.println(z);//2 左边为假,右边都要执行,结果输出右边的

//|| 短路或:当左边为true 右边不运算

int b =1;

System.out.println(b==1 || b++ ==2);

// true || false = true

System.out.println(b);//1 左边为真,右边不需执行,结果输出左边的

int m =1;

System.out.println(m==2 || m++ ==1);

// false || true = true

System.out.println(m); //2 左边为假,右边依旧需执行

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java