当前位置:   article > 正文

自增自减运算符、初识Math类、逻辑运算符、位运算符、扩展赋值运算符、三元运算符 2021-11-15_a*++a

a*++a

Day12

自增自减运算符

int b = a++; //先给b赋值,再自增
int c = ++a; //先自增,再给b赋值


package operater;

public class Demo04 {
    public static void main(String[] args) {
        //++   --   自增,自减  一元运算符  只有一个未知数
        int a = 3;
        int b = a++;
        int c = ++a;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

初识Math类

        //幂运算2^3  2*2*2 =8 很多运算,我们会使用一些工具类来操作
        double pow = Math.pow(2, 3);
        System.out.println(pow);
  • 1
  • 2
  • 3

在这里插入图片描述

逻辑运算符

短路运算:对于与运算如果前面一个变量是假,那后面的变量就不会进行判断是真是假

package operater;
public class Demo05 {
    public static void main(String[] args) {
        //与(and)   或(or)     非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+(a&&b));
        //逻辑与运算:两个变量都为真,结果才为ture
        System.out.println("a || b:"+(a||b));
        //逻辑或运算:两个变量有一个为真,则结果才为ture
        System.out.println("!(a && b):"+!(a&&b));
        //如果是真,则为假,如果为假,则变为真

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

位运算符

package operater;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        --------------------------------------------------------
        A&B 对应位置的数进行比较,如果这两个数都为1,结果才为1,否则就是0
        A&B = 0000 1100
        A|B 如果对应位置的数都是0,结果就是0,否则就直接为1
        A|B = 0011 1101
        A^B 如果这两个位置的数都相同就为0,否则就位1
        A^B = 0011 0001  
        ~B  和B完全相反
        ~B  = 1111 0010
         */
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
         面试题:
         2*8  怎么算最快
         效率极高的方法
         <<    *2
         >>    /2

         0000 0000        0
         0000 0001        1
         0000 0010        2
         0000 0011        3
         0000 0100        4

         0000 1000        8

         0001 0000        16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
System.out.println(2<<3);
  • 1

输出
在这里插入图片描述

扩展赋值运算符

package operater;

public class Demo07 {
    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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
package operater;
public class Demo07 {
    public static void main(String[] args) {
        //面试题
        //字符串连接符   +  ,String
        System.out.println(""+a+b);
        //如果字符串在前面,那么就凭借,如果字符串在后面,前面就会依旧进行运算
        System.out.println(a+b+"");
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

三元运算符

package operater;

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);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/914516
推荐阅读
相关标签
  

闽ICP备14008679号