Java语法基础(二. 常用的5种类型运算符)

语法基础(二. 常用的5种类型运算符)

(如有错误,欢迎指正,感谢!)

运算符

  • 通过运算符操作变量,进行计算。
  • 常用的5种类型运算符: 算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。



算数运算符

算数运算符 名称 举例
+ 加法 1+2
- 减法 2-1
* 乘法 1*2
/ 除法 10/3=3
% 求余 10%3=1
++ 自增 int a=10; a++
自减 a–;

注意:

  • “/”,当除法左右两边都是整型时,结果也为整型(结果取整,不含小数)
    若有一个为浮点型,结果则为浮点型(结果包含小数)

特殊情况:

当 10/0,会发生异常:  / by zero
当10/0.0,不发生异常,但结果为:Infinity

当 10%0,会发生异常:  / by zero
当10%0.0,不发生异常,但结果为:NaN

原因:(可能并不适合在语法基础篇中解释,在此粗略讲解)

  • 浮点数在计算机中遵循IEEE 754标准
    该标准中规定了Infinity与NaN出现的情况

详情可见: 百度百科–IEE 754





赋值运算符

赋值运算符 名称 举例
= 赋值 c=a+b;将a+b得到的值赋给c
+= 加等于 c += a; 相当于c = c + a
-= 减等于 c -= a; 相当于c = c - a
*= 乘等于 c *= a; 相当于c = c * a
/= 除等于 c /= a; 相当于c = c / a
%= 模等于 c %= a; 相当于c = c % a




关系运算符

关系运算符 名称 举例 结果
> 大于 3>2 true
< 小于 3<2 false
== 等于 3==3 true
>= 大于等于 4>=2 true
<= 小于等于 4<=2 false
!= 不等于 4!=2 true
  • 比较结果是一个布尔值(true或false)
  • == 、 != 两边的操作数既可以是数值类型,也可以是引用类型





逻辑运算符

逻辑运算符 名称 作用 举例 结果
&& 左右两边的布尔表达式都为真,结果才为真 true&&false false
II 两边布尔表达式只要有一个为真,结果为真 true&&false true
! 布尔表达式为真,结果为假
布尔表达式为假,结果为假
!(true) false
^(用作逻辑运算符时) 异或 两边布尔表达式都为真,结果为假
只有一边的表达式为真,结果为真
true^true false
  • 运算符两边应该是boolean或者关系表达式

  • 在复合逻辑运算中,一旦左边可以判断出结果为真或假,右边代码不会再执行

例如:( 1 > 2 ) && ( 1 < 3 ) ,左边已经判断出假,右边不再执行与判断(短路现象





位运算符

位运算符 名称 作用 举例 结果
& 按位与 两个位都为1,结果才为1 2&4 0
I 按位或 两个位有一个为1,结果为1 2I4 6
~ 按位求反 位为0,结果为1
位为0,结果为1
~2 -3
^(用作位运算符时) 按位异或 两个位都为0,结果为1 2^4 6

(在此粗略解释)

  • 有符号整型数在计算机以补码形式存在
    所以位运算符是针对整型数补码操作的。

  • 补码是原码变为反码再加1来的





连接符

连接符 举例 作用
+(作为连接符) System.out.println(“12”+34+“ef”);
String string= “A”+2+0.1;
// string = 120.1
让任何类型的数据与字符串使用连接符连接起来,其结果都是字符串类型的数据

参考资料:
https://www.cnblogs.com/xiaozhongfeixiang/p/11502971.html
( 注:部分资料参考网络,如有侵权请联系。)

你可能感兴趣的:(Java语法基础(二. 常用的5种类型运算符))