运算符

运算符

/**
 * 运算符
 */
public class Demo03 {
    public static void main(String[] args) {
        //当存在long类型进行运算时,结果为long类型,不存在时,结果为int类型
        //小数之间运算结果为double类型
        long l = 2132545635435345L;
        int i = 12;
        short s = 34;
        byte b1 = -2;
        System.out.println(l+i+s+b1);//结果为long
        System.out.println(i+s+b1);//结果为int
        System.out.println(s+b1);//结果为int
        System.out.println("========================");

        //位运算
        int a = 3;
        int b = a++;//i++先赋值,再运算
        System.out.println(a);
        int c = ++a;//++i先运算,再赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println("========================");

        //幂运算 2*2*2
        double pow = Math.pow(2,3);
        System.out.println(pow);
        System.out.println("========================");

        //短路运算 左边为假,右边直接不运算
        int i2 = 5;
        boolean b2 = (i2<4) && (i2++<4);
        System.out.println(b2);
        System.out.println(i2);
        System.out.println("========================");

        /**
         * 位运算
         * A 0000 0101
         * B 0001 1001
         * ------------------------------------------
         * 与 A&B 0000 0001 都为1才为1,否则为0
         * 或 A|B 0001 1101 只要有一个为1就为1,其他都为0
         * 异或 A^B 0001 1100 相同为0,不相同为1
         * 非 ~B 1110 0110  取反
         */
        /**
         * 经典面试题 2*8怎么算最快 位运算最快 效率高,直接和计算机底层打交道
         * 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);
    }
}
上一篇:怎样编写求均及格人数EXCEL函数公式


下一篇:VS Code怎样设置成中文