Java的运算符细解!

开课吧开课吧锤锤2021-07-21 14:00

对于所有语言而言,运算符大多数都类似,Java作为一门强类型语言,运算符号在计算上相比,会有点差别。  

Java的运算符细解

1)算数运算符  

  +:加、代表整数、字符串拼接
    -:减、代表负数
    *:乘
    /:除
    %:取余
    ++:自增(在原值的基础上加一)
      前++ 先增加后操作 int i=0; int result=++i; i为1 result为1
      后++ 先操作后增加 int i=0; int result=i++; i为1 result为0
    --:自减(在原值的基础上减一)
      前-- 先相减后操作 int i=1; int result=--i; i为0 result为0
      后-- 先操作后相减 int i=1; int result=i--; i为0 result为1

2)赋值运算符  

  = , +=, -=, *=, /=, %=
    =:赋值
    +=:加等于 a+=b 等于 a=a+b
    -=:减等于
    *=:乘等于
    /=:除等于
    %=:模等于
    思考如何在两个变量的情况下交换变量如 int a =10; int b=5;   交换后 a=5,b=10

对于这些运算符号,我们唯一需要主要的就是运算的时候,计算结果如果有确定类型的变量去相加,会因为相加结果默认转为int或者double而导致错误。  

 //这里的数字是没有定义类型声明,所以在运算完毕后,会自动转为byte类型赋值给num1
    byte num1 = 10 + 2;
    //这里因为num1声明过变量,在运算的时候,因为默认数字为int类型,再根据小转大的自动转换法则,所以结果类型为int,这里会出错误
    byte num2 = num1 +10; //Type mismatch: cannot convert from int to byte

赋值符号:  

  int num = 5;‍
    num += num += 10;
    System.out.println(num);//20

赋值符号需要在语句执行完毕以后,才能进行赋值给num,而且num+=10等价于num=num+10;  

所以理论上,这段代码可以理解为num=num+num+10;所以这里的结果是20。  

然后因为这个特性,我们在做思考题的时候:  

如何在两个变量的情况下交换变量如inta=10;intb=5;交换后a=5,b=10,答案是:  

  a = a + b - (b = a);

这里的话,利用赋值符号的特性,这里先让b=a来进行赋值,但是赋值会在运算完毕后才有效。  

这个时候,他们可以理解为a=a+b-(a)而b赋值这个步骤,只有在运算完之后才奏效,所以通过这种方式,来完成只有两个变量,做到交换值。  

以上就是开课吧广场小编为大家整理发布的“Java的运算符细解!”一文,更多Java教程相关内容尽在开课吧Java教程频道。  

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享