运算符
运算符: 用来在编程过中对各种数据进行处理运算的符号
算术运行符
其实就是常见的数学运行符,不过有些地方有点不同
符号 | 作用 | 不同之处 |
---|---|---|
+ | 加 | 单纯使用数字参与运算的时候和数学中的+没有不同 |
- | 减 | 无 |
* | 乘 | 无 |
/ | 除 | 整数相除只能得到整数,如果想得到小数必须使用小数参与计算 例如: int num = 10/3; //num的值为3而不会是3.333 |
% | 取余 | 获取的是两个数据做整除后得到的余数 int num = 10%3; |
如果字符参与了运算:
char类型参与算术运算,会把字符转换成对应的数字(参照 [ASCII 码表](img%5Cimage-20200815160249620.png))然后参与运算。
char c = 'A';
System.out.println(c+0);
如果字符串参与了+运算:
当“+”操作中出现字符串时,这个”+”是会进行字符串的拼接,而不会进行数据的计算
System.out.println("夜半三更三更看了"+3+"遍小白船"); // 夜半三更三更看了3遍小白船
练习
1.尝试定义3个变量分别存储语文,数学,英语的分数,使用键盘输入的方式让用户输入对应的分数。然后去打印总分和平均分。
2.判断下面代码的执行结果
System.out.println('a'+10+"bc"+'d'+10);//107bcd10
赋值运算符
可以用来修改变量的值。赋值运行符左边写要被修改值的变量名,右边写参与计算的值,这个值可以是具体的值也可以是变量。
符号 | 功能 | 举例 |
---|---|---|
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a+=10; //相当于a =(a的数据类型) (a + 10); |
-= | 减后赋值 | a-=b;//相当于a =(a的数据类型) (a - b); |
*= | 乘后赋值 | a=b;//相当于a =(a的数据类型) (a b); |
/= | 除后赋值 | a/=b;//相当于a =(a的数据类型) (a / b); |
%= | 取余后赋值 | a%=b;//相当于a =(a的数据类型) (a % b); |
自增自减运算符
符号 | 作用 | 举例 |
---|---|---|
++ | 自增 | a++;//相当于a = a+1; |
— | 自减 | a—;//相当于a = a - 1; |
注意:
++和--可以写在变量的前面也可以写在变量的后面,单独写的时候写前面写后面都没有区别.区别就在和其它运算符一起写.<br /> ++**写在变量前**的时候**先自增**然后再参与其他运算<br /> ++**写在变量后面**的时候先参与其它运算**后自增**
public class Demo03 {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = a++;
int d = ++b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
**爬山警告:如果想让领导带你去爬山的话,在公司中写代码的时候可以把自增自减运算符和其他运行放在一起使用。**
例如:
int a = 5;
int c = 10;
int b = 20;
int d = ++a+b+++c+++(a+b);
System.out.println(d);
比较运算符
让计算机帮我们去比较数值之间的关系是否正确。
== 比较左右两边是否相等,结果是布尔类型的
< 比较左边是否小于右边,结果是布尔类型
> 比较左边是否大于右边,结果是布尔类型
<= 比较左边是否小于等于右边,结果是布尔类型
>= 比较左边是否大于等于右边,结果是布尔类型
!= 比较左右两边是否不相等,如果不相等结果是true,否则是false
逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 逻辑与 | 理解成并且的意思,左右两边都要为真才为真 |
| | 逻辑或 | 理解成或者的意思,左右两边只要有一个为真就为真 |
^ | 逻辑异或 | 左右两边不同结果才为真 |
! | 逻辑非 | 取反 |
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
你听懂了这个知识点 或者 你没听懂这个知识点
你是女生并且你是男生
短路效果:左边表达式的结果确定之后,如果整个表达式的结果已经被确定了,就不会去执行右边的表达式
例如:
int x = 10;
int y = 15;
//System.out.println((x++ > 4) | (y++ > 5)); // 两个表达都会运算
System.out.println((x++ > 4) || (y++ > 5)); // 左边已经可以确定结果为false,右边不参与运算
三元运算符
格式
布尔表达式?表达式1:表达式2;
执行流程
先判断布尔表达式的结果,如果结果为true三元表达式的结果就是表达式1的值,否则就是表达式2的值。因为肯定会有一个结果。所以我们在使用的时候需要把这个结果使用(用变量保存,打印等)起来。不然就没有意义。
例如:
int a = 10;
int b = 20;
int result = a==b?a:b;
System.out.println(result);
练习
1.键盘录入两个数,求两个数中的最大值并打印
public static void main(String[] args) {
// 键盘录入两个数,求两个数中的最大值并打印
//键盘录入2个数
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = sc.nextInt();
System.out.println("请输入第二个数");
int b = sc.nextInt();
//判断a>b嘛 ,如果成立 最大值就是a 负责就是b
int result = a>b?a:b;
System.out.println("最大值为"+result);
}
作业
1.键盘录入三个数,求三个数的最大值并打印 可以加入讨论交流QQ群进行讨论