public class UnaryOperatorDemo {
public static void main(String[] args) {
int a = 10;
int b = -a; // 取反
int c = ++a; // 前缀自增
int d = a--; // 后缀自减
boolean flag = true;
boolean result = !flag; // 逻辑非
System.out.println("b = " + b); // 输出:b = -10
System.out.println("c = " + c); // 输出:c = 11
System.out.println("d = " + d); // 输出:d = 11
System.out.println("result = " + result); // 输出:result = false
}
}
三:二元运算符
新人不知道Java二元运算符,请解释并且附带代码(中文注释)
好的,以下是Java中常见的二元运算符,附带中文注释的代码示例:
1:算术运算符
public class Main {
public static void main(String[] args) {
int a = 10, b = 3;
int c = a + b; // 加法
int d = a - b; // 减法
int e = a * b; // 乘法
int f = a / b; // 整数除法
int g = a % b; // 取模运算(余数)
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
}
}
2:赋值运算符
public class Main {
public static void main(String[] args) {
int a = 10, b = 3;
int c = 0;
c = a + b; // 算术运算符和赋值运算符的组合
System.out.println("c = " + c);
int d = 10;
d += 3; // 等价于 d = d + 3;
System.out.println("d = " + d);
}
}
3:关系运算符
public class Main {
public static void main(String[] args) {
int a = 10, b = 3;
boolean c = a > b; // 大于
boolean d = a < b; // 小于
boolean e = a >= b; // 大于等于
boolean f = a <= b; // 小于等于
boolean g = a == b; // 等于
boolean h = a != b; // 不等于
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}
4:逻辑运算符
public class Main {
public static void main(String[] args) {
boolean a = true, b = false;
boolean c = a && b; // 逻辑与
boolean d = a || b; // 逻辑或
boolean e = !a; // 逻辑非
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
}
}
int a = 3; // 0011
int b = 6; // 0110
int c = a & b; // 0010
System.out.println(c); // 输出结果为2
②:按位或(|)
两个操作数中,位都为0则结果为0,否则结果为1。
int a = 3; // 0011
int b = 6; // 0110
int c = a | b; // 0111
System.out.println(c); // 输出结果为7
③:按位异或(^)
两个操作数中,位相同则结果为0,否则结果为1。
int a = 3; // 0011
int b = 6; // 0110
int c = a ^ b; // 0101
System.out.println(c); // 输出结果为5
④:按位取反(~)
对操作数的每个二进制位取反。
int a = 3; // 0011
int b = ~a; // 1100
System.out.println(b); // 输出结果为-4
⑤:左移位(<<)
将操作数向左移动指定的位数,并在右侧补0。
int a = 3; // 0011
int b = a << 2; // 1100
System.out.println(b); // 输出结果为12
⑥:右移位(>>)
将操作数向右移动指定的位数,并在左侧补上符号位的值。
int a = -12; // 11111111 11111111 11111111 11110100
int b = a >> 2; // 11111111 11111111 11111111 11111101
System.out.println(b); // 输出结果为-3
⑦:无符号右移位(>>>)
将操作数向右移动指定的位数,并在左侧补0。
int a = -12; // 11111111 11111111 11111111 11110100
int b = a >>> 2; // 00111111 11111111 11111111 11111101
System.out.println(b); // 输出结果为1073741821
四:三元运算符
新人不知道Java三元运算符,请解释并且附带代码(中文注释)
Java的三元运算符是一种特殊的运算符,它有三个操作数,语法结构如下:
条件表达式 ? 表达式1 : 表达式2
如果条件表达式的结果为 true,则返回表达式1的结果,否则返回表达式2的结果。
以下是一个简单的示例代码,演示了如何使用三元运算符:
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 5;
int max = (a > b) ? a : b; // 如果a>b则max=a,否则max=b
System.out.println("最大值为:" + max); // 输出结果为10
}
}
在上述代码中,三元运算符 (a > b) ? a : b 用于比较变量 a 和 b 的值,如果 a 大于 b,则返回 a 的值,否则返回 b 的值,最终结果赋值给变量 max,然后使用 System.out.println() 方法输出变量 max 的值。