欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的六种常用运算符

程序员文章站 2023-12-25 23:56:21
...

Java中的常用六种运算符

六种运算符:算术运算符、关系运算符、逻辑运算符、赋值运算符、字符串连接、三目/条件运算符。

(1)算术运算符

包含+、-、*、/、%、++、--。

和数学计算差不多。不同之处如下:

<1>除法:当两个整数相除时,结果有小数,则会无条件舍去,只保留整数。

<2>%表示取余数。余数为0,则表示可以被整除。

<3>++和--的用法

 这里以++为例子,--同理即可。有两种情况:

  • 单独使用情况

Java中的六种常用运算符Java中的六种常用运算符

所谓单独使用,指的是一个语句里面,只有a++或者++a。不能出现其他的代码。

上面的代码单独使用,++在前、在后一个效果

  • 被使用情况

被使用情况下,++在前,例如:++a相当于a=a+1。

Java中的六种常用运算符

上面代码,b=++a相当于a=a+1,然后b=a。所以b的最终结果为a自加1后的值,即:b=11。

被使用情况下,++在后,例如:a++相当于a。

Java中的六种常用运算符

上面代码,b=a++相当于b=a,然后a=a+1。所以b的最终结果为a的值,即:b=10。

所谓被使用就是除了++a或者a++之外,含有其他语句,例如:上面代码++a之后含有赋值语句。

 

(2)关系运算符

包含>、<、>=、<=、==、!=。

关系运算的结果都是boolean类型,即:true或者false。关系成立,则为true,关系不成立,则为false。

 

(3)逻辑运算符

包含&&(与)、||(或)、!(非)。

与(&&)运算:全为true,整个表达式结果则为true。

或(||)运算:有一个为true,则整个表达式结果为true。

非(!)运算:非真则假。

逻辑运算符一般要和关系运算符一起使用。所以逻辑运算的结果也为boolean值。

逻辑运算两个特殊之处:

  • 逻辑与短路(&&)现象

     逻辑与短路指的是当多个关系表达式通过与(&&)运算时,第一个关系表达式如果为false,那么后面的关系表达式的代码就不会执行。

     举例说明,代码如下:

Java中的六种常用运算符Java中的六种常用运算符

以上代码分析:

       由于a=5,b=6,所以第一个关系a>b为false,出现与短路现象,所以++a<c和b-->c两个表达式不会被执行,所以最终结果flag=false,而a和b的值不会增加减少。

       换句话说,如果没有出现与短路,那么代码执行结束后,a应该加1,b应该减1。

  • 逻辑或短路(||)现象

     逻辑或短路指的是当多个关系表达式通过或(||)运算时,第一个关系表达式如果为true,那么后面的关系表达式的代码就不会执行。

     代码和与短路类似。

Java中的六种常用运算符Java中的六种常用运算符

分析和与短路类似。

 

(4)赋值运算符

包含=、+=、-=、*=、/=、%=。

赋值可以分为两类:

  • 简单赋值运算符:=
  • 扩展赋值运算符:+=、-=、*=、/=、%=

扩展赋值运算符具有数据类型强制转换的功能

Java中的六种常用运算符

上面代码都是给s进行赋值操作,但是第二种方式却编译错误。

分析:因为short类型在参与运算时,一律先转换为int类型,然后再进行计算。s+=10相当于s=s+10,但是由于扩张赋值运算符具有强制转换功能,所以s+=10等价于s=(short)(s+10),结果编译正确。相反的,简单赋值不具有该功能,所以s=s+10计算时,先转换为int类型,s+10结果为int类型,而s为short类型,所以数据类型不匹配,编译错误。

 

(5)字符串连接运算符

包含+,就一个加号表示。

连接运算符也有两种情况:

  • 若两边是数值,则直接做加法运算。
  • 若有一边是字符串,则进行字符串连接。

常见面试题:    

// 下面输出结果分别为多少
System.out.println(10+20+30+"");
System.out.println(10+20+""+30);
System.out.println(""+10+20+30);

第一个结果为字符串"60"。

第二个结果为字符串"3030"。

第三个结果为字符串"102030"。

 

(6)三目/条件运算符

格式:表达式 ? 值1:值2

当表达式的值为true时,整个表达式的值取值1。

当表达式的值为false时,整个表达式的值取值2。

三目运算符可以替换简单的if...else结构。

 

 

 

上一篇:

下一篇: