首页 / JAVA / 【Java程序设计】运算符与优先级
【Java程序设计】运算符与优先级
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Java程序设计】运算符与优先级,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4441字,纯文字阅读大概需要7分钟。
内容图文
![【Java程序设计】运算符与优先级](/upload/InfoBanner/zyjiaocheng/594/6d9f48f0f23f4d70b15ef078688595f0.jpg)
运算符与优先级
文章目录
一、运算符
(1)数值操作符
数值数据类型的操作符包括标准的算术操作符:加号(+
)、减号(-
)、乘号(*
)、除号(/
)和求余号(%
),操作数
是被操作符操作的值。
运算符 | 名字 | 示例 | 运算结果 |
---|---|---|---|
+ | 加 | 34 + 1 | 35 |
- | 减 | 34.0-0.1 | 33.9 |
* | 乘 | 300 * 30 | 9000 |
/ | 除 | 1.0 / 2.0 | 0.5 |
% | 求余 | 20 %3 | 2 |
- 当除法的操作数都是整数时,除法的结果就是整数,小数部分被舍去。
- 操作符
%
, 被称为求余或者取模操作符,可以求得除法的余数。左边的操作数是被除数。操作符%
通常用在正整数上,实际上,它也可用于负整数和浮点值。只有当被除数是负数时,余数才是负的。 - 操作符
+
和-
可以是一元的也可以是二元的。一元操作符仅有一个操作数;而二元操作符有两个操作数。
(2)赋值及结合赋值操作符
-
1.赋值运算符
在 Java 中,将等号(=
)作为赋值操作符(assignment operator)。- 赋值语句(assignment statement):( 变量=表达式;)
variable = expression;
- 表达式(expression): 表示涉及值、变量和操作符的一个运算,它们组合在一起计算出一个新值
- 赋值语句常常称作賦值表达式(assignment expression)
- 赋值语句(assignment statement):( 变量=表达式;)
-
2.结合赋值运算符
操作符+
、-
、*
、/
、%
可以结合賦值操作符形成增强操作符。作符 名称 示例 等价于 += 加法赋值操作符 i+=8 i =i+8 -= 减法赋值操作符 i-=8 i=i-8 *= 乘法赋值操作符 i*=8 i=i*8 /= 除法赋值操作符 i/=8 i=i/8 %= 求余赋值操作符 i% = 8 i = i %8 - 在增强操作符中是没有空格的
- 操作符(+=、-=、*=、/=、%=) 可以构成赋值语句,也可以构成赋值表达式。
- 如果运算符得到一个值,其类型与左侧操作数的类型不同,就会发生强制类型转换
(3)自增与自减运算符
自增操作符(++
) 和自减操作符(--
) 是对变量进行加 1 和减 1 的操作。
操作符 | 名称 | 说明 |
---|---|---|
++var | 前缀自增运算符 | 变量 var 的值加1且使用 var 增加后的新值 |
var++ | 后缀自增运算符 | 变置 var 的值加1但使用 var 原来的值 |
–var | 前缀自减运算符 | 变量 var 的值减1且使用 var 减少后的新值 |
var– | 后缀自减运算符 | 变置 var 的值减1但使用 var 原来的值 |
使用自增操作符和自减操作符可以使表达式更加简短,但也会使它们比较复杂且难以读懂。应该避免在同一个表达式中使用这些操作符修改多个变量或多次修改同一个变量。
(4)关系运算符
Java运算符 | 数学符号 | 名称 |
---|---|---|
< | < < < | 小于 |
<= | ? \leqslant ? | 小于等于 |
> | > > > | 大于 |
<= | ? \geqslant ? | 大于等于 |
== | = = = | 等于 |
!= | =? \not = ?= | 不等于 |
- 比较的结果是一个布尔值:true ( 真)或 false (假) 。
- 相等的关系操作符是两个等号(==) , 而不是一个等号(=)。
(5)布尔运算符
逻辑操作符( logical operator ) 也称为布尔操作符(boolean operator), 是对布尔值进行的运算,创建新的布尔值。
操作符 | 名称 | 说明 |
---|---|---|
! | 非 | 逻辑非 |
&& | 与 | 逻辑与 |
|| | 或 | 逻辑或 |
^ | 异或 | 逻辑异或 |
- 非操作符(||)对 true 取反是 false, 而 false 取反之后则是 true
- 与操作(&&)。当且仅当两个操作数都为 true 时,这两个布尔型操作数的与(&&) 为 true
- 或操作符(||),当至少有一个操作数为true 时,两个布尔型操作数的或(||)为 true
- 异或操作符(^ )。当且仅当两个操作数具有不同的布尔值时,两个布尔型操作数的异或(^) 才为 true
&&
和||
被称为短路或者懒惰操作符:
如果操作符&&的操作数之一为 false, 那么表达式就是 false;如果操作符||的操作数之一为 true, 那么表达式就是 true。
- 当计算 p1&&p2 时,Java 先计算 p1, 如果 p1 为 true 再计算 p2; 如果 p1 为 false, 则不再计算p2。
- 当计算 p1||p2时,Java 先计算 p1, 如果 p1为 false 再计算 p2;如果 p1为 true, 则不再计算 P2
(6)位运算符
用机器语言编写程序,经常要直接处理二进制数值,并在位级别上执行操作。Java 提供了位操作符和移位操作符:
位操作符 | 名称 | 描述 |
---|---|---|
& | 按位与 | 两个相应位上的比特如果都为1,则执行与搡作会得到 1 |
| | 按位或 | 两个相应位上的比特如果其中有一个为 1 , 则执行或操作会得到1 |
^ | 按位异或 | 两个相应位上的比特如果相异,则执行与或操作会得到 1 |
~ | 按位求反 | 操作符将每个比特从 0 到 1 或者从 1 到 0进行转换 |
<< | 左移位 | 操作符将其左边的操作数按照第二个操作数指定的位移数进行左移位,右边空出来的补 0 |
>> | (带符号)右移位 | 操作符将其第一个操作数按照第二个操作数指定的位移数进行右移位,最高位补上符号位 |
>>> | (无符号)右移位 | 操作符将其第一个操作数按照第二个操作数指定的位移数进行右移位,左边空出来的补 0 |
(7)三元运算符
condition ? expression1 : expresszon2
如果条件为 true,就为第一个表达式的值,否则计算为第二个表达式的值。
二、运算符的优先级
操作符按照优先级递减的顺序从上到下列出。同一栏中的操作符优先级相同,它们的结合方向如表中所示:
三、类型转换
Java可以将一个数值赋给支持更大数值范围类型的变量,例如,可以将 long 型的值赋给 float型变量。但是,如果不进行类型转换,就不能将一个值赋给范围较小类型的变量。类型转换是一种将一种数据类型的值转换成另一种数据类型的操作。将一个小范围类型的变量转换为大范围类型的变量称为拓宽类型( widening a type ), 把大范围类型的变量转换为小范围类型的变量称为缩窄类型( narrowing a type)。Java 将自动拓宽一个类型,但缩窄类型必须显式完成。
在下图中有6个实心箭头,表示无信息丢失的转换 ;3个虚箭头,表示可能有精度损失的转换。
强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名:
(type) variable
内容总结
以上是互联网集市为您收集整理的【Java程序设计】运算符与优先级全部内容,希望文章能够帮你解决【Java程序设计】运算符与优先级所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。