Java基础 Day02(个人复习整理)
1、数据类型转换
1>自动类型转换
当变量在做计算时可能会出现溢出的情况(数值超出当前数据类型所表示的区间范围)
为了避免此问题的出现,系统会在计算时做数据类型的自动提升。
小类型与大类型计算,会自动向大类型转换
转换形式:
1)byte short char在做计算时会自动提升为int数据类型
2)int和其他的数值计算也会出现溢出的情况,但是int不会提升,而是直接损失精度。
3)long类型与其余的整型做运算都是long类型
4)float在参与运算时,没有类型提升
5)double比较霸道。任何数值,不管是整型还是浮点型与double参与运算,最终必然是double
2>强制类型转换:意思是从大类型到小类型的转换。注:强制类型转换,需要注意精度缺失的问题!!!
转换语法:强制类型转换的语法 (目标数据类型)值
int a =128 byte b = (byte)a;
2、运算符
1>赋值运算符: =
2>算数运算符 :+ - * / % ++ --
1)java是强类型语言, 数据类型统一,整型与整型做除法得到的还是整型
2)取余操作针对的是整型数字
3)++递增 --递减
++在前先加1后赋值 ++在后先赋值后加1
--在前先减1后赋值 --在后先赋值后减1
3>复合运算符: += -= *= /= %=
a += b ==> a = a + b;
a += 2 ==> a = a + 2;
4>关系运算符:> < >= <= == !=
每一个表达式都有返回值,只不过不同的运算符组成的表达式返回值类型不一样,针对关系运算符,表达式的结果唯一,就是布尔类型,非真即假。
5>逻辑运算符
1)由逻辑运算符连接的表达式,返回值是布尔类型
2)&& 逻辑与 and 并且表达式1 && 表达式2
整体想要为真,必须满足表达式1与表达式2同时为真,一方为假整体就为假
3)|| 逻辑或 或者 or
表达式1 || 表达式2
整体想要为真,两个表达式只需要其中一个为真即可,只有当两个都为假时,整体才为假。
4)逻辑与 逻辑或的短路现象
同真为真 一假则假,同假为假 一真则真。
5)! 逻辑非 取反
练习://交换两个整型变量的值
public static void main(String[] args) { int a = 5, b = 7, c = a; c = a; b = b; a = a; System.out.println("a=" + c); System.out.println("b=" + b); }