1、简介
- 在Java中,运算符是用于执行特定操作的符号。它们可以用于各种数据类型,并执行如算术运算、比较、逻辑运算、位运算以及赋值等操作。
2、算术运算符
2.1内容
- 算术运算符用于执行常见的数学运算。
- +:加法
- -:减法
- *:乘法
- /:除法
- %:取余(模运算)
- ++:自增(前置和后置)
- --:自减(前置和后置)
2.2举例
int a = 5, b = 3;
int sum = a + b; // sum 现在是 8
int product = a * b; // product 现在是 15
int remainder = a % b; // remainder 现在是 2
3、关系运算符
3.1内容
- 关系运算符用于比较两个值之间的关系。
- ==:等于
- !=:不等于
- >:大于
- <:小于
- >=:大于或等于
- <=:小于或等于
- 这些运算符返回的结果是一个布尔值(true 或 false)。
3.2举例
int a = 5, b = 3;
boolean isEqual = a == b; // isEqual 现在是 false
boolean isGreater = a > b; // isGreater 现在是 true
4、逻辑运算符
4.1内容
- 逻辑运算符用于组合布尔值。
- &&:逻辑与(AND)
- ||:逻辑或(OR)
- !:逻辑非(NOT)
- 这些运算符用于控制程序的流程,特别是在if、while等语句中。
4.2详细比较
- 逻辑与运算 A & B :使用&进行运算,要求符号左右两边都有表达式,并且必须是boolean类型的表达 式,如果A和B表达式都是true,则结果是true,否则是false
- 逻辑或运算 A | B:使用|进行运算,要求符号左右两边都有表达式,并且必须是boolean类型的表达 式,如果A和B表达式其中有一个是true,则结果是true,否则是false
- 逻辑非运算 !A:使用!进行运算,只有右侧有表达式,并且必须是boolean类型的表达式,如果A为true, 则结果为false,如果A是false,则结果是true
- 逻辑异或运算 A^B: 使用^进行运算,只要两边相同,返回false,两边不同,返回true
- 短路与运算 A&&B: 和上面与运算的规则相同,如果左侧表达式为false,则右侧不运算,直接返回结 果为false,如果左侧表达式为true,则右侧再运算
- 短路或运算 A||B : 和上面或运算的规则相同,如果左侧表达式为true,则右侧不运算,直接返回结果 为true,如果左侧表达式为false,则右侧再运算
- 如果要求右侧表达式,不管在什么情况下,都要计算到,只能使用逻辑与和逻辑或运算,不能使用短路与和短路或运算
A | B | A&B | A|B | A^B | !A |
true | true | true | true | false | false |
true | false | false | true | true | false |
false | true | false | true | true | true |
false | false | false | false | false | true |
5、位运算符
5.1内容
- 位运算符直接对整数类型(byte、short、int、long)的二进制位进行操作。
- &:按位与(Bitwise AND)
- |:按位或(Bitwise OR)
- ^:按位异或(Bitwise XOR)
- ~:按位非(Bitwise NOT)
- <<:左移(Left Shift)
- >>:右移(Right Shift,带符号)
- >>>:无符号右移(Unsigned Right Shift)
- 这些运算符在处理底层系统编程或需要优化性能的代码中很有用。
5.2举例
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = a & b; /* 12 = 0000 1100 */
int d = a | b; /* 61 = 0011 1101 */
int e = a ^ b; /* 49 = 0011 0001 */
int f = ~a; /* -61 = 1100 0011 */
int g = a << 2; /* 240 = 1111 0000 */
int h = a >> 2; /* 15 = 0000 1111 */
int i = a >>> 2; /* 15 = 0000 1111 (无符号右移) */
6、赋值运算符
6.1内容
- 赋值运算符用于给变量赋值。
- =:简单赋值
- +=、-=、*=、/=、%=:复合赋值(先进行算术运算,然后赋值)
6.2举例
int a = 5;
a += 3; // a 现在是 8,等同于 a = a + 3;
a *= 2; // a 现在是 16,等同于 a = a * 2;
标签:false,运算,int,运算符,Java,true,表达式
From: https://blog.csdn.net/wosixiaokeai/article/details/139241182