diff --git a/day02/src/com/inmind/Demo02.java b/day02/src/com/inmind/Demo02.java new file mode 100644 index 0000000..c7e113e --- /dev/null +++ b/day02/src/com/inmind/Demo02.java @@ -0,0 +1,26 @@ +package com.inmind; +/* +数据转换---强制转换(重点) +强制转换的格式: + 被转换到的数据类型 变量名 = (被转换到的数据类型)要被转换的数值; + 数据类型 变量名 = (数据类型)被转数据值; + byte b1 = (byte) (b+i); +强制转换:当要把大范围的数据类型赋值给小范围的数据类型时,要使用强制转换 + */ +public class Demo02 { + public static void main(String[] args) { + int i = 10;//10其实使用一个字节就可以表示完毕,使用4字节来保存可能有点浪费空间!! + byte b = (byte)i;//byte的取值范围:-128~127 + System.out.println(b); + + i = 200; + //直接将4字节的前3个字节舍弃掉,这样只剩一个字节导致,第一个比特位可能是0可能是1(强转是有风险的!!) + byte b1 = (byte) i; + System.out.println(b1);//-56 + System.out.println("------------------------------------"); + //小数能否强转??可以,小数强转为整数,直接将小数位舍弃 + double d = 3.14; + int i1 = (int)d; + System.out.println(i1);//3,由此证明,强转会丢失精度,强转在基本数据类型中使用较少,大多在引用数据类型中多态中使用 + } +}