Day03_java基础 运算符

运算符

java语言支持如下运算符:

  • 算术运算符:+,-,*,l, %,++,
  • 赋值运算符=
  • 关系运算符:>,<,>=,<=,==,!= instanceof
  • 逻辑运算符: &&,|,!
  • 位运算符:&,|,^, ~,>>,<<,>>>(了解!! ! )
  • 条件运算符?∶
  • 扩展赋值运算符:+=,-=,*=,/=

算术运算符

package opertaor;

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 );//强制类型转换   0.5
    }
}

//运行结果

30
-10
200
0.5

Process finished with exit code 0
package opertaor;

public class Demo04 {
    public static void main(String[] args) {
        //自增自减
        //++  --        自增,自减   一元运算符
        int a =3;
        int b =a++;     //执行完这行代码后,先给b赋值,再自增
        //a++ a=a+1
        System.out.println(a);//4
        int c=++a;  //执行完这行代码前,先自增,再给b赋值
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5
        //幂运算2^3    2*2*2=8   很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(3, 2);
        System.out.println(pow);
    }
}

//运行结果

4
5
3
5
9.0

Process finished with exit code 0

赋值运算符

package opertaor;

public class Demo02 {
    public static void main(String[] args) {
        long a=12312321341432L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a+b+c+d); //Long
        System.out.println(b+c+d);   //Int
        System.out.println(c+d);    //Int
    }
}

//运行结果

12312321341573
141
18

Process finished with exit code 0

关系运算符

package opertaor;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误  布尔值
        int a=10;
        int b=20;
        int c=22;
        //取余,模运算
        System.out.println(c%a);       //c/a        22/10=2.......1
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

//运行结果

2
false
true
false
true

Process finished with exit code 0
package opertaor;

//逻辑运算
public class Demo05 {
    public static void main(String[] args) {
        //与(and)    或(or)   非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a&&b:"+(b&&a));     //逻辑与运算:两个变量都为真,结果才为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);
    }
}

//运行结果

a&&b:false
a||b:true
!(a&&b):true

Process finished with exit code 0

位运算符

package opertaor;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        ------------------------------
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010

        2*8 = 16   2*2*2*2
        效率极高
        << 左移   *2
        >> 右移   /2
        0000 0000   0
        0000 0001   1
        0000 0010   2
        0000 0100   4
        0000 1000   8
        0001 0000   16

         */
        System.out.println(2<<3);
    }

}

//运行结果

16

Process finished with exit code 0

条件运算符

package opertaor;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        a+=b;   //a=a+b
        System.out.println(a);
        a-=b;   //a=a-b
        System.out.println(a);
        //字符串拼接     +  , String
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}

//运行结果

30
10
1020
30

Process finished with exit code 0

三元运算符

package opertaor;
//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x?  y : z
        //如果x==true,则结果为y,否则结果为z
        int score = 50;
        String type = score < 60?"不及格":"及格";
        //if
        System.out.println(type);
    }
}
不及格

Process finished with exit code 0
原文地址:https://www.cnblogs.com/lemonlover/p/13984481.html