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 程序和进行有效的逻辑判断非常重要。*

posted @ 2024-08-02 11:14  柒寒(平安)  阅读(35)  评论(0)    收藏  举报