JavaSE-几个典型运算符之间的区别
几个典型运算符之间的区别
1. i++ 与 ++i
i++(后缀递增运算符):
- 这被称为后缀递增运算符。它首先返回变量
i的当前值,然后将i的值增加 1。 - 通常用于循环计数器的递增。
++i(前缀递增运算符):
- 这被称为前缀递增运算符。它首先将
i的值增加 1,然后返回新的值。 - 通常用于确保变量的值在递增之前被使用。
区别:
i++先返回当前值,然后递增。++i先递增,然后返回新值。
示例:
int i = 5;
System.out.println(i++); // 输出 5,然后 i 变为 6
System.out.println(++i); // 输出 7,i 先增加 1
2. & 与 &&
&(按位与运算符):
- 这是一个二元运算符,用于对两个整数的二进制位进行按位与操作。
- 它对两个操作数的每一位进行与操作,如果两个位都是 1,则结果位是 1,否则是 0。
&&(逻辑与运算符):
- 这是一个逻辑运算符,用于比较两个布尔值。
- 如果两个操作数都为
true,则结果为true;否则为false。 - 它是短路运算符,如果第一个操作数为
false,则不会计算第二个操作数。
区别:
&用于整数的按位操作,返回一个整数。&&用于布尔值的逻辑操作,返回一个布尔值。&&是短路运算符,而&不是。
示例:
int a = 5, b = 3;
System.out.println(a & b); // 输出 1 (二进制 101 & 011)
boolean c = true;
boolean d = false;
System.out.println(c && d); // 输出 false
3. | 与 ||
|(按位或运算符):
- 这是一个二元运算符,用于对两个整数的二进制位进行按位或操作。
- 它对两个操作数的每一位进行或操作,如果至少有一个位是 1,则结果位是 1。
||(逻辑或运算符):
- 这是一个逻辑运算符,用于比较两个布尔值。
- 如果至少有一个操作数为
true,则结果为true;否则为false。 - 它是短路运算符,如果第一个操作数为
true,则不会计算第二个操作数。
区别:
|用于整数的按位操作,返回一个整数。||用于布尔值的逻辑操作,返回一个布尔值。||是短路运算符,而|不是。
示例:
int a = 5, b = 3;
System.out.println(a | b); // 输出 7 (二进制 111)
boolean c = true;
boolean d = false;
System.out.println(c || d); // 输出 true
4. > 与 >>
>(大于运算符):
- 这是一个关系运算符,用于比较两个数值或字符。
- 如果左边的值大于右边的值,则返回
true;否则返回false。
>>(右移位运算符):
- 这是一个二元运算符,用于将一个数的二进制位向右移动指定的位数。
- 如果是算术右移位(没有符号位),则左边用符号位填充;如果是逻辑右移位(有符号位),则左边用 0 填充。
区别:
>用于数值或字符的比较。>>用于数值的二进制位移动。
示例:
int a = 5;
int b = 3;
System.out.println(a > b); // 输出 true
int c = 5;
System.out.println(c >> 1); // 输出 2 (二进制 101 >> 1)
理解这些运算符的区别和联系对于编写正确的 Java 程序和进行有效的逻辑判断非常重要。*

浙公网安备 33010602011771号