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

时间:2022-09-22 20:57:41

算数运算符

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

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

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

例子

  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 20;
  4. int c = 25;
  5. int d = 25;
  6. System.out.println("a + b = " + (a + b) );
  7. System.out.println("a - b = " + (a - b) );
  8. System.out.println("a * b = " + (a * b) );
  9. System.out.println("b / a = " + (b / a) );
  10. System.out.println("b % a = " + (b % a) );
  11. System.out.println("c % a = " + (c % a) );
  12. System.out.println("a++ = " + (a++) );
  13. System.out.println("a-- = " + (a--) );
  14. // 查看 d++ 与 ++d 的不同
  15. System.out.println("d++ = " + (d++) );
  16. System.out.println("++d = " + (++d) );
  17. }
  18. 运行结果
  19. "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
  20. a + b = 30
  21. a - b = -10
  22. a * b = 200
  23. b / a = 2
  24. b % a = 0
  25. c % a = 5
  26. a++ = 10
  27. a-- = 11
  28. d++ = 25
  29. ++d = 27
  30. Process finished with exit code 0

关系运算符

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

例子

  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 20;
  4. System.out.println("a == b = " + (a == b) );
  5. System.out.println("a != b = " + (a != b) );
  6. System.out.println("a > b = " + (a > b) );
  7. System.out.println("a < b = " + (a < b) );
  8. System.out.println("b >= a = " + (b >= a) );
  9. System.out.println("b <= a = " + (b <= a) );
  10. }
  11. 运行结果
  12. "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
  13. a == b = false
  14. a != b = true
  15. a > b = false
  16. a < b = true
  17. b >= a = true
  18. b <= a = false
  19. Process finished with exit code 0

逻辑运算符

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

例子

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

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

赋值运算符

赋值运算符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 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
  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 20;
  4. int c = 0;
  5. c = a + b;
  6. System.out.println("c = a + b = " + c );
  7. c += a ;
  8. System.out.println("c += a = " + c );
  9. c -= a ;
  10. System.out.println("c -= a = " + c );
  11. c *= a ;
  12. System.out.println("c *= a = " + c );
  13. a = 10;
  14. c = 15;
  15. c /= a ;
  16. System.out.println("c /= a = " + c );
  17. a = 10;
  18. c = 15;
  19. c %= a ;
  20. System.out.println("c %= a = " + c );
  21. c <<= 2 ;
  22. System.out.println("c <<= 2 = " + c );
  23. c >>= 2 ;
  24. System.out.println("c >>= 2 = " + c );
  25. c >>= 2 ;
  26. System.out.println("c >>= 2 = " + c );
  27. c &= a ;
  28. System.out.println("c &= a = " + c );
  29. c ^= a ;
  30. System.out.println("c ^= a = " + c );
  31. c |= a ;
  32. System.out.println("c |= a = " + c );
  33. }
  34. 运行结果为:
  35. c = a + b = 30
  36. c += a = 40
  37. c -= a = 30
  38. c *= a = 300
  39. c /= a = 1
  40. c %= a = 5
  41. c <<= 2 = 20
  42. c >>= 2 = 5
  43. c >>= 2 = 1
  44. c &= a = 0
  45. c ^= a = 10
  46. c |= a = 10
  47. Process finished with exit code 0

Java运算符优先级

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

总结

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

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