day02-数据类型转换-强制类型转换
This commit is contained in:
26
day02/src/com/inmind/Demo02.java
Normal file
26
day02/src/com/inmind/Demo02.java
Normal file
@@ -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,由此证明,强转会丢失精度,强转在基本数据类型中使用较少,大多在引用数据类型中多态中使用
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user