java基础运算符

package com.dz.operator;

public class Demo05 {
    public static void main(String[] args) {

        //与(and)   或(or)    非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:" +(a&&b));  //逻辑与运算,两个变量都为真,结果才为真;
        System.out.println("a || b:" +(a||b));   //逻辑与运算,两个变量有一个为真,则结果为真;
        System.out.println("!(a && b:)" +!(a && b));     //如果是真,则变为假,如果假,则变为真。

        //短路运算
        int c = 5;
        boolean d = (c<4 && c++<4);     //c<4已经是false的了,所以不会执行c++语句,所以c还是等于5

        System.out.println("c:"+c);
        System.out.println("d:"+d);

    }
}
package com.dz.operator;

public class Demo06 {
    public static void main(String[] args) {

        /*
        A = 0011  1100
        B = 0000  1101
        --------------------------------
        A&B = 0000  1100         与运算,都为1才为1,否则为0
        A|B = 0011  1101         或运算,有1就为1,都是0才为0
        A^B = 0011  0001         相同为0,不相同为1
        ~B = 1111   0010         非运算



         */
        /*
        面试题  怎么运算 2*8 最快?

        2*18 = 16    2*2*2*2*

        位运算符:效率极高!!!
        <<    向左移相当于 *2
        >>    向右移相当于 /2

        0000  0000   0
        0000  0001   1
        0000  0010   2
        0000  0011   3
        0000  0100   4
        0000  1000   8
        0001  0000   16

         */
        System.out.println(2 << 3);

    }
}
package com.dz.operator;

public class Demo07 {
    public static void main(String[] args) {

        int a = 10;
        int b = 20;

        a+=b;   //a = a+b    30,20
        a-=b;   //a = a-b    10,20
        System.out.println(a);
        System.out.println(b);

        //字符串连接符  + , String
        System.out.println(a+b);
        System.out.println( a +";" +b );
        System.out.println("a="+a+";"+"b="+b);

        System.out.println(""+a+b);     //字符串在前面,后面的会拼接
        System.out.println(a+b+"");     //字符串在后面,前面的依旧进行运算

    }
}
package com.dz.operator;

//三元运算符
public class Demo08 {
    public static void main(String[] args) {

        //条件运算符  ? :
        // x ?  y : z
        //如果x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score < 60 ?"不及格" : "及格"; //必须掌握
        System.out.println(type);

    }
}

 

posted @ 2022-02-07 15:19  dz橘子  阅读(57)  评论(0)    收藏  举报