Java运算符(二)
算术运算符
1.1运算符和表达式
运算符:对常量和变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以成为表达式
不同运算符连接的表达式体现的是不同类型的表达式
举例说明:
int a=10;
int b=20;
int c=a+b;
+:是运算符,并且是算术运算符
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
1.2算术运算符
符号 | 作用 | 说明 |
+ | 加 | |
- | 减 | |
* | 乘 | |
/ | 除 | |
% | 取余 | 获取的是两个数据做除法的余数 |
//定义两个变量
int x = 6;
int y = 4;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
System.out.println(x%y);
//除法得到的是商,取余得到的是余数
//整数相除只能得到整数,要想得到小数,必须有浮点数的参与
System.out.println(6.0/4);
注意事项:
/和%的区别:两个数据做除法,/取结果的商,%取结果的余数
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算
1.3字符的"+"操作
//定义两个变量
int z=10;
char c='A';//'A'的值是45
System.out.println(c+z);
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升
提升规则:
byte类型,short类型和char类型将被提升到int类型
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char->int->long->float->double
//char ch=i+c;
//char类型会被自动提升为int类型
int gg=z+c;
System.out.println(gg);
1.4字符串的"+"操作
当"+"操作中出现字符串时,这个"+"是字符串连接符,而不是算术运算
"编程"+666
当"+"操作中,如果出现了字符串,就是连接运算符,否则就是算术运算,当连续进行"+"操作时,从左到右逐个执行
1+99+"年黑马"
赋值运算符
2.1赋值运算符
符号 | 作用 | 说明 |
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | |
-= | 减后赋值 | |
*= | 乘后赋值 | |
/= | 除后赋值 | |
%= | 取余后赋值 |
注意事项:
扩展的赋值运算符隐含了强制类型转换
自增自减运算符
符号 | 作用 | 说明 |
++ | 自增 | 变量的值加1 |
-- | 自减 | 变量的值减1 |
//定义变量
int i=10;
System.out.println(i);
//单独使用
++i;
System.out.println("i:"+i);
//参与操作使用
int j=i++;
System.out.println("i:"+i);
System.out.println("j:"+j);
注意事项:
++和--既可以放在变量的后边,也可以放在变量的前边
单独使用的时候,++和--无论是放在变量的前边还是后边,结果是一样的
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或--.
参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作
最常见的用法:单独使用
关系运算符
4.1关系运算符
符号 | 说明 |
== | |
!= | |
> | |
>= | |
< | |
<= |
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false
千万不要把"=="误写成"="
逻辑运算符
5.1逻辑运算符概述
在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6
在Java中,需要把上面的式子先进行拆解,再进行合并表达
拆解为:x>3和x<6
合并后:x>3&&x<6
&&其实就是一个逻辑运算符
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符
当然,逻辑运算符也可以连接布尔类型的常量或变量
符号 | 作用 | 说明 |
& | 逻辑与 | |
| | 逻辑或 | |
^ | 逻辑亦或 | |
! | 逻辑非 |
5.3短路逻辑运算符
符号 | 作用 | 说明 |
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
注意事项:
逻辑与&,无左边真假,右边都要执行
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行
最常用的逻辑运算符:&&、||、!
三元运算符
6.1三元运算符
格式:关系表达式?表达式1:表达式2;
范例:a>b?a:b
计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值是false,表达式2的值就是运算结果
int weight1=180;
int weight2=200;
boolean b = weight1==weight2 ? true:false;
System.out.println("b:"+b);