Java 运算符
Java 运算符
什么是运算符?
在Java编程中,操作数和运算符协同完成各种运算。操作数可以是常量、变量、表达式等,而运算符则是指示这些操作数如何运算的符号。
Java中的运算符类型
Java中的运算符可分为以下几类:
- 算术运算符:用于完成基本的算术运算,包括加、减、乘、除等。
- 赋值运算符:用于给变量赋值,包括简单赋值、算术赋值、位运算赋值等。
- 比较运算符:用于比较两个值的大小关系,包括等于、大于、小于等。
- 逻辑运算符:用于判断两个条件是否同时成立,包括与、或、非等。
- 位运算符:用于处理整数类型变量的二进制位,包括按位与、按位或、按位异或等。
- 三目运算符:用于简化条件语句的书写,包括条件表达式、null安全操作符等。
- 类型转换运算符:用于将一个数据类型转换为另一个数据类型。
算术运算符
算术运算符包括加、减、乘、除、求余等,用于基本的算术运算。
- 加:
+
- 减:
-
- 乘:
*
- 除:
/
- 求余:
%
int a = 10;
int b = 3;
int c;
// 加法
c = a + b; // c = 13
// 减法
c = a - b; // c = 7
// 乘法
c = a * b; // c = 30
// 除法
c = a / b; // c = 3
// 求余
c = a % b; // c = 1
赋值运算符
赋值运算符用于给变量赋值,包括简单赋值、算术赋值、位运算赋值等。赋值运算符的优先级较低。
赋值运算符格式如下:
变量 = 表达式;
常见的赋值运算符包括:
- =:简单赋值运算符,将等号右侧的表达式的值赋给左侧的变量。
- +=:算术赋值运算符,相当于
x = x + y
。 - -=:算术赋值运算符,相当于
x = x - y
。 - *=:算术赋值运算符,相当于
x = x * y
。 - /=:算术赋值运算符,相当于
x = x / y
。 - %=:算术赋值运算符,相当于
x = x % y
。 - «=:位运算赋值运算符,左移位并赋值,相当于
x = x << y
。 -
=:位运算赋值运算符,右移位并赋值,相当于
x = x >> y
。 - &=:位运算赋值运算符,按位与并赋值,相当于
x = x & y
。 - |=:位运算赋值运算符,按位或并赋值,相当于
x = x | y
。 - ^=:位运算赋值运算符,按位异或并赋值,相当于
x = x ^ y
。
// 简单赋值
int x = 10;
// 算术赋值
int y = 5;
y += x; // y = 15
// 位运算赋值
int z = 10;
z <<= 2; // z = 40
比较运算符
比较运算符用于比较两个值的大小关系,包括等于、大于、小于等。比较运算符返回布尔类型的值,即true
或false
。
常见的比较运算符包括:
- ==:相等运算符,用于判断两个值是否相等。
- !=:不等运算符,用于判断两个值是否不相等。
- <:小于运算符,用于判断左侧的值是否小于右侧的值。
-
:大于运算符,用于判断左侧的值是否大于右侧的值。
- <=:小于等于运算符,用于判断左侧的值是否小于或等于右侧的值。
-
=:大于等于运算符,用于判断左侧的值是否大于或等于右侧的值。
int a = 10;
int b = 3;
boolean c = a == b; // c = false
c = a > b; // c = true
c = a <= b; // c = false
逻辑运算符
逻辑运算符用于判断两个条件是否同时成立,包括与(&&)、或(||)、非(!)等。
常见的逻辑运算符包括:
- &&:与运算符,用于判断两个条件是否同时成立,两个条件都为
true
时返回true
,否则返回false
。 - ||:或运算符,用于判断两个条件是否有一项成立,只要其中一个条件为
true
就返回true
,否则返回false
。 - !:非运算符,用于对一个布尔类型变量取反。
int a = 10;
int b = 3;
boolean c = a > 5 && b < 7; // c = true
c = a > 5 || b < 7; // c = true
c = !(a > b); // c = false
位运算符
位运算符用于处理整数类型变量的二进制位,包括按位与(&)、按位或(|)、按位异或(^)等。
常见的位运算符包括:
- &:按位与运算符,将两个值的二进制位进行与运算,结果中的每一位都是两个值对应位中都为1的情况下该位才为1,否则为0。
- |:按位或运算符,将两个值的二进制位进行或运算,结果中的每一位都是两个值对应位中任意一个为1的情况下该位就为1,否则为0。
- ^:按位异或运算符,将两个值的二进制位进行异或运算,结果中的每一位都是两个值对应位不相同的情况下该位才为1,否则为0。
- ~:取反运算符,用于取反一个整数的所有位。
int a = 0b0011;
int b = 0b0101;
int c = a & b; // c = 0b0001
c = a | b; // c = 0b0111
c = a ^ b; // c = 0b0110
c = ~a; // c = 0b1100
三目运算符
三目运算符用于简化条件语句的书写,包括条件表达式、null安全操作符等。
常见的三目运算符包括:
- ?::条件表达式,三目运算符的简写形式,用于根据一个条件选择不同的值。
- ??:null安全操作符,用于判断一个变量是否为
null
,如果是则返回一个默认值,否则返回原变量的值。
// 条件表达式
int a = 10;
int b = 3;
int c = a > b ? a : b; // c = 10
// null安全操作符
String str = null;
String result = str ?? "Hello World"; // result = "Hello World"
类型转换运算符
类型转换运算符用于将一个数据类型转换为另一个数据类型。
常见的类型转换运算符包括:
- (int):强制类型转换运算符,将一个变量转换为整数类型。
- (double):强制类型转换运算符,将一个变量转换为双精度浮点数类型。
- (String):强制类型转换运算符,将一个变量转换为字符串类型。
int a = 10;
double b = (double)a; // b = 10.0
String str = "123";
int c = Integer.parseInt(str); // c = 123