JAVA语法基础之运算符

简介:

运算符是一种特殊符号,用以表示数据的运算、赋值和比较。运算符共分为算术运算符、赋值运算符、比较运算符、逻辑运算符、移位运算符。

一、算术运算符

算术运算符的功能是做各种算术运算,其操作数可以是字符型、整型或浮点型数据。Java中的算术运算符又可以分为两种:单目运算符和双目运算符。单目运算符的操作数只有一个,只对唯一的操作数进行处理。双目运算符操作数有两个,运算过程中由两个操作数参与完成。算术运算符见下表:

运算符 运算 范例 结果 类型
+ 正号 +3 3 单目运算符
- 负号 b=4;-b; -4 单目运算符
+ 5 + 5 10 双目运算符
- 6 - 4 2 双目运算符
* 2 * 2 4 双目运算符
/ 5 / 5 1 双目运算符
% 取模 5 % 3 2 双目运算符
++ 自增(前) a = 2; b = ++a; a = 3; b = 3 单目运算符
++ 自增(后) a = 2; b = a++; a = 3; b = 2 单目运算符
-- 自减(前) a = 2; b = --a; a = 1; b = 1 单目运算符
-- 自减(后) a = 2; b = a--; a = 1; b = 2 单目运算符
+ 字符串相加 "Hel" + "lo" "Hello" 双目运算符

注意:自增与自减位置的区别。

二、赋值运算符

赋值运算符的作用就是将一个值赋值给另一个变量,最常用的赋值运算符是“=”,赋值运算符的左边必须是一个变量,而不是一个值。赋值运算符见下表:

运算符 运算 范例 结果
= 赋值 a = 3; b = 2; a = 3; b = 2;
+= 加等于 a = 3; b = 2; a += b; a = 5; b = 2;
-= 减等于 a = 3; b = 2; a -= b; a = 1; b = 2;
*= 乘等于 a = 3; b = 2; a *= b; a = 6; b = 2;
/= 除等于 a = 3; b = 2; a /= b; a = 1; b = 2;
%= 摸等于 a = 3; b = 2; a %= b; a = 1; b = 2;

三、关系运算符

关系运算符用来比较两个值的关系,是双目运算符,运算结果为boolean类型。关系运算符见下表:

运算符 运算 范例 结果
== 相等于 4 == 3 false
!= 不等于 4 != 3 true
< 小于 4 < 3 false
> 大于 4 > 3 true
<= 小于等于 4 <= 3 false
>= 大于等于 4 >= 3 true
instanceof 检查是否为类的对象 "a" instanceof String true

四、逻辑运算符

逻辑运算符用于对boolean类型结果的表达式进行运算,运算结果都是boolean型的。

运算符 运算 范例 结果
& false & true false
| false | true true
^ 异或 true ^ false true
! ! true false
&& false && true false
|| false || true true

注意:&与&&的区别在于,如果使用前者连接,那么无论何种情况,&两边的表达式都会参与运算。如果使用后者连接,当&&左边为false时,右边将不参与运算。同理|和||。

五、位运算符

数据在计算机内部是以二进制存储编码的,Java允许对这些二进制进行位运算。位运算符见下表:

位运算符 运算 范例 功能描述
& x & y 按位进行与运算
| x | y 按位进行或运算
^ 异或 x ^ y 按位进行异或运算
! !x 按位进行非运算
>> 右移 x >> y 将x的二进制编码右移y位,前面的位由符号填充
<< 左移 x << y 将x的二进制编码左移y位,低位补0
>>> 无符号右移 x >>> y 将x的二进制编码右移y位,前面的位由0填充

六、其他运算符

  • 三目运算符:一般形式为:<逻辑表达式1> ? <表达式2> : <表达式3>

  • ():用于强制类型转换、方法调用。

  • []:声明、创建数组及访问数据中的特定元素。

  • new:创建对象、数组。

  • .:访问类成员变量,对象成员变量。

七、运算符优先级

运算符 优先级
() []
++ -- ~ !  
* / %  
+ -  
>> >>> <<  
> >= < <=  
== !=  
&  
^  
|  
&&  
||  
?:  
= += -= *= /= &= |= ^= <<= >>= >>>=


目录
相关文章
|
4月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
64 1
|
4月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
50 2
|
2月前
|
存储 Java
java中的常见运算符的计算方式
本文介绍了计算机中二进制数的原码、反码和补码的概念及其转换方式。原码是符号位加真值的绝对值;反码中正数不变,负数其余位取反;补码在反码基础上加1。文章还详细解释了Java中的常见运算符(如按位与、或、异或、移位等)如何基于二进制进行计算,并探讨了使用补码的原因,包括统一符号位处理和扩展表示范围。通过具体代码示例帮助理解这些概念。
java中的常见运算符的计算方式
|
2月前
|
Java
java do while 的语法怎么用?
java do while 的语法怎么用?
58 3
|
4月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
85 7
|
4月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
214 3
|
4月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
77 1
|
4月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
43 1
|
4月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
57 2
|
4月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
42 0