`
gudujianxuehu
  • 浏览: 97095 次
  • 来自: ...
社区版块
存档分类
最新评论

Java语言中的操作符及操作符的优先级

阅读更多

 

 

学习提示:本节给出了Java语言中的所有操作符以及它们的用法和描述,还给出了它们的优先级,以供随时查阅。

 

Java语言中的操作符及操作符的优先级

 

 

算术操作符

Operator

Use

Description

+

op1 + op2

返回op1op2的和

-

op1 - op2

返回op1op2的差

*

op1 * op2

返回op1op2的积

/

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

op1op2都是true时,返回true ;如果op1的值是false,则不运算右边的操作数

||

op1 || op2

op1op2有一个是true时,返回true;如果op1的值是true,则不运算右边的操作数

!

! op

opfalse时,返回true;当optrue时,返回false

&

op1 & op2

运算op1op2;如果op1op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1op2都是数字,那么执行位与操作

|

op1 | op2

运算op1op2;如果op1op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1op2都是数字,那么执行位或操作

^

op1 ^ op2

运算op1op2;如果op1op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1op2都是数字,那么执行位异或操作

 

 

移动操作符

Operator

Use

Operation

>>

op1 >> op2

op1的位向右移动,距离由op2决定;左边的位填上最高位(符号位)

<<

op1 << op2

op1的位向左移动,距离由op2决定;右边的位填上0

>>>

op1 >>> op2

op1的位向右移动,距离由op2决定;左边的位填上0

 

位操作符

Operator

Use

Operation

&

op1 & op2

运算op1op2;如果op1op2都是布尔值,而且都等于true,那么返回true,否则返回false;如果op1op2都是数字,那么执行位与操作

|

op1 | op2

op1op2;如果op1op2都是布尔值,而且有一个等于true,那么返回true,否则返回false;如果op1op2都是数字,那么执行位或操作

^

op1 ^ op2

运算op1op2;如果op1op2不同,即如果有一个是true,另一个不是,那么返回true,否则返回false;如果op1op2都是数字,那么执行位异或操作

~

~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语言中的操作符及操作符的优先级[借鉴].pdf

    Java语言中的操作符是编程语法的重要组成部分,它们用于执行各种计算和逻辑判断。理解操作符的用法和优先级对于编写高效、准确的代码至关重要。本文将详细解析Java中的主要操作符及其应用。 首先,我们来看算术操作...

    Java操作符的优先级和结合性

    本文将详细介绍Java中的操作符优先级和结合性规则。 首先,操作符的优先级是指在没有括号的情况下,哪些操作会先进行。具有较高优先级的操作符会先于低优先级的操作符进行计算。以下是一个完整的Java操作符优先级...

    Java基础知识之数据类型和操作符

    在Java中,操作符是用于执行各种算术和逻辑操作的符号。Java支持多种类型的操作符,包括算术操作符(如+、-、*、/)、比较操作符(如==、!=、&gt;、&lt;)、逻辑操作符(如&&、||、!)和赋值操作符(如=)。此外,Java还...

    Java操作符总结-动力节点共20页.pdf.zip

    Java操作符是编程语言中用于执行特定操作的符号,它们在Java编程中起着至关重要的作用,帮助我们构建复杂的逻辑和算法。这份“Java操作符总结-动力节点共20页.pdf”很可能是对Java中各种操作符的一个全面概述,包括...

    用JAVA写的带优先级的计算器源程序

    - **类与对象**:Java是一种面向对象的语言,计算机会通过定义类(如`Calculator`)来封装数据和操作。 - **输入/输出流**:可能使用`Scanner`类从用户获取输入,处理表达式。 - **异常处理**:Java中的异常处理...

    JAVA语言基础练习题.pdf

    5. 表达式执行结果:表达式的执行结果取决于操作符的优先级和结合性。 6. 条件语句:JAVA语言中的条件语句包括if语句和switch语句。 三、其他知识点 1. javadoc命令:javadoc命令可以提取java源文件中的文档注释,...

    Jep3.5 数学公式计算 jar包及中文操作手册文档

    5分是让绝大多数人能以最高的性价比下载到此文档 ...534 标准操作符的绑定和优先级 54 使用标准解析器添加操作符 541 编辑标准的解析器语法 55 其他操作符集 六、函数 61 三角函数 62 对数和指数函数 后续超长未列出

    Kotlin基础教程之操作符与操作符重载

    操作符的结合性(左结合、右结合)与Java相同,但操作符的优先级官方文档并未给出,目前来看和Java并不完全相同。 四、结论 Kotlin基础教程之操作符与操作符重载是Kotlin语言中的一种重要机制,用于扩展语言的能力...

    java语言编程规范.pdf

    - 长度超过80个字符的语句应分为多行,通常在低优先级操作符处断行,操作符放在新行的开头,并适当缩进。 3. **单行与多行语句**: - 每行只能包含一个语句,避免将多个简短语句写在一行中,以增加可读性。 - ...

    堆栈实现的java计算器

    遇到操作符时,我们比较其与栈顶操作符的优先级,如果当前操作符优先级更高,我们就将栈顶的操作符弹出并进行相应的运算,然后再将当前操作符压入栈中。这个过程称为“短路”或“运算符优先级处理”。 具体实现步骤...

    浅析Java语言在计算机软件开发中的应用.pdf

    Java语言的运算符可以操作常量与变量,Java语言的运算符对编程表达形式有各自特别的要求。在运算时可以利用运算符以及优先级的计算次来决定编程的先后顺序。 Java语言在计算机软件开发中的具体应用包括桌面程序的...

    华为Java语言编码规范.doc

    * 较长的语句、表达式或参数〔&gt;80字符〕要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 * 不允许把多个短语句写在一行中,即一...

    《Java语言程序设计》-期末考试试题及答案

    3. **访问控制符**:Java中的访问控制符有`public`、`private`、`protected`,`static`不是访问控制符,而是修饰类、成员变量或方法的静态属性。 4. **静态方法**:`static`关键字用于声明静态方法,可以直接通过...

    Java中缀表达式变后缀表达式源码

    在计算机科学领域,表达式转换是一项基础且重要的任务,特别是在编译...在学习和理解这个源码的过程中,可以深入掌握栈数据结构的运用、操作符优先级的处理,以及递归下降解析等概念,这些都是编程语言处理的基础知识。

    浅谈Java操作符与其优先级

    Java操作符及其优先级是编程过程中非常重要的概念,理解这些知识点可以帮助我们写出更高效、更准确的代码。本文将深入探讨Java中各种操作符的工作原理和优先级规则。 1. **赋值运算符**: Java中的赋值运算符`=`...

    JAVA语言程序设计重要复习题库

    从给定的文件信息中,我们可以提炼出以下关于Java语言程序设计的知识点: 1. Java程序的基本概念和结构 - Java程序由源代码文件组成,文件通常以.java作为扩展名。 - 编译Java源代码后,会生成.class扩展名的字节...

    java c++表达式求值(带括号和小数点)

    逆波兰表示法(Reverse Polish Notation,RPN)是一种数学表达式表示方法,它通过消除括号和操作符优先级来简化表达式求值的过程。在这个场景中,我们需要使用Java和C++编程语言来实现一个能够处理带有括号和小数点...

    Java SE7 语言规范手册

    手册解释了Java语言中所有可用的操作符,包括算术、位移、比较、逻辑、赋值操作符等,并描述了它们的优先级和结合性。 **原始类型和操作** 包括整型和浮点类型、格式、值和相关操作的讨论。 **布尔类型和值** ...

Global site tag (gtag.js) - Google Analytics