运算符
-
基本了解
-
运算符:对字面量或者对变量进行操作的符号
-
表达式:用运算符把字面量或者变量连接起来(符合java语法的句子)就可以称为表达式,不同运算符连接的表达式体现的是不同类型的表达式
-
如果在计算的时候有小数参与计算结果可能不准确---精度丢失
-
整数参与计算,结果只能得到整数;小数参与运算,结果可能是不准确的
-
取模,取余,实际也是除法运算,只不过得到的是余数
-
-
字符串”+“操作
-
当+操作中出现在字符串时,这个+是字符串连接符,将前后数据进行拼接,产生一个新的字符串
-
连续进行+操作时,从左到右逐个执行。1+99+”888“=100888
-
-
’ ‘字符运算 ASCII
-
char先转int,参照ASCII。 1+‘a‘=98
-
-
自增自减运算符
-
++ 变量+1
-
int a=10; int b=a++; b=10 先用后加
-
int a=10; int b=a++; b=11 先加后用
-
-
-- 变量-1
- 同++
-
-
赋值运算符(隐藏了强制类型转换)
-
= 赋值 int a=10 将10赋值给a
-
+= 加后赋值 a+=b 将a+b的值给a
-
-= 减后赋值 a-=b 将a-b的值给a
-
x= 乘后赋值 a x=b 将a*b的值给a
-
/= 除后赋值 a/=b 将a/b的商给a
-
%= 取余后赋值a%=b 将a/b的余数给a
-
-
关系运算符
-
== 判断是否相等 成立true,不成立false
-
!= 判断是否不相等 ....
-
(>) (a>=b)判断a是否大于b ...
-
(>=) 判断a是否大于等于b...
-
< 判断a是否小于于b...
-
<= 判断a是否小于等于b...
-
-
逻辑运算符
-
& 逻辑与(且) 两边都为真,结果才为真
-
| 逻辑或 或者,两边都为假,结果才时假
-
^ 逻辑异或 相同为false,不同为true
-
! 逻辑非 取反
-
&& 短路运算符(与) 结果和&相同,但是有短路效果
-
|| 短路(||) 结果和||相同,但是有短路效果
-
-
三元运算符
-
格式:关系表达式 ?表达式1:表达式2
-
eg:a>b ?a:b
a>b取a否则取b
-
-
运算符优先级
-
()最大
-
-
其他运算符
-
<< 左移 向左移动,低位补0
-
>> 右移 向右移动,高位补0或1
-
>>> 无符号右移 向右移动,高位补0
-
类型转换
隐式转换(自动类型提升)
-
数据类型不一样,不能进行计算,取值范围小的转为取值范围大的
-
不需要自己操作byte--short--int---long---float---double
-
byte short char 三种类型在数据运算时会先提升为int,然后进行计算
强制转换
-
取值范围大的转为取值范围小的
-
格式:目标数据类型 变量名=(目标数据类型)被强制转换的数据
int a = 300; byte b=(byte)a;