栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java的运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java的运算符

Java中的运算符
  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符
  • 运算符的优先级

常见的运算符有算术、赋值、比较和逻辑运算符。

算术运算符
运算符运算范例结果
+正号+33
-负号b=4,-b-4
+加5+510
-减6-42
*乘3*412
/除5/51
%取模(取余)7%52
++自增(前),先运算后取值a=2,b=++aa=3,b=3
++自增(后),先取值后运算a=2,b=a++a=3,b=2
- -自减(前),先运算后取值a=2,b=- -aa=1,b=1
- -自减(后),先取值后运算a=2,b=a- -a=1,b=2
+字符串连接“He”+“llo”“Hello”

注意:“%”中结果的符号与被模数的符号相同。(m=a%b,m的符号与a的符号相同)

赋值运算符
  1. 当“%”两侧的数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
  2. 支持连续赋值(a=b=5;)
运算符运算等同于
=a=2将2赋给a
+=a+=2a=a+2
-=a-=2a=a-2
*=a*=2a=a*2
/=a/=2a=a/2
%=a%=2a=a%2

注意:“+=、-=、*=、/=、%=”不会改变变量本身的数据类型。

比较运算符
  1. 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
  2. 比较运算符中的“==”不能误写成“=”。
运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hello”instanceof Stringtrue
逻辑运算符
  1. &—逻辑与:a、b中有一个false,结果为false。
  2. |—逻辑或:a、b中有一个是true,结果为true。
  3. !—逻辑非:取反,a为true,则!a为false。
  4. &&—短路与:a、b中有一个为false,结果为false。(a&&b中,若a为false时,则不执行b,自动判定b为true。)
  5. ||—短路或:a、b中有一个是true,结果为true。(a||b中,若a为true,则不执行b,自动判定b也为true。)
  6. ^—逻辑异或:a、b相同时为true,不相同时为false。
aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falseturefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse
位运算符
  • 位运算操作的都是整形的数据。
运算符运算作用范例
<<左移将数字对应二进制的数字向左移位,被移除的高位丢弃,空缺位补零(在一定范围内,每向左移一位数值翻倍)。2<<3–>3*2 *2=12
>>右移将数字对应二进制的数字向右移位,被移位的二进制最高位是0,右移后,空缺位补0,最高位是1,空缺位补1(在一定范围内,每向右移一位数值减半)。3>>1–>3/2=1
>>>无符号右移将数字对应二进制的数字向右移位,被移位的二进制数最高位无论是0或者是1,空缺位都用0补。3>>>1–>3/2=1
&与运算二进制位进行&运算,对应位只有1&1时结果位1,否则是0。6&3=2
|或运算二进制位进行 | 运算,只有0 | 0时结果是0,否则是1。6
^异或运算二进制位进行^运算,对应位相等时,结果是0,对应位不相同时,结果是1。6^3=5
~取反运算正数取反,各二进制码按补码各位取反。负数取反,各二进制码按补码各位取反。~6=-7

注意:位运算符直接对整数的二进制进行运算。

补充:若m ^ n=k,则m=k ^ n=(m ^ n) ^ n

  • 使用位运算符将两个变量的值进行交换:
int num1 = 10,num2 = 20
num1 = num1 ^ num2;
num2 = num1 ^ num2;//num2=num1^num2=(num1^num2)^num2=num1
num1 = num1 ^ num2;//num1=(num1^num2)^num1=num2
三元运算符

(条件表达式)?表达式1:表达式2;

说明:

  1. 条件表达式的结果位boolean类型。
  2. 如果表达式真或假,决定执行表达式1,还是表达式2。(如果表达式为true,则执行表达式1,如果表达式为false,则执行表达式2)
  3. 凡是可以用三元运算符的地方,都可以改写为if-else结构,但可以用if-else结构的不一定可以用三元运算符。
  4. 如果程序即可以使用三元运算符,又可以使用if-else结构,那么优先使用三元运算符。(三元运算符更简洁,效率更高)
运算符的优先级
  • 小技巧:
    有要先加的用小括号“()”。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号