Java运算符和优先级

一、运算符

1)算数运算符:+,-,*,/,%,++,--

2)逻辑运算符:&&,&,||,|,!,^

3)赋值运算符:=

4)关系运算符:>,<,>=,<=,==,!=,

5)位运算符:&,|,^,~,<<,>>,>>>

6)条件运算符 ? :

7)扩展赋值运算符:+=,-=,*=,/=,%=

二、运算符介绍

1、算法运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //通过加法运算符,对变量a和变量b进行相加
        System.out.println(a+b);//所得结果为 30
    }

}

2)-:减法运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //通过减法运算符,对变量a和变量b进行相减
        System.out.println(a-b);//所得结果为 -10
    }

}

3)*:乘法运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //通过乘法运算符,对变量a和变量b进行相乘
        System.out.println(a*b);//所得结果为 200
    }

}

4)/:除法运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        double b=2;
        //通过除法运算符,对变量a和变量b进行相除
        //如果两个变量为整数类型,所得结果为整数,如果其中一个变量为浮点数,
        //所得结果为浮点数,除数不可为0,否则会引发异常。
        System.out.println(a/b);//所得结果为5.0  都是整数类型所得结果为5
    }
}

5)%:求余运算符

public class Hello {
    public static void main(String[] args) {
        int a=101;
        int b=20;
        int age=a%b;
        //通过求余运算符,对变量a和变量b进行相除余
        System.out.println(age);//所得结果为1
    }
}

6)++:自加运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=++a+1;//先增加在执行
        System.out.println(b);//结果为12
        
        int d=10;
        System.out.println(d);//结果为10
        int c=d++ +1;//先执行在增加
        System.out.println(c);//结果为11
    }
}

7)--:自减运算符

public class Hello {
    public static void main(String[] args) {
        int a=10;
        int b=--a-1;//先自减在执行
        System.out.println(b);//结果为8

        int d=10;
        System.out.println(d);//结果为10
        int c=d-- -1;//先执行在自减
        System.out.println(c);//结果为9
    }
}

2、逻辑运算符

短路运算:两个操作数进行操作的时候,int a=3(a=(a<2)&&a++<2)如果前面的如果错,后面的就不执行了

&&:与,操作的两个操作数都为true,则返回true,否则返回false

&:与&&所得结果相同,不短路

||:或,操作的两个操作数,其中一个为true,则返回true,负责为false

|:与||所得结果相同,不短路

!:非,如果所的为true,则返回false,如果为false,则返回为true。取反

^:两个操作数不同为true,相同则为flase

3、赋值运算符

public class Hello {
    public static void main(String[] args) {
        //=:赋值运算符
        int a=10;//通过=,吧10赋值给a
    }
}

4、关系运算符

public class Hello {
    public static void main(String[] args) {
        //关系运算符:>(大于),<(小于),>=(大于等于),<=(小于等于),
        //==(等于),!=(不等于)
        int a=10;
        int b=15;
        System.out.println(a!=b);//返回为true,a不等于b
    }
}

5、位运算符

先吧数据转换为二进制

&,|,^当俩边是数据就做位运算,俩边是布尔值就做逻辑运算    

%:按“与”,两个操作数进行比较,相同返回1,不相同返回0

|:按“或”,两个操作数进行比较,其中一个相同就返回1

^:按“非”,两个操作数进行比较,取相反的数

~:按“异或”,两个操作数相同返回0,不相同返回1

<<:左移运算符

>>:右移运算符

>>>:无符号右运算符


  

6、条件运算符

public class Hello {
    public static void main(String[] args) {
        //条件运算符 ? :
        //进行表达式比较,按照条件,输出满足条件的双引号内的内容
        String str = 9 < 4 ? "9大于4" : "9不大于4";
        System.out.println(str); //输出9不大于4
    }
}

7、扩展赋值运算符

public class Hello {
    public static void main(String[] args) {
        //扩展赋值运算符:+=,-=,*=,/=,%=
        int a=10;
        int b=20;
        //a+=b:等于a=a+b
        //a+=b;
        
        //a-=b:等于a=a-b
        //a-=b;
        
        //a*=b:等于a=a*b
        //a*=b;
        
        //a/=b:等于a=/+b
        //a/=b;
        
        //a%=b:等于a=a%b
        //a%=b;
        a%=b;
        System.out.println(a);
    }
}

三、运算符优先级

Java表达式中存在多个运算符,运算符之间也存在优先级关系,下面这个图中,1号内是优先级最高,14号是优先级最低的。运算符用顿号隔开。

优先级运算符结合性
1()、[]、.从左到右
2        !、+(正)、-(负)、~、++、--从右到左
3*、/从左到右
4+(加)、-(减)从左到右
5<<、>>、>>>从左到右
6<、<=、>、>=从左到右
7==、!=从左到右
8&从左到右
9^从左到右
10|从左到右
11&&从左到右
12||从左到右
13?:从右到左
14=、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>=从右到左

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李景阔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值