介绍
Java是一种广泛使用的计算机编程语言,它提供了丰富多彩的运算符。这些运算符允许程序员进行各种计算,包括算术、逻辑、位和其他类型的运算。在本文中,我们将深入探讨Java运算符的种类、使用方法及其应用。
JAVA赋值运算符
JAVA赋值运算符用于将一个值赋给变量。JVM需要知道要赋的值,所以运算符右侧应该有一个表达式,赋值运算符将表达式计算并将结果赋给左侧的变量。
Java赋值运算符列表:= 简单的赋值运算符,可以把右边的值赋给左边的变量 += 加赋值运算符,左右两边的操作数相加后赋值给左边的变量 -= 减赋值运算符,左右两边的操作数相减后赋值给左边的变量 *= 乘赋值运算符,左右两边的操作数相乘后赋值给左边的变量 /= 除赋值运算符,左右两边的操作数相除后赋值给左边的变量 %= 取模赋值运算符,左右两边的操作数取模后赋值给左边的变量 <<= 左移后赋值运算符,左边操作数的所有位都左移指定数量的位,然后赋值给左边的变量 >>= 右移后赋值运算符,左边操作数的所有位都右移指定数量的位,然后赋值给左边的变量 &= 按位与赋值运算符,左右两边的操作数通过按位与运算后赋值给左边的变量 ^= 按位异或赋值运算符,左右两边的操作数通过按位异或运算后赋值给左边的变量 |= 按位或赋值运算符,左右两边的操作数通过按位或运算后赋值给左边的变量
JAVA运算符的优先级
Java运算符有不同的优先级,当表达式包含多个运算符时,运算符会按照预定顺序进行计算。最高优先级的运算符先计算,然后是次高优先级的运算符,以此类推。如果表达式中有括号,则括号内的子表达式先计算。
Java运算符的优先级列表:1. (),括号表达式,最高优先级的运算符,先计算括号内的表达式 2. ++,--,自增和自减 3. +,-,正负号 4. !,逻辑反 5. ~,位反 6. *,/,%,乘、除和取模 7. +,-,加和减 8. <<,>>,>>>,位移 9. <,<=,>,>=,比较运算符 10. ==,!=,相等和不相等运算符 11. &,位与 12. ^,位异或 13. |,位或 14. &&,逻辑与 15. ||,逻辑或 16. ? :,三元运算符 17. =,赋值 18. +=,-=,*=,/=,%=,及其他赋值运算符,最低优先级的运算符,最后计算。
JAVA语言运算符
Java提供了一些特殊的运算符,使程序员能更方便地进行操作。
Java语言运算符列表:instanceof instanceof是Java的二元运算符,用于检查左侧的对象是否是右侧类的实例,是返回true,否则返回false。 ?
JAVA位运算符
Java位运算符是对二进制数进行操作的运算符,直接对二进制操作,不做转换。
Java位运算符列表:& 按位与运算符,两个两个操作数的相应位都为1,则该位的结果为1,否则为0。 | 按位或运算符,两个操作数的相应位中只要有一个为1,该位的结果为1,否则为0。 ^ 异或运算符,两个操作数的相应位不同,该位结果为1,否则为0。 ~ 取反运算符,反转操作数的位 << 左移运算符,左操作数的位向左移动,右侧填补0,左移n位相当于乘以2的n次方。 >> 右移运算符,左操作数的位向右移动,如果是正数则在左侧填写0,如果是负数,在左侧填写1,右移n位相当于除以2的n次方。 >>> 无符号右移运算符,左操作数的位向右移动,高位填充0,低位直接去除。
JAVA移位运算符
Java移位运算符可以将操作数的位向左或向右移动指定的位数。在向左移位时,操作数的符号位将向左移动并且左侧空出的位补上0。在向右移位时,右侧空出的位补上0或1(符号位无论如何都不变)。
Java移位运算符列表:<< 左位移运算符,将操作数的位向左移动指定的位数 >> 右位移运算符,将操作数的位向右移动指定的位数 >>> 无符号右位移运算符,与右移类似,但是左侧用0来补位,符号位也改变了。
JAVA运算符综合实例
Java运算符综合实例:public class OperatorExample { public static void main(String[] args) { int number1 = 10; int number2 = 5; int number3 = 3; boolean test = true; // 算术运算符 System.out.println("Addition: " + (number1 + number2)); System.out.println("Subtraction: " + (number1 - number2)); System.out.println("Multiplication: " + (number1 * number2)); System.out.println("Division: " + (number1 / number2)); System.out.println("Modulus: " + (number1 % number2)); // 关系运算符 System.out.println("Greater than: " + (number1 > number2)); System.out.println("Less than: " + (number1 < number2)); System.out.println("Greater than or equal to: " + (number1 >= number2)); System.out.println("Less than or equal to: " + (number1 <= number2)); System.out.println("Equal to: " + (number1 == number2)); // 逻辑运算符 System.out.println("AND: " + (test && (number1 > number2))); System.out.println("OR: " + (test || (number1 > number2))); System.out.println("NOT: " + !(number1 > number2)); // 位运算符 System.out.println("Bitwise AND: " + (number1 & number2)); System.out.println("Bitwise OR: " + (number1 | number2)); System.out.println("Bitwise XOR: " + (number1 ^ number2)); System.out.println("Bitwise NOT: " + ~number1); System.out.println("Left Shift: " + (number1 << 1)); System.out.println("Right Shift: " + (number1 >> 1)); System.out.println("Unsigned Right Shift: " + (number1 >>> 1)); // 赋值运算符 number1 += number2; System.out.println("Add and Assign: " + number1); number1 -= number2; System.out.println("Subtract and Assign: " + number1); number1 *= number2; System.out.println("Multiply and Assign: " + number1); number1 /= number2; System.out.println("Divide and Assign: " + number1); number1 %= number2; System.out.println("Modulus and Assign: " + number1); number1 <<= number2; System.out.println("Left Shift and Assign: " + number1); number1 >>= number2; System.out.println("Right Shift and Assign: " + number1); number1 &= number2; System.out.println("Bitwise AND and Assign: " + number1); number1 ^= number2; System.out.println("Bitwise XOR and Assign: " + number1); number1 |= number2; System.out.println("Bitwise OR and Assign: " + number1); } }以上代码输出如下:
Addition: 15 Subtraction: 5 Multiplication: 50 Division: 2 Modulus: 0 Greater than: true Less than: false Greater than or equal to: true Less than or equal to: false Equal to: false AND: true OR: true NOT: false Bitwise AND: 0 Bitwise OR: 15 Bitwise XOR: 15 Bitwise NOT: -11 Left Shift: 20 Right Shift: 5 Unsigned Right Shift: 5 Add and Assign: 15 Subtract and Assign: 10 Multiply and Assign: 50 Divide and Assign: 10 Modulus and Assign: 0 Left Shift and Assign: 160 Right Shift and Assign: 20 Bitwise AND and Assign: 0 Bitwise XOR and Assign: 5 Bitwise OR and Assign: 5
总结
本文介绍了Java运算符的种类、使用方法及其应用。Java运算符有不同的优先级,当表达式包含多个运算符时,运算符会按照预定顺序进行计算。Java位运算符是对二进制数进行操作的运算符,直接对二进制操作,不做转换。而Java移位运算符可以将操作数的位向左或向右移动指定的位数。通过本文,希望读者能够更好地理解Java运算符,并灵活地运用他们在代码中。