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

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

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

    Java操作符的优先级和结合性,对java的操作符的优先级和结合性做了详细的说明

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

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

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

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

    浅谈Java操作符与其优先级

    主要介绍了浅谈Java操作符与其优先级,具有一定借鉴价值,需要的朋友可以了解下。

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

    很完整的用JAVA写的带优先级的计算器,支持小括号运算

    Thinking in java4(中文高清版)-java的'圣经'

    2.8.2 语法 2.8.3 嵌入式HTML 2.8.4 一些标签示例 2.8.5 文档示例 2.9 编码风格 2.10 总结 2.11 练习 第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 ...

    java语言编程规范

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

    C# 常见操作符整理

    常见的操作符 赋值操作符:= 复合赋值运算符:+=,-=,*=,/=,%= 算数运算符:+,-,*,/,%(ß二元运算符),++,–(ß一元运算符) 条件运算符:&gt;,&lt;...最简单的就是先乘除后加减 操作符优先级 postfix op

    Java操作符及执行流程控制

     主要操作符:+、-、*、/、=、++、–、+=、-=、==、!=、&&、||、!、&、^、~、&gt;=、&lt;=、&gt;、&lt; …..  几乎所有的操作符只能够操作”基本数据类型”,=、==、!=可以操作所有的数据类型及对象  String类型...

    java程序员笔试题java程序员笔试题

    知识点:Java 位运算符、表达式计算、操作符优先级。 7. 该道题考察了 Java 方法的调用和变量的赋值。 知识点:Java 方法、变量赋值、方法调用。 8. 该道题考察了 Java 中的(Integer)封装类和自动拆箱机制。 ...

    最全JAVA编写规范

    长表达式要在低优先级操作符处划分新行,操作符放在新行之首。6. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。7. 若函数或过程中的参数较长,则要进行适当的划分。 8. 不允许把多个短语句写在...

    Java语言基础下载

    使用DDL,DML语言对数据库进行基本操作 338 查询数据库里的数据 339 预编译语句(PreparedStatement) 340 使用事务 341 事务的级别控制 343 使用存储过程 345 操作元数据 347 ResultSetMetaData(结果集元数据) 349...

    JavaScript中文参考手册

    本章描述了这些操作符,包含了关于操作符优先级的信息。 赋值操作符 比较操作符 算术操作符 % (求余数) ++ (自加) -- (自减) - (一元否定) 位操作符 位逻辑运算符 移位操作符 逻辑操作符 简化运算 字符...

    JavaScript语言参考手册

    本章描述了这些操作符,包含了关于操作符优先级的信息。 赋值操作符 比较操作符 算术操作符 % (求余数) ++ (自加) -- (自减) - (一元否定) 位操作符 位逻辑运算符 移位操作符 逻辑操作符 简化运算 字符串操作符 特殊...

    编程思想下篇

    3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 算术操作符 3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 ...

    java基础案例与开发详解案例源码全

    1.1 Java语言发展简史2 1.2 认识Java语言3 1.2.1 Java语言特性3 1.2.2 JavaApplet4 1.2.3 丰富的类库4 1.2.4 Java的竞争对手5 1.2.5 Java在应用领域的优势7 1.3 Java平台的体系结构7 1.3.1 JavaSE标准版8 1.3.2 ...

    逆波兰代码

    (1)建立两个栈,一个S1用来存放操作符+ - * / ( ),另一个S2用来存放生成的逆波兰表达式(本文中为了方便用一个字符串来存放逆波兰表达式),操作符栈遵循越往栈顶操作符优先级越高的原则。 (2)从中缀表达式的...

    Java开发技术大全(500个源代码).

    precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java 用switch语句评定成绩等级 realExample.java 演示浮点数的有效位数 ...

Global site tag (gtag.js) - Google Analytics