学习提示:本节给出了Java语言中的所有操作符以及它们的用法和描述,还给出了它们的优先级,以供随时查阅。
Java语言中的操作符及操作符的优先级
算术操作符
Operator
|
Use
|
Description
|
+
|
op1
+ op2
|
返回op1和op2的和
|
-
|
op1
- op2
|
返回op1和op2的差
|
*
|
op1
* op2
|
返回op1和op2的积
|
/
|
op1
/ op2
|
返回op1除以op2的商
|
%
|
op1
% op2
|
返回op1除以 op2的余数
|
关系操作符
Operator
|
Use
|
Description
|
>
|
op1
> op2
|
当op1 大于op2 时返回true
|
>=
|
op1
>= op2
|
当op1 大于或等于op2 时返回true
|
<
|
op1
< op2
|
当op1 小于op2 时返回true
|
<=
|
op1
<= op2
|
当op1 小于或等于op2 时返回true
|
==
|
op1
== op2
|
当op1 等于大于op2 时返回true
|
!=
|
op1
!= op2
|
当op1 不等于op2 时返回true
|
条件操作符
Operator
|
Use
|
Description
|
&&
|
op1
&& op2
|
当op1和op2都是true时,返回true ;如果op1的值是false,则不运算右边的操作数
|
||
|
op1
|| op2
|
当op1和op2有一个是true时,返回true;如果op1的值是true,则不运算右边的操作数
|
!
|
!
op
|
当op是false时,返回true;当op是true时,返回false
|
&
|
op1
& op2
|
运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作
|
|
|
op1
| op2
|
运算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作
|
^
|
op1
^ op2
|
运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作
|
移动操作符
Operator
|
Use
|
Operation
|
>>
|
op1
>> op2
|
将op1的位向右移动,距离由op2决定;左边的位填上最高位(符号位)
|
<<
|
op1
<< op2
|
将op1的位向左移动,距离由op2决定;右边的位填上0
|
>>>
|
op1
>>> op2
|
将op1的位向右移动,距离由op2决定;左边的位填上0
|
位操作符
Operator
|
Use
|
Operation
|
&
|
op1
& op2
|
运算op1和op2;如果op1和op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位与操作
|
|
|
op1
| op2
|
算op1和op2;如果op1和op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位或操作
|
^
|
op1
^ op2
|
运算op1和op2;如果op1和op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1和op2都是数字,那么执行位异或操作
|
~
|
~op2
|
位补,即反转op2的每一位,如果位是1,结果是0,如果位是0,结果是1
|
位与
op1
|
op2
|
Result
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
位或
op1
|
op2
|
Result
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
位异或
op1
|
op2
|
Result
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
赋值操作符
Operator
|
Use
|
Equivalent
to
|
+=
|
op1
+= op2
|
op1
= op1 + op2
|
-=
|
op1
-= op2
|
op1
= op1 - op2
|
*=
|
op1
*= op2
|
op1
= op1 * op2
|
/=
|
op1
/= op2
|
op1
= op1 / op2
|
%=
|
op1
%= op2
|
op1
= op1 % op2
|
&=
|
op1
&= op2
|
op1
= op1 & op2
|
|=
|
op1
|= op2
|
op1
= op1 | op2
|
^=
|
op1
^= op2
|
op1
= op1 ^ op2
|
<<=
|
op1
<<= op2
|
op1
= op1 << op2
|
>>=
|
op1
>>= op2
|
op1
= op1 >> op2
|
>>>=
|
op1
>>>= op2
|
op1
= op1 >>> op2
|
其他操作符
Operator
|
Description
|
?:
|
简写的的if-else语句,唯一的三元操作符
|
[]
|
用于声明数组、创建数组和访问数组元素
|
.
|
用于组成限定名
|
(
params )
|
标出一个以逗号分隔的参数列表的范围
|
(
type )
|
将一个值转换为指定的类型
|
new
|
创建一个对象或数组
|
instanceof
|
判断它的第一个操作数据数是否是它的第二个操作数的实例
|
操作符优先级
postfix
perators
|
[]
. (params) expr++
expr--
|
unary
operators
|
++expr --expr +expr -expr ~ !
|
creation
or cast
|
new
(type)expr
|
multiplicative
|
*
/ %
|
additive
|
+
-
|
shift
|
<<
>> >>>
|
relational
|
<
> <= >= instanceof
|
equality
|
==
!=
|
bitwise
AND
|
&
|
bitwise
exclusive OR
|
^
|
bitwise
inclusive OR
|
|
|
logical
AND
|
&&
|
logical
OR
|
||
|
conditional
|
?
:
|
assignment
|
=
+= -= *= /= %= &= ^= |= <<= >>= >>>=
|
注:上面的操作数优先级从上到下依次降低,同一个单元格内的优先级相同
操作
|
优先级
|
结合性
|
后缀运算符
|
[ ] . ( ) (函数呼叫)
|
从左到右
|
单目运算符
|
! ~ ++ -- +(单操作数) –(单操作数)
|
从右到左
|
创建
|
new
|
从左到右
|
乘除
|
* / %
|
从左到右
|
加减
|
+ -
|
从左到右
|
移位
|
<< >> >>>
|
从左到右
|
关系
|
< <= > >= instanceof
|
从左到右
|
相等
|
== !=
|
从左到右
|
按位与
|
&
|
从左到右
|
按位异或
|
^
|
从左到右
|
按位或
|
|
|
从左到右
|
逻辑与
|
&&
|
从左到右
|
逻辑或
|
||
|
从左到右
|
条件
|
? :
|
从右到左
|
赋值
|
= += -= *= /= %= ^= <<= >>=
>>>=
|
从右到左
|
分享到:
相关推荐
Java语言中的操作符是编程语法的重要组成部分,它们用于执行各种计算和逻辑判断。理解操作符的用法和优先级对于编写高效、准确的代码至关重要。本文将详细解析Java中的主要操作符及其应用。 首先,我们来看算术操作...
本文将详细介绍Java中的操作符优先级和结合性规则。 首先,操作符的优先级是指在没有括号的情况下,哪些操作会先进行。具有较高优先级的操作符会先于低优先级的操作符进行计算。以下是一个完整的Java操作符优先级...
在Java中,操作符是用于执行各种算术和逻辑操作的符号。Java支持多种类型的操作符,包括算术操作符(如+、-、*、/)、比较操作符(如==、!=、>、<)、逻辑操作符(如&&、||、!)和赋值操作符(如=)。此外,Java还...
Java操作符是编程语言中用于执行特定操作的符号,它们在Java编程中起着至关重要的作用,帮助我们构建复杂的逻辑和算法。这份“Java操作符总结-动力节点共20页.pdf”很可能是对Java中各种操作符的一个全面概述,包括...
- **类与对象**:Java是一种面向对象的语言,计算机会通过定义类(如`Calculator`)来封装数据和操作。 - **输入/输出流**:可能使用`Scanner`类从用户获取输入,处理表达式。 - **异常处理**:Java中的异常处理...
5. 表达式执行结果:表达式的执行结果取决于操作符的优先级和结合性。 6. 条件语句:JAVA语言中的条件语句包括if语句和switch语句。 三、其他知识点 1. javadoc命令:javadoc命令可以提取java源文件中的文档注释,...
操作符的结合性(左结合、右结合)与Java相同,但操作符的优先级官方文档并未给出,目前来看和Java并不完全相同。 四、结论 Kotlin基础教程之操作符与操作符重载是Kotlin语言中的一种重要机制,用于扩展语言的能力...
5分是让绝大多数人能以最高的性价比下载到此文档 ...534 标准操作符的绑定和优先级 54 使用标准解析器添加操作符 541 编辑标准的解析器语法 55 其他操作符集 六、函数 61 三角函数 62 对数和指数函数 后续超长未列出
- 长度超过80个字符的语句应分为多行,通常在低优先级操作符处断行,操作符放在新行的开头,并适当缩进。 3. **单行与多行语句**: - 每行只能包含一个语句,避免将多个简短语句写在一行中,以增加可读性。 - ...
遇到操作符时,我们比较其与栈顶操作符的优先级,如果当前操作符优先级更高,我们就将栈顶的操作符弹出并进行相应的运算,然后再将当前操作符压入栈中。这个过程称为“短路”或“运算符优先级处理”。 具体实现步骤...
Java语言的运算符可以操作常量与变量,Java语言的运算符对编程表达形式有各自特别的要求。在运算时可以利用运算符以及优先级的计算次来决定编程的先后顺序。 Java语言在计算机软件开发中的具体应用包括桌面程序的...
* 较长的语句、表达式或参数〔>80字符〕要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 * 不允许把多个短语句写在一行中,即一...
3. **访问控制符**:Java中的访问控制符有`public`、`private`、`protected`,`static`不是访问控制符,而是修饰类、成员变量或方法的静态属性。 4. **静态方法**:`static`关键字用于声明静态方法,可以直接通过...
在计算机科学领域,表达式转换是一项基础且重要的任务,特别是在编译...在学习和理解这个源码的过程中,可以深入掌握栈数据结构的运用、操作符优先级的处理,以及递归下降解析等概念,这些都是编程语言处理的基础知识。
Java操作符及其优先级是编程过程中非常重要的概念,理解这些知识点可以帮助我们写出更高效、更准确的代码。本文将深入探讨Java中各种操作符的工作原理和优先级规则。 1. **赋值运算符**: Java中的赋值运算符`=`...
- **1.3 规则**:长语句需拆分为多行,低优先级操作符后换行,并保持适当缩进。例如,复杂的条件判断和方法声明。 - **1.4 规则**:每行只写一条语句,避免短语句合并。 - **1.5 规则**:控制语句(如if、for等)需...
从给定的文件信息中,我们可以提炼出以下关于Java语言程序设计的知识点: 1. Java程序的基本概念和结构 - Java程序由源代码文件组成,文件通常以.java作为扩展名。 - 编译Java源代码后,会生成.class扩展名的字节...
逆波兰表示法(Reverse Polish Notation,RPN)是一种数学表达式表示方法,它通过消除括号和操作符优先级来简化表达式求值的过程。在这个场景中,我们需要使用Java和C++编程语言来实现一个能够处理带有括号和小数点...
手册解释了Java语言中所有可用的操作符,包括算术、位移、比较、逻辑、赋值操作符等,并描述了它们的优先级和结合性。 **原始类型和操作** 包括整型和浮点类型、格式、值和相关操作的讨论。 **布尔类型和值** ...