运算

运算符

QQ截图20220304180454

算术运算符

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //ctrl + d  复制当前行到下一行
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);


    }
}

关系运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符运算的结果 只会是布尔值  要么真 true  要么假 false
        //%  取余符号  模运算
        int a = 10;
        int b = 20;
        int c = 21;
        System.out.println(a<b);
        System.out.println(a>b);
        System.out.println(a==b);
        System.out.println(a!=b);
        System.out.println(c%a);
    }
}

自增自减

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++自增  --自减 一元运算符
        int a = 3;
        int b = a++;//先给b赋值后a才自增
        System.out.println(a);
        //a++ =  (a=a+1)   a++表示a自加1  在下一句命令才会改变a的值
        //++a =  (a=a+1)
        int c = ++a;//a先自增后再给c赋值
        //++a =  (a+1=a)   ++a也表示a自加1  在当前命令就已经改变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 Demo05 {
    public static void main(String[] args) {
        //与and    或or    非取反
        boolean a = true;
        boolean b = false;

        System.out.println(a&&b);//有假(false)即为假
        System.out.println(a||b);//有真(true)即为真
        System.out.println(!(a&&b));
        System.out.println("=====================================");
        System.out.println("a&&b:"+(a&&b));
        System.out.println("a||b:"+(a||b));
        System.out.println("!(a&&b):"+!(a&&b));
        System.out.println("======================================");

        //短路运算
        int i = 5;
        int i1 = 5;
        boolean d = (i<4)&&(i++<10);//与运算时前面如果出现假(false)则后面的运算不执行
        boolean f = (i1<4)&&(++i1<10);
        System.out.println(d);
        System.out.println(f);
        System.out.println(i);
        System.out.println(i1);

    }
}

位运算

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101

        A&B 0000 1100
        A|B 0011 1101
        ~A  1100 0011
        ~B  1111 0010
        A^B 0011 0001  异或运算  相同为0  相异为1

         位运算
         效率极高!!!
         效率极高!!!
         <<  左移运算  *2
         >>  右移运算  /2
         面试题  如何高效率运算2*8
         使用位运算
         */
        System.out.println(2<<3);//2左移运算3 相当于 0000 0010中的1左移三位  即为0001 0000 等于16
    }
}

posted @ 2022-03-04 21:25  奈洁  阅读(156)  评论(0)    收藏  举报