数据类型转换:
当数据类型不一样时,将会发生数据类型转换:
1. 自动类型转换(隐式):1.代码不需要进行特殊处理,自动完成;2.数据范围从小到大
2.强制类转换(显式):1.代码需要特殊处理,不能自动转换;2.格式为:范围小的变量名=(范围小的类型)原本范围大的类型
注意事项:
1.强制类转换应防止精度损失,数据溢出
2.byte/short/char三种类型可以发生数学运算,运算提升为时会首先提升为int类型在计算
3.boolean类型不能发生数据转换
算术运算符
“+” 加法运算,字符串连接运算
“-” 减法运算
“*” 乘法运算
“/” 除法运算
“%” 取模运算,两个数相除取余数
“++”,“- -”自增自减运算
1.两个常量,两个变量,常量和变量之间都可以进行数学运算
2.对整数除整数,a/b结果为整数,只看商,不看余数,a%b只看余数。取模运算只对整数有意义。
3.不同类型之间的运算,结果为数据类型更大的类型。
“+”三种常见用法
1.对于数值来说是加法
2.对于字符char类型来说,在计算之前,char被提升为int然后计算(ASCII,Unicode表)
3.对于字符串String来说,代表字符串连接操作,任何数据类型和字符串连接时都会变字符串
注意:()内的运算优先计算
自增、自减运算符:“++”、“–”
含义:让一个变量涨一个数字1,或降一个数字1
格式:写在变量名称之前或之后
使用方式:
1.单独使用,自己独立为一个步骤
2.混合使用:和其他操作混合
A:前++,变量先+1,再使用
B:后++,变量先使用,再+1
注意:只有变量才能进行自增或自减操作
赋值运算符
基本赋值运算符:=
复合赋值运算符:
+= a+=3 a=a+3
-= b-=4 b=b-4
= c=5 c=c*5
/= d/=6 d=d/6
%= e%=7 e=e%7
注意:
1.只有变量能赋值,常量不能赋值
2.复合赋值运算符隐含了一个强制类型转换
比较运算符
“==”等于
“<”小于
">"大于
"<="小于等于
">="大于等于
"!="不等于
注意:
1.比较运算符的结果一定是一个boolean值
2.进行多次判断,不能连着写
逻辑运算符
与 && 全是true才是true,否则为false
或 || 至少有一个true就是true,全是false 才是false
非 !本来true变false,反之亦然
与,或具有短路效果,如果根据左边已经可以判断得到的最终结果,右边的代码将不再执行
注意
1.逻辑运算符只能用于boolean值
2.与,或需要左右各有一个boolean值,但是取反只要有唯一的boolean值即可
3.与,或两种运算符,如果有多个条件可以连续写
三元运算符
一元用算符:只要一个数据就可以操作的运算符
二元运算符:需要两个数据才能进行操作的运算符
三元运算符:需要三个数据才能进行操作的运算符
格式:数据类型 变量名称 =条件判断?表达式A:表达式B;
首先判断条件是否成立:
如果成立为true,将表达式A的值赋值给左边的变量;
如果不成立为false,将表达式B的赋值给左边的变量。
注意:
1.必须同时保证表达式A和表达式B都符合左侧类型数据要求
2.三元运算符的结果必须被使用