上面章节介绍了算术、关系、布尔、位、赋值运算符,本章节将介绍其他 Java 运算符。
条件运算符(?:)是 Java 语言中的唯一一个三目运算符,即该运算符涉及三个操作,格式如下:
<表达式1> ? <表达式2> : <表达式3>
其中“表达式1”必须是布尔类型值,如果“表达式1”为 true,则计算“表达式2”。如果“表达式1”为 false,则计算“表达式3”。其实,三目运算符可以通过 if-else 语句实现。例如:
public class Demo { public static void main(String[] args) { int a = 30; System.out.println(a > 30 ? "大于30" : "小于等于30"); } }
运行示例,输出结果如下:
小于等于30
单目运算符+、-用于对单个数值型数据进行处理,其中+号用于取用数值本身,由于正数值类型默认和+有同样效果,因此忽略了它。如:+100 和 100 两者是一个含义。而 - 号用于取反数字。例如:
public class Demo { public static void main(String[] args) { int a = 30; System.out.println("+a=" + (+a)); System.out.println("-a=" + (-a)); } }
运行示例,输出结果如下:
+a=30 -a=-30
自增/自减运算符也称增量/减量运算符,用于对单个变量进行增一或减一操作。自增/自减运算符可以位于变量之前,也可用于变量之后。用于变量之前和之后的效果如下:
用于变量之前,先计算自增/自减操作,然后将结果用于其他操作。例如:a = b + (++c) 该表达式将先执行 ++c 即 c = c + 1,然后执行 b + c,最后将 b + c 的结果赋值给 a。
用于变量之后,先将变量进行其他操作,然后才将变量值自增/自减操作。例如:a = b + (c++) 该表达式将先执行 b + c,然后将 b + c 的结果赋值给 a,最后执行 c = c + 1。
例如:
public class Demo { public static void main(String[] args) { int a = 30, b = 20; int c = a + (++b); // 等价 b = b + 1; c = a + b; 两条语句 System.out.println("b = " + b + ", " + "c = " + c); b = 20; c = a + (b++); // 等价 c = a + b; b = b + 1; 两条语句 System.out.println("b = " + b + ", " + "c = " + c); } }
运行示例,输出结果如下:
b = 21, c = 51 b = 21, c = 50
Java 语言中运算符“+”除了可用于算术加法之外,还可以用于字符串连接操作。当“+”号左右两侧均为数字类型值时,则将进行算法加法运算。如果“+”号左右两侧的操作数中有一个是 String 类型,则进行字符串的连接操作。例如:
public class Demo { public static void main(String[] args) { System.out.println(10 + 20); System.out.println("10" + 20); System.out.println(10 + "20"); } }
运行示例,输出结果如下:
30 1020 1020