java 运算符

自增自减运算符

  • ++和-- 无论是放在变量的前边还是后边,单独写一行结果是一样的

public class day4_02 {
    public static void main(String[] args) {
        int x = 10;

        //后++:先用后加
        //先把x变量中的值拿出来用,赋值给y,然后再进行自增。
        //赋值给y的值是自增前的。
        int y = x++; // x=11  y=10

        //先++:先加后用
        //先把x进行自增,然后把自增后的结果赋值给左边的变量
        //先把x自增,变成12,然后再把自增之后的12赋值给z
        int z = ++x;
        System.out.println("x:"+ x); //12
        System.out.println("y:" +y); //10
        System.out.println("z:" + z); //12
    }
}


赋值运算符

public class day4_03 {
    public static void main(String[] args) {
        //+=
        //规则:将左边和右边进行相加,然后再把结果赋值给左边
        int a =10;
        int b=20;
        
        //把a+b,再把结果赋值给左边的变量a
        a += b;
        //等同于 a = (int)(a + b);
        System.out.println(a); //30
        System.out.println(b); //20
        
        
        //细节:
        //+=,-=,*=,/=,%= 底层都隐藏了一个强制类型转换I
        short s = 1;
        //把左边和右边进行相加,得到结果2,再赋值给左边的变量
        s+= 1;
        //等同于:s=(short)(s+1);
        System.out.println(s); //2
    }
}


关系运算符

  • 注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”。


逻辑运算符

  • 在数学中,一个数据x,大于5,小于15,我们可以这样来进行表示:5< x <15。

  • 在java中,需要把上面的式子先进行拆解,再进行合并表达。

  • 拆解为:x > 5 和 x < 15
    合并后:x > 5 & x < 15

public class day4_04 {
    public static void main(String[] args) {
        //1.& 并且
        //两边都为真,结果才是真
        System.out.println(true & true);//true
        System.out.println(false & false);//false
        System.out.println(true & false);//false
        System.out.println(false & true);//false

        //2.|或者
        //两边都为假,结果才是假
        System.out.println(true | true);//true
        System.out.println(false |false);//false
        System.out.println(true |false);//true
        System.out.println(false | true);//true

        //^异或
        //相同为false,不同为true
        //了解一下即可
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false
        System.out.println(true ^ false);//true
        System.out.println(false ^ true);//true

        //! 逻辑非 取反
        //提示:
        //取反的感叹号不要写多次,要么不写,要么只写一次
        System.out.println(!false);//true
        System.out.println(!true);//false
    }
}


短路逻辑运算符

  • & |,无论左边true false,右边都要执行。

  • && ||,如果左边能确定整个表达式的结果,右边不执行。

  • &&:左边为false,右边不管是真是假,整个表达式的结果一定是false。

  • ||:左边为true,右边不管是真是假,整个表达式的结果一定是true。

  • 这两种情况下,右边不执行,提高了效率。
    最常用的逻辑运算符:&&||!

public class day4_05 {
    public static void main(String[] args) {
        //1. &&
        //运行结果跟单个&是一样的
        //表示两边都为真,结果才是真
        System.out.println(true && true);//true
        System.out.println(false && false);//false
        System.out.println(false && true);//false
        System.out.println(true && false);//false

        //2. ||
        //运行结果跟单个|是一样的
        //表示两边都为假,结果才是假
        System.out.println(true || true);//true
        System.out.println(false || false);//false
        System.out.println(false || true);//true
        System.out.println(true || false);//true

        //3.短路逻辑运算符具有短路效果
        //简单理解:当左边的表达式能确定最终的结果,那么右边就不会参与运行了
        int a = 10;
        int b = 10;
        boolean result = ++a < 5 && ++b < 5;
        System.out.println(result);//false
        System.out.println(a);//11
        System.out.println(b);//10
    }
}


三元运算符

  • 格式: 关系表达式 ? 表达式1 : 表达式2

计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果


运算符优先级


其他运算符

posted @ 2023-10-21 22:54  _Elaina  阅读(16)  评论(0)    收藏  举报