运算符(五)

运算符

import java.lang.Math;


public class Demo5 {
    public static void main(String[] args) {
        // + - * / % 基础的运算符不谈
        // ++ --
        int a = 1;
        int b = a++; //a赋值给b后自增1
        System.out.println(a); //2
        int c = ++a; //a在赋值给c前自增1,故c=a+1
        System.out.println(a); //3
        System.out.println(b); //1
        System.out.println(c); //3
        // -- 与 ++ 相同

        //逻辑运算符 && || !
        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b1&&b2);
        System.out.println(b1||b2);
        System.out.println(!(b1&&b2));

        //三元运算符,等价于if语句
        int flag = b1==b2 ? 100 : 200; //如果b1==b1,flag=100,否则flag=200
        System.out.println(flag);

        float socre = 70f;
        String result = socre>=60 ? "及格" : "不及格";
        System.out.println(result);

        //逻辑运算符短路情况
        int num = 10;
        boolean flag2 = (b1==b2)&&(num++>0);
        System.out.println(num); //在b1==b2为false后,&&的结果必然为false,num++操作被跳过

        //初识Math类
        System.out.println(Math.pow(2, 3)); //2^3

        //位运算符
        //x = 0000 0110
        //y = 0011 1101
        //-------------------
        //x&y = 0000 0100 --> 同时为1才为1
        //x|y = 0011 1111 --> 又一个为1就是1
        //x^y = 0011 1111 --> 相同为0,不相同为1
        //~x = 1111 1001 --> 取反,0变为1,1变为0

        //2*8 怎么运算最快?2*2*2*2
        //<< >> 左移 右移 *2 /2
        System.out.println(2<<3);
    }
}
posted @ 2021-02-07 12:44  LucaZ  阅读(31)  评论(0编辑  收藏  举报