1.特点:代码不需要进行特殊处理,自动完成。
2.规则:数据范围从小到大。
1.特点:代码需要进行特殊的格式处理,不能自动完成。
2.格式:范围小的数据类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
3.注意事项:
(1)强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
例如:int num = (int) 100L;
(2)byte/short/char这三种类型都可以发生数学运算。
(3)byte/short/char这三种类型在运算的时候都会首先被提升成为int类型,然后再计算。
例如:byte num1 = 20;
byte num 2 = 30;
result = num1 + num2;
// byte + byte —> int + int;
所以result的数据类型是int ,不是byte;
(4)boolean类型不能发生数据类型转换。
特殊记忆:ASCII值为48:代表数字0;(0~9依次类推)
ASCII值为65:代表大写字母A;(A~Z依次类推)
ASCII值为97:代表小写字母a;(a~z依次类推)
(1)除法:对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商不看余数。
例如:10/3=3;
(2)四则运算中"+"的三种用法
1)对于数值来说,就是正常的加法。
2)对于字符char类型来说,在计算之前,char会被提升成int,然后再计算。对照ASCII表或者Unicode表。
3)对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串。
取余数: 只有对于整数的除法来说,取模运算符才有余数的意义。
注意事项:
一旦运算中有不同类型的数据,那么结果将会是数据类型范围大的那个。
以自增运算为例:
(1)基本含义:让变量加一
(2)使用格式:++num,也可以num++。
(3)使用方式:
1)单独使用:不和其他任何操作混合,自己独立成为一个步骤。
2)混合使用:和其他操作混合,例如与赋值混合,或者与打印混合等。
(4)使用区别:
1)单独使用的++num和num++结果没有任何区别。
2)混合使用时,前加加(++num)先加后用,后加加(num++)先用后加。
注意:只有变量才能使用自增自减运算,常量不可以。
(1)基本赋值运算符:
“=”:把等号右边的数据交给等号左边的变量。例如:int a =9;
(2)复合赋值运算符
+= a += 3 ------> a = a + 3
-= a -= 3 ------> a = a - 3
*= a *= 3 ------> a = a * 3
/= a /= 3 ------> a = a / 3
%= a %= 3 ------> a = a % 3
注意:
(1)只有变量才能使用赋值运算符,常量不能。
(2)复合赋值运算符中隐含了一个强制类型转换。
例如:byte a = 10;
a += 5; //a = a + 5 隐含了 byte + int---->int + int的转换
大于、小于、大于等于、小于等于、相等(==)、不相等(!=)
注意:
(1)比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false
(2)如果进行多次判断,不能连着写
与:&&
或:||
非:! (取反)
特殊记忆:与"&&",或"||",具有短路效果,根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
注意:逻辑运算符只能用于boolean值。
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反(!)、自增(++)、自减(–)。
二元运算符:需要两个数据才可以进行操作的运算符。例如:加法运算、赋值运算。
三元运算符:需要三个数据才可以进行操作的运算符。
(1)格式:数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;
(2)流程:首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋给左侧变量。
如果不成立为false,那么将表达式B的值赋给左侧变量。
二者选其一。
注意事项:
(1)必须同时保证表达式A和表达式B都符合左侧数据类型。
(2)三元运算符的结果必须被使用。(要么赋值给一个新的变量,要么放到打印输出语句里)