在Java中,运算符用于执行数据的运算。Java提供了多种运算符,从简单的算术运算到复杂的逻辑运算。了解运算符及其用法对于编写有效的Java代码至关重要。以下是Java中常见的运算符类别和它们的用法。
算术运算符算术运算符用于执行基本的数学运算,如加法、减法、乘法和除法。
+ 加法- 减法* 乘法/ 除法% 取模(求余数)代码示例代码语言:javascript代码运行次数:0运行复制int a = 10;
int b = 5;
System.out.println("a + b = " + (a + b)); // 输出:a + b = 15
System.out.println("a - b = " + (a - b)); // 输出:a - b = 5
System.out.println("a * b = " + (a * b)); // 输出:a * b = 50
System.out.println("a / b = " + (a / b)); // 输出:a / b = 2
System.out.println("a % b = " + (a % b)); // 输出:a % b = 0关系运算符关系运算符用于比较两个值之间的关系,结果为布尔值 true 或 false。
== 等于!= 不等于> 大于< 小于>= 大于等于<= 小于等于代码示例代码语言:javascript代码运行次数:0运行复制int a = 10;
int b = 20;
System.out.println("a == b: " + (a == b)); // 输出:a == b: false
System.out.println("a != b: " + (a != b)); // 输出:a != b: true
System.out.println("a > b: " + (a > b)); // 输出:a > b: false
System.out.println("a < b: " + (a < b)); // 输出:a < b: true
System.out.println("a >= b: " + (a >= b)); // 输出:a >= b: false
System.out.println("a <= b: " + (a <= b)); // 输出:a <= b: true逻辑运算符逻辑运算符用于连接多个条件(布尔表达式)。
&& 逻辑与|| 逻辑或! 逻辑非代码示例代码语言:javascript代码运行次数:0运行复制boolean cond1 = true;
boolean cond2 = false;
System.out.println("cond1 && cond2: " + (cond1 && cond2)); // 输出:cond1 && cond2: false
System.out.println("cond1 || cond2: " + (cond1 || cond2)); // 输出:cond1 || cond2: true
System.out.println("!cond1: " + (!cond1)); // 输出:!cond1: false
System.out.println("!cond2: " + (!cond2)); // 输出:!cond2: true自增自减运算符自增和自减运算符用于将变量的值增加或减少1。
++ 自增-- 自减代码示例代码语言:javascript代码运行次数:0运行复制int num = 0;
System.out.println("num: " + num); // 输出:num: 0
System.out.println("num++: " + num++); // 输出:num++: 0
System.out.println("num: " + num); // 输出:num: 1
System.out.println("++num: " + ++num); // 输出:++num: 2
System.out.println("num--: " + num--); // 输出:num--: 2
System.out.println("num: " + num); // 输出:num: 1
System.out.println("--num: " + --num); // 输出:--num: 0注意,num++ 和 ++num 都会将 num 的值增加1,但是它们的返回值不同。num++ 返回变量增加前的值,而 ++num 返回增加后的值。同理,num-- 和 --num 的区别也是如此。
赋值运算符赋值运算符用于将右侧表达式的值赋给左侧的变量。
= 赋值+= 加后赋值-= 减后赋值*= 乘后赋值/= 除后赋值%= 取模后赋值代码示例代码语言:javascript代码运行次数:0运行复制int num = 10;
num += 5; // 等同于 num = num + 5;
System.out.println("num: " + num); // 输出:num: 15
num -= 3; // 等同于 num = num - 3;
System.out.println("num: " + num); // 输出:num: 12
num *= 2; // 等同于 num = num * 2;
System.out.println("num: " + num); // 输出:num: 24
num /= 4; // 等同于 num = num / 4;
System.out.println("num: " + num); // 输出:num: 6
num %= 5; // 等同于 num = num % 5;
System.out.println("num: " + num); // 输出:num: 1位运算符位运算符用于执行变量的位操作。
& 位与| 位或^ 位异或~ 位非<< 左移>> 右移>>> 无符号右移代码示例代码语言:javascript代码运行次数:0运行复制int a = 12; // 二进制表示:1100
int b = 6; // 二进制表示:0110
System.out.println("a & b: " + (a & b)); // 输出:a & b: 4 (二进制:0100)
System.out.println("a | b: " + (a | b)); // 输出:a | b: 14 (二进制:1110)
System.out.println("a ^ b: " + (a ^ b)); // 输出:a ^ b: 10 (二进制:1010)
System.out.println("~a: " + (~a)); // 输出:~a: -13 (二进制:...11110011,补码表示)
System.out.println("a << 2: " + (a << 2)); // 输出:a << 2: 48 (二进制:110000)
System.out.println("a >> 2: " + (a >> 2)); // 输出:a >> 2: 3 (二进制:0011)
System.out.println("a >>> 2: " + (a >>> 2)); // 输出:a >>> 2: 3 (二进制:0011)三元运算符三元运算符也称为条件运算符,它包含三个操作数,用于根据条件表达式来返回两个值中的一个。
? : 三元运算符代码示例代码语言:javascript代码运行次数:0运行复制int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 如果a大于b,则max为a,否则为b
System.out.println("Maximum value: " + max); // 输出:Maximum value: 20Java中的运算符是构建程序逻辑的重要工具。了解不同类型的运算符以及它们的使用方法对于编写有效和高效的代码非常重要。在编写复杂的表达式和条件语句时,正确地使用运算符可以大大简化代码的复杂性。