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

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

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

初识Math类

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

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

逻辑运算符

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

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

    }
}

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

位运算符

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
         */
    }
}
         面试题:
         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
System.out.println(2<<3);

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

扩展赋值运算符

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

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

三元运算符

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

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

上一篇:C语言 -- 再谈操作符


下一篇:CDX8000集团电话简单设置