其他分享
首页 > 其他分享> > 运算符的优先级 算数运算符 赋值运算符

运算符的优先级 算数运算符 赋值运算符

作者:互联网

运算符的优先级

优先级描述运算符
1括号(  )            [  ]
2正负号+              -
3自增     自减     非++       --       !
4乘      除     取余*        /       %
5加       减+               -
6移位运算<<      >>      >>>
7大小关系>      >=      <      <=
8相等关系==           !=
9按位与&
10按位异或^
11按位或|
12逻辑与&&
13逻辑或||
14条件运算? :
15赋值运算=    +=    -=    *=    /=    %
16位赋值运算&=    |=    <<=    >>=    >>>=

算数运算符

算数运算符包括:运算规则范例结果
+正号、加+3、2+33、5
+连接字符串“中“+“国”+2020中国2020
-负号、减-3、2-3-3、-1
*2*36
/5/22
%取模5%21
++自增++1,2++2,3
--自减--3,5--2,4


1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

2.除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。

3.“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。

4.整数做被除数,0不能做除数,否则报错。

a++ 与 ++a 的区别:

        在独立运算时,二者并无区别;但是在混合运算时:

                a++是使变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再+1。换句话说就是: a 先进行赋值,再计算 。输出结果: a 的结果是2,b的结果是1。

public static void main(String[] args) {
    int a = 1;
    int b = a++;
    System.out.println(a);//计算结果是2
    System.out.println(b);//计算结果是1
}

 

  

                 ++a 是使变量 a 自己+1 , 再将计算完的结果赋值给变量 b ,换句话说就是: a 先计算 , 再赋值 。 输出结果 : a 和 b 的值都是2。

public static void main(String[] args) {
    int a = 1;
    int b = ++a;
    System.out.println(a);//计算结果是2
    System.out.println(b);//计算结果是2
}

 

赋值运算符 : 将符号右边的值 , 赋值给左边的变量

运算符运算规则范例结果
=赋值int a = 22
+=加后赋值int a=2,a+=24
-=减后赋值int a=2,a-=20
*=乘后赋值int a=2,a*=24
/=整除后赋值int a=2,a/=21
%=取模后赋值int a=2,a%=20

注意 : += 是一个运算符 , 只运算一次 , 并带有强制转换的特点

public static void main(String[] args){
  short s = 1;
  s+=1;
  System.out.println(s);
}

分析: s += 1 逻辑上看作是s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将取值范围大的类型赋值到取值范围小的类型。但是,s=s+1进行两次运算+= 是一个运算符,只运算一次,并带有强制转换的特点,也就是说s += 1 就是s = (short)(s + 1),因此程序没有问题编译通过,运行结果是2.

标签:优先级,运算,int,运算符,++,算数,out,赋值
来源: https://blog.csdn.net/weixin_43761066/article/details/123035889