Day08-Java的基本运算符

Java的基本运算符

Java语言支持的运算符

注意:优先运算用(),更加的清楚直接

  • 算数运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:?,:
  • 扩展赋值运算符:+=,-=,*=,/=
package base;

//Java的自增自减以及幂函数的拓展
public class Demo08 {
    public static void main(String[] args) {
        int a = 3;
        int b = a++;    //a++ 先赋值,再自增;自增在执行代码后
        System.out.println(a);
        System.out.println(b);
        int c = ++a;    //++a 先自增,再赋值;自增在执行代码前
        System.out.println("===========");
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //拓展:幂运算 Math.pow
        double pow = Math.pow(3, 3);
        double num = Math.pow(4, 4);
        System.out.println("===========");
        System.out.println(pow);
        System.out.println(num);


    }
}

package base;

//逻辑运算符
public class Demo09 {
    public static void main(String[] args) {
        //逻辑运算的与或非
        /*
        逻辑与运算:&& (and) 两个变量都为真,结果才为真
        逻辑或运算:|| (or)  两个变量有一个为真,结果就为真
        逻辑非运算:!        如果是真,则变为假;如果是假,则变为真;
         */

        boolean a = true;
        boolean b = false;
        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 c = 5;
        boolean d = (c<4)&&(c++>1);
        System.out.println(d);
        System.out.println(c);
        /*
            在逻辑与运算中,当第一个条件为false的时候,则不会运算第二个条件
            在上面例子中,c=5<4是false,所以第二个条件c的自增大于1没有执行,输出c=5;
            若 boolean d = (c++>5)&&(c<4);,虽然输出d也是false,但输出c=6,c的自增被执行;
         */

    }
}

package base;

//位运算
public class Demo10 {
    public static void main(String[] args) {
        /*
        A = 0010 1011
        B = 0100 1101

        A&B = 0000 1001(A与B两个同位都为1,才为1)
        A|B = 0110 1111(A或B两个同位有一个1,就是1)
        A^B = 0110 0110(AB同位相同为0,否则为1)
        ~A  = 1101 0100(同位完全相反)
        ~B  = 1011 0010(同位完全相反)
         */
        
        System.out.println(3<<5);//3*2*2*2*2*2 任何数往左移几位就乘几个2
        System.out.println(96>>5);//96/2/2/2/2/2 任何数往右移几位就除几个2
    }
}

package base;

//三元(条件)运算符
public class Demo12 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x为真,则结果为y,否则结果为z

        int money = 100;

        String type01 = money>50 ? "buy" : "out";
        System.out.println(type01);

        String type02 = money>500?"buy":"out";
        System.out.println(type02);

    }
}

你可能感兴趣的:(Java学习,java)