4.5.Java基础语法之运算符

Java语言支持如下运算符:

  • 算术运算符:+ , - , * , / , % , ++ , –
public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;
        int e = 3;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
        System.out.println(a%e);//取余,模运算
    }

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

        long a = 123123123123123L;
        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
        /*运算规则:先将运算级统一为该运算中最高级的数据类型后再运算
        无long类型时,输出默认为int
        低-------------------------------------------------------->高
        byte,short,char->int->long->float->double
         */

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

        //++,--   自增,自减    一元运算符

        int a = 3;

        int b = a++;   //执行完这行代码后,先给b赋值,再自增
        //a++   a = a+1;

        System.out.println(a);

        //++a   a = a+1;
        int c = ++a; //执行完这行代码前,先自增,再给c赋值

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

        //幂运算  2^3=8

        double pow = Math.pow(2,3);

        System.out.println(pow);


    }
}
  • 赋值运算符:=
  • 关系运算符:> , < , >= , <= , == , != instanceof
public class Demo03 {
    public static void main(String[] args) {

        //关系运算符返回的结果:正确,错误   布尔值

        int a = 10;
        int b = 20;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a>=b);
        System.out.println(a<=b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}
  • 逻辑运算符:&& , || , !
public class Demo05 {
    public static void main(String[] args) {

        //与或非

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

        //短路运算

        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);//c++并未执行

    }
}
  • 位运算符(了解):&,| , ^ , ~ , >> , << , >>>
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  =  1100 1110    相同为1,不同为0
        ~B   =  1111 0010    取反

         */
        /*
        2*8怎么运算最快  2*2*2*2=16
        << 左移,相当于 *2
        >> 右移,相当于 /2

        0000 0001  1
        0000 0010  2
        0000 1000  8
        0001 0000  16

         */

        System.out.println(2<<3);
    }
}
  • 条件运算符:” ? !“
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);

    }
}
  • 扩展赋值运算符:+=,-=,*=,/=
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);

        //字符串连接符
        System.out.println(a+b);
        System.out.println(""+a+b);//会连接a,b
        System.out.println(a+b+"");//会先计算a+b


    }
}
  • Java运算符优先级列表
优先级运算符简介结合性
1[ ].( )方法调用,属性获取从左向右
2!、~、 ++、 –一元运算符从右向左
3* 、/ 、%乘、除、取模(余数)从左向右
4+ 、 -加减法从左向右
5<<、 >>、 >>>左位移、右位移、无符号右移从左向右
6< 、<= 、>、 >=、 instanceof小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型从左向右
7== 、!=2个值是否相等,2个值是否不等于。 下面有详细的解释从左向右
8&按位与从左向右
9^按位异或从左向右
10|按位或从左向右
11&&短路与从左向右
12||短路或从左向右
13?:条件运算符从右向左
14=、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>=混合赋值运算符从右向左
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值