好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

新手了解java基础知识(二)

算数运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

表格中的实例假设整数变量A的值为10,变量B的值为20:

操作符 描述
+ 加法 - 相加运算符两侧的值
- 减法 - 左操作数减去右操作数
* 乘法 - 相乘操作符两侧的值
/ 除法 - 左操作数除以右操作数
% 取余 - 左操作数除以右操作数的余数
++ 自增: 操作数的值增加1
- - 自减: 操作数的值减少1

例子

public static void main ( String [] args ) { int a = 10 ; int b = 20 ; int c = 25 ; int d = 25 ; System . out . println ( "a + b = " + ( a + b ) ); System . out . println ( "a - b = " + ( a - b ) ); System . out . println ( "a * b = " + ( a * b ) ); System . out . println ( "b / a = " + ( b / a ) ); System . out . println ( "b % a = " + ( b % a ) ); System . out . println ( "c % a = " + ( c % a ) ); System . out . println ( "a++ = " + ( a ++) ); System . out . println ( "a-- = " + ( a --) ); // 查看 d++ 与 ++d 的不同 System . out . println ( "d++ = " + ( d ++) ); System . out . println ( "++d = " + (++ d ) ); } 运行结果 "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51196:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" - Dfile . encoding = UTF - 8 - classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test a + b = 30 a - b = - 10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a ++ = 10 a -- = 11 d ++ = 25 ++ d = 27 Process finished with exit code 0

关系运算符

运算符 描述
== 检查如果两个操作数的值是否相等,如果相等则条件为真。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

例子

public static void main ( String [] args ) { int a = 10 ; int b = 20 ; System . out . println ( "a == b = " + ( a == b ) ); System . out . println ( "a != b = " + ( a != b ) ); System . out . println ( "a > b = " + ( a > b ) ); System . out . println ( "a < b = " + ( a < b ) ); System . out . println ( "b >= a = " + ( b >= a ) ); System . out . println ( "b <= a = " + ( b <= a ) ); } 运行结果 "C:\Program Files\Java\jdk1.8.0_192\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\lib\idea_rt.jar=51452:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.3\bin" - Dfile . encoding = UTF - 8 - classpath "C:\Program Files\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\JavaProject\20210402\out\production\20210402" Test a == b = false a != b = true a > b = false a < b = true b >= a = true b <= a = false Process finished with exit code 0

逻辑运算符

操作符 描述
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
ll 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

例子

public static void main ( String [] args ) { boolean a = true ; boolean b = false ; System . out . println ( "a && b = " + ( a && b )); System . out . println ( "a || b = " + ( a || b ) ); System . out . println ( "!(a && b) = " + !( a && b )); }

赋值运算符

赋值运算符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<< = 左移位赋值运算符 C << = 2等价于C = C << 2
>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
l= 按位或赋值操作符 C l = 2等价于C = C
public static void main ( String [] args ) { int a = 10 ; int b = 20 ; int c = 0 ; c = a + b ; System . out . println ( "c = a + b = " + c ); c += a ; System . out . println ( "c += a = " + c ); c -= a ; System . out . println ( "c -= a = " + c ); c *= a ; System . out . println ( "c *= a = " + c ); a = 10 ; c = 15 ; c /= a ; System . out . println ( "c /= a = " + c ); a = 10 ; c = 15 ; c %= a ; System . out . println ( "c %= a = " + c ); c <<= 2 ; System . out . println ( "c <<= 2 = " + c ); c >>= 2 ; System . out . println ( "c >>= 2 = " + c ); c >>= 2 ; System . out . println ( "c >>= 2 = " + c ); c &= a ; System . out . println ( "c &= a = " + c ); c ^= a ; System . out . println ( "c ^= a = " + c ); c |= a ; System . out . println ( "c |= a = " + c ); } 运行结果为: c = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c <<= 2 = 20 c >>= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10 Process finished with exit code 0

Java运算符优先级

类别 操作 关联性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr– 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 l 左到右
逻辑与 && 左到右
逻辑或 ll 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = l= 从右到左
逗号 左到右

总结

本篇文章就到这里了,希望对你有所帮助,也希望你能多多关注我们的更多内容!

原文链接:https://blog.csdn.net/qq_45859087/article/details/115399589

查看更多关于新手了解java基础知识(二)的详细内容...

  阅读:12次