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