喵笙

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

自增,自减运算符

package operator;
//++ -- 自增,自减  两种用法相同
public class Demo02 {
    public static void main(String[] args) {
        int a = 10;
//++a相当于先执行a=a+1再输出c
        int c = ++a;
//a++相当于先输出b再执行a=a+1
        int b = a++;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        //幂运算 2^3 2*2*2  借用一些数学工具进行运算
        double pow = Math.pow(2, 3);
        System.out.println(pow);

    }
}

逻辑运算符,位运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //与()或()非()
        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 i = 8;
        boolean d = (i>9)&&(i++<9);//i>9,
        System.out.println(i);//是错的,后面就不会进行,输过为8
        System.out.println(d);//false
        /*
        A = 0011 1100
        B = 0000 1101

        A&B = 0000 1100  两个都为1取1,其他情况取0
        A|B = 0011 1101  两个都为0取0,其他情况取1
        A^B = 0011 0011  两个相同取0,不同取1
        ~B = 1111 0010   取相反数
        2*8=16  如何快速计算?
        <<      向左移动一位     >>   向右移动一位
        0000 0010   2
        0000 0100   4
        0000 1000   8
        0001 0000   16
         */
        System.out.println(2<<3);

    }
}

三元运算符

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //扩展赋值运算符

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

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

        //三元运算符?:
        //x?y:z
        //如果x==true,则为y,否则为z
        int score = 80;

        String type = score <60?"不及格":"及格";

        System.out.println(type);
    }
}
posted on 2021-02-22 17:24  喵笙  阅读(56)  评论(0)    收藏  举报