3.java之逻辑元算符

时间:2021-01-31 16:10:28
/*
作者:Prince
版本:V1.0
时间:2016年4月19日 13:51:51
功能:逻辑运算符:&&,||,^,&,|,!
*/
class OperateDemo2
{
    public static void main(String[] args)
    {
        int x = 10;
        boolean b;
        //b = (x<9)&(x>1);
        //b = (x<9)|(x>1);
        //b = (x>9) && (x<9);
        //b = (x>9) || (x<1);
        //b = true ^ false;
        //b = true ^ true;
        //b = false ^ true;
        //b = false ^ false;
        //System.out.println(!b);
        int m = 10,n = 20;
        System. out.println("交换前:m="+m+",n="+n);
        /*交换两个数的值*/
        //1.通过第三方变量
        /*
        int temp;
        temp = m;
        m = n;
        n = temp;
        System.out.println("交换后:m="+m+",n="+n);
        */
        //2.不用第三方变量
        /*11 = 3 + 8;
        3 = 11 - 8;
        8 = 11 - 3;*/
        //int sum;
        /*n = m + n;//如果n和m的值非常大,容易超出int范围。
        m = n - m;
        n = n - m;
        System.out.println("交换后:m="+m+",n="+n);
        */
        //3.异或运算
        n = n ^ m;
        m = n ^ m;
        n = n ^ m;//n ^ (n ^ m);等价于(m^n)^n;
        
    }
}
/*
总结:
1.&&与&
&&:如果左边为假,右边不会运算。
&:无论左边是真是假,右边都要参与运算。
2.||与|
||:如果左边为真,右边不参与运算。
|:不论左边是真是假,右边又要参与运算。
3.^  (异或运算)
两边的逻辑值一致时,为假。
两边的逻辑值不一致时,为真。
4.逻辑运算符用于连接boolean类型的表达式。
5.C语言中的逻辑值类型为bool
Java中中的逻辑值类型是boolean
6.交换两个数的值
1)第三方变量作介质
2)和与差的巧妙运算
3)异或运算符
疑问:
*/