运算符
运算符:一种告诉编译器执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符 分类 算术运算符 关系运算符 逻辑运算符 赋值运算符 条件运算符 位运算符 类型比较运算符 字符串连接运算符等 |
1. 算术运算符
算术运算符用于执行常见的数学运算⮷
+,-,*,/,%,++,- -
自增自减:不参与运算(不被使用时),值增,减1
参与赋值运算时,a++的值为a(b=a++ 🡺 先进行b=a,再a=a+1)
- 算术运算符(x=5,y=2下同)
运算符 | 名称 | 描述 | 实例 | 结果 |
---|---|---|---|---|
+ | 加法 | 两个值相加 | x + y | 7 |
- | 减法 | 一个值减去另一个值 | x - y | 3 |
* | 乘法 | 两个值相乘 | x * y | 10 |
/ | 除法 | 分子除以分母 | x / y | 2.5(java中为2,取整) |
% | 取模/取余 | 整除后的余数 | x % y | 1 |
++ | 自加 | 整数值增加 1 | ++x | 6 |
– | 自减 | 整数值增加 1 | ++x | 3 |
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符:算术运算符
*/
// 取模运算
System.out.println("取模运算:(商2余2)" + (8 % 3) + "\n商0余2:" + (2 % 5));
// 自增运算
int a = 10, b = 10;
int c = a++, d = ++b;
System.out.println("未参与计算a=%d\n 未参与计算b=%d\n 参与计算c=%d\n 参与计算d=%d".formatted(a, b, c, d));
}
}
2. 关系运算符
关系运算符:值为布尔型⮷
运算符 | 名称 | 实例 | 结果 |
---|---|---|---|
== | 等于 | x == y | false |
!= | 不等于 | x != y | true |
> | 大于 | x > y | true |
< | 小于 | x < y | false |
>= | 大于或等于 | x >= y | true |
<= | 小于或等于 | x <= y | false |
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符
*/
int a = 10, b = 10;
// 关系运算(值为boolean类型)
boolean v = a <= 5;
System.out.println("关系运算的值v=" + v);
System.out.println("关系运算:" + (a++ > 5));
System.out.println("关系运算:" + (a % b == 0));
}
}
3. 逻辑运算符
逻辑运算符⮷用于多条件运算,返回布尔值
逻辑与:&&
逻辑或:||
逻辑非:!
运算符 | 名称 | 描述 | 实例 | 结果 |
---|---|---|---|---|
&& | 逻辑与 | 如果两个语句都为true,则返回true | x > 2 && y < 5 | true |
|| | 逻辑或 | 如果其中一条语句为true,则返回true | x < 2 || y > 5 | true |
! | 逻辑非 | 反转结果,如果结果为真则返回false | !(x < 5 && x < 1) | true |
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符
*/
// 自增运算
int a = 10, b = 8, c = 20;
// 逻辑运算(值为boolean类型)
boolean v = (a > b )&& (b > c);
System.out.println("逻辑运算值:" + v);
// 范围判断
System.out.println("逻辑运算:" + ((a >= b) && (a >= c)));
System.out.println("逻辑运算:" + ((a >= b) || (a >= c)));
System.out.println("逻辑运算:" + !((a >= b) && (a >= c)));
System.out.println("逻辑运算:" + (!(a >= b) || (a >= c)));
}
}
4. 赋值运算符
赋值运算符⮷用于给变量赋值操作
基础赋值运算法: =
拓展赋值运算符:+=,-=,*=,/=,%=等,其自带数据类型强转功能
运算符 | 名称 | 描述 | 语法 | 等价 |
---|---|---|---|---|
= | 简单的赋值运算符 | 将右操作数的值赋给左边的变量 | c = a + b | 将把a + b得到的值赋给c |
+= | 加和赋值操作符 | 把左操作数和右操作数相加赋值给左边的变量 | c += a | c = c + a |
-= | 减和赋值操作符 | 左操作数和右操作数相减赋值给左边的变量 | c -= a | c = c - a |
*= | 乘和赋值操作符 | 左操作数和右操作数相乘赋值给左边的变量 | c *= a | c = c * a |
/= | 乘和赋值操作符 | 把左操作数和右操作数相除赋值给左边的变量 | c /= a | c = c / a |
%= | 取模和赋值操作符 | 把左操作数和右操作数取模后赋值给左边的变量 | c %= a | c = c%a |
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符
*/
// 赋值运算符(拓展赋值运算符自带强转功能)
int i = 10;
// i += 10相当于i = (int)(i + 10)
System.out.println("强转功能:" + (i += 10));
short s = 20;
s = (short)(s*2);
s *= 2;
System.out.println("自动转换:" + s);
}
}
5. 字符串连接运算符
字符串连接运算符⮷字符串连接运算符是进行字符串连接的运算符
1.若两边为数字,则做加法运算
2.若两边出现了符串,则做字符串连接
3.有字符串参与的计算,会直接转为字符串
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符
*/
// 字符串连接符
System.out.println(10 + 20 + "" + 30);
System.out.println("" + 10 + 20 + 30);
System.out.println(10 + 20 + 30 + "");
}
}
6. 条件运算符
条件运算符⮷也称为三元运算符,是一种在程序中根据条件选择执行不同操作的运算符
语法:条件 ? 表达式1 : 表达式2
重点代码演示🡾
package bases;
public class Demo03_Operator {
public static void main(String[] args) {
/*
运算符
*/
// 条件运算符
int num = 20;
int flag = num > 50 ? 1 : -1;
System.out.println(flag);
// 求两个数的最大值
int n = 10, m = 20;
int max = n > m ? n : m;
System.out.println("最大值:" + max);
}
}