Java运算

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println((double)a/b);
    }
}
package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++    --  自增,自减   一元运算符
        int a = 3;

        int b = a++;    //执行完这行代码后,先给b赋值,再自增
        //a = a + 1;
        System.out.println(a);
        int c = ++a;    //执行完这行代码前,先自增,再给c赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 3^2 = 9,Math数学运算类
        double pow = Math.pow(3, 2);
        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: "+(a&&b)); //逻辑与运算:两个变量为真,结果为true
        System.out.println("a || b: "+(a||b)); //逻辑或运算,两个变量有一个为真,结果为true
        System.out.println("!(a && b): "+!(a&&b)); //逻辑非运算,如果是真则为假,如果是假则为真

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

public class Demo06 {
    public static void main(String[] args) {

    /*
    A = 0011 1100
    B = 0000 1101

    位运算
    A&B =   0000 1100   A与B上下两数相比较两位都是1,结果才为1
    A|B =   0011 1101   A或B上下两数相比较任意一边是1,结果为1
    A^B =   0011 0001   亦或如果上下两数相同则为0,否则为1
    ~B  =   1111 0010   取反B

    2*8 = 16    2*2*2*2
    <<  左移  每移一位*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);//16
        System.out.println(2<<5);//64
        System.out.println(3<<3);//24
        System.out.println(5<<3);//40
    }
}
package operator;

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

        //字符串连接符    +   String
        System.out.println(""+a+b);//1020   String类型在前,类型转为String类型
        System.out.println(a+b+"");//30     int类型在前先运算,后转换为String类型
    }
}
package operator;

//三元运算符
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);
   }
}
原文地址:https://www.cnblogs.com/Notesdata/p/14055376.html