Java编程基础:全面掌握运算符
在Java编程中,运算符是用于执行程序代码运算的符号。它们可以对变量和值执行各种操作,如算术运算、比较、逻辑判断等。本文将详细探讨Java中的各种运算符,包括算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符和三目运算符,并提供相应的代码示例和详细解释。
算术运算符
算术运算符用于执行基本的数学运算。
- +:加法运算符。用于将两个数值相加。如果两边的操作数都是数值类型,则执行加法运算;如果两边的操作数都是字符串,则执行字符串连接。
int a = 10; int b = 5; int sum = a + b; // 结果为15 String str1 = "Hello"; String str2 = "World"; String result = str1 + str2; // 结果为"HelloWorld"
- -:减法运算符。用于从一个数值中减去另一个数值。
int difference = a - b; // 结果为5
- *:乘法运算符。用于将两个数值相乘。
int product = a * b; // 结果为50
- /:除法运算符。用于将一个数值除以另一个数值。
double quotient = (double)a / b; // 结果为2.0
- %:取模运算符。返回两个数值相除的余数。
int remainder = a % b; // 结果为0
- ++:自增运算符。将变量的值增加1。
a++; // a的值现在是11
- --:自减运算符。将变量的值减少1。
b--; // b的值现在是4
关系运算符
关系运算符用于比较两个值,并返回一个布尔值(true
或 false
)。
- ==:等于。比较两个值是否相等。
boolean isEqual = (a == b); // 结果为false
- !=:不等于。比较两个值是否不相等。
boolean isNotEqual = (a != b); // 结果为true
- >:大于。比较第一个值是否大于第二个值。
boolean isGreater = (a > b); // 结果为true
- <:小于。比较第一个值是否小于第二个值。
boolean isLess = (a < b); // 结果为false
- >=:大于等于。比较第一个值是否大于或等于第二个值。
boolean isGreaterEqual = (a >= b); // 结果为true
- <=:小于等于。比较第一个值是否小于或等于第二个值。
boolean isLessEqual = (a <= b); // 结果为false
赋值运算符
赋值运算符用于将值赋给变量。
- =:赋值运算符。将右边的值赋给左边的变量。
int num = 10; // 将10赋值给num
- +=:加法赋值运算符。将左边的变量与右边的值相加,并将结果赋值给左边的变量。
num += 5; // 相当于num = num + 5,现在num的值是15
- -=:减法赋值运算符。将左边的变量与右边的值相减,并将结果赋值给左边的变量。
num -= 3; // 相当于num = num - 3,现在num的值是12
- *=:乘法赋值运算符。将左边的变量与右边的值相乘,并将结果赋值给左边的变量。
num *= 2; // 相当于num = num * 2,现在num的值是24
- /=:除法赋值运算符。将左边的变量除以右边的值,并将结果赋值给左边的变量。
num /= 4; // 相当于num = num / 4,现在num的值是6
- %=:取模赋值运算符。将左边的变量对右边的值取模,并将结果赋值给左边的变量。
num %= 3; // 相当于num = num % 3,现在num的值是0
逻辑运算符
逻辑运算符用于执行逻辑运算。
- &&:逻辑与。如果两个操作数都为
true
,则结果为true
。boolean andResult = (a > b) && (a < 100); // 结果为true
- ||:逻辑或。如果两个操作数中至少有一个为
true
,则结果为true
。boolean orResult = (a > b) || (a < 0); // 结果为true
- !:逻辑非。对操作数的布尔值取反。
boolean notResult = !(a == b); // 结果为true
位运算符
位运算符用于对整数的二进制位进行操作。
- &:按位与。对两个整数的每一位执行逻辑与操作。
int andResult = a & b; // 结果为0,因为10和3的二进制表示没有相同的1位
- |:按位或。对两个整数的每一位执行逻辑或操作。
int orResult = a | b; // 结果为11,因为10和3的二进制表示至少有一位是1
- ^:按位异或。对两个整数的每一位执行逻辑异或操作。
int xorResult = a ^ b; // 结果为9,因为10和3的二进制表示不同的位是1
- ~:按位取反。对整数的每一位执行逻辑取反操作。
int notResult = ~a; // 结果为-11,因为10的二进制表示取反后加1
- >>:右移。将整数的二进制表示向右移动指定的位数。
int rightShiftResult = a >> 1; // 结果为5,因为10的二进制表示右移1位
- <<:左移。将整数的二进制表示向左移动指定的位数。
int leftShiftResult = a << 1; // 结果为20,因为10的二进制表示左移1位
三目运算符
三目运算符用于基于条件表达式的结果来选择两个值中的一个。
- 条件表达式 ? 表达式1 : 表达式2:如果条件表达式为
true
,则结果为表达式1,否则为表达式2。int score = 85; String grade = (score >= 90) ? "A" : "B"; // 结果为"B"