三元运算符:
格式:
关系表达式 ? 表达式1 : 表达式2 ;
例如: a > b ? a : b ;
执行流程:1.先判断关系表达式是否正确
2. 如果是正确的话,那么表达式1的值就是运算结果
3.如果是错误的话,那么表达式2的值就是运算结果
我们来看上面的例子:先判断a>b?如果a>b的话,那么输出a,如果a<=b的话,那么输出b的值
下面我们来看代码:
public class First { public static void main(String [] args) { int a=1; int b=2; System.out.println( a>b?a:b); //因为a>b是错误的,所以控制台会输出b的值 } }
下面是运行结果:

为了方便大家的理解,我们举的这个例子非常非常的简单。
逻辑运算符
逻辑运算符:用来连接关系表达式的运算符。
逻辑运算符分为四种:与 & , 或 | , 非 !,异或 ^
下面说的1和0相当于true和false
与& (AND):都为1时结果才为1,其他的都是0;
或|(OR):都为0时结果才为0,其他为1;
非!(NOT):0变1,1变0;
与非(NAND):先按与进行操作,然后结果取反,也就是都为1时结果为0,其他的都是1;
或非(NOR):先按或进行操作,然后结果取反,也就是都为0时结果为1,其他的都是0;
异或(XOR):不同为1,相同为0(比如:1,1就取0。 1, 0 就取1 );
同或(XNOR):相同为1,不同为0(比如:1, 1就取1。 1, 0 就取0);
以上这些红体字知识学习计算机考试会考到,会以真值表表格的形式给出

就类似于这种,这个就是一个逻辑与的真值表。
在我们写代码的的时候,主要会用到与&,或|,非!,异或^,短路与&&,短路或||。
注意:!=是不等于的意思。
逻辑与 & :无论左边是真是假,右边都会执行。
public class First { public static void main(String [] args) { int a=1; int b=2; if( a+b==3 & a!=b ) //无论左边为真或者为假,右边都会执行 //无论a+b==3是否正确的,a!=b都会执行 //因为逻辑与需要用两个值来确定最终的值例如0和1最后得0(0为错的,1为正确的) //如果为1,则执行下面的语句块,如果为0,执行else的语句块 { System.out.println("True"); } else { System.out.println("False"); } } }
短路与 &&:如果左边为真,右边继续执行,如果左边为假,右边就不会执行。
两边都为真时结果才会是TEUE,只要有一边为假,结果就是FALSE。
public class First { public static void main(String [] args) { int a=1; int b=2; if( a+b!=3 & a!=b ) //因为左边为假了,所以右边的a!=b直接不用执行了 //直接执行else的语句块 { System.out.println("True"); } else { System.out.println("False"); } } }
短路或 || :如果左边为假,右边执行,如果左边为真,右边就不会执行。
因为只有两边都为假的时候才会执行FALSE的指令,其他的都执行TRUE的指令。
public class First { public static void main(String [] args) { int a=1; int b=2; if( a+b!=3 || a!=b ) //左边是FALSE右边是TRUE //先执行左边,左边为FALSE 那么就可以继续执行右边了 //但是右边为TRUE 所以会执行TRUE的语句块,所以控制台输出为TRUE { System.out.println("True"); } else { System.out.println("False"); } } }
逻辑或 | :无论左边是真是假,右边都执行。
public class First { public static void main(String [] args) { int a=1; int b=2; if( a+b!=3 | a!=b ) //左边是FALSE右边是TRUE //只有都为FALSE时,才会执行FALSE,所以汇执行TRUE的语句块。 { System.out.println("True"); } else { System.out.println("False"); } } }
以上就是本篇所有内容了,谢谢观看。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175870.html原文链接:https://javaforall.net
