分类: Java
2017-05-24 15:59:50
Java基本数据类型的装换顺序如下所示:
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
由低到高装换:Java基本数据类型由低到高的装换是自动的.并且可以混合运算,必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型 比如:
/**
* 基本数据类型的转换
*
*/ public class Convert { public static void main(String[] args) {
upConvert();
System.out.println("=====================我是分割线========================");
downConcert();
} /**
* 向上转换
*/ public static void upConvert(){ char c = 'a'; byte b = (byte) c; short s = b; int i = s; long l = i; float f = l; double d = f;
System.out.println(c);
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(d);
} /**
* 向下转换
*/ public static void downConcert(){ double d = 97.0; float f = (float) d; long l = (long) f; int i = (int) l; short s = (short) i; byte b = (byte) s; char c = (char) b;
System.out.println(c);
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(d);
}
}
运行结果为:
a
97
97
97
97
97.0
97.0
=====================我是分割线========================
a
97
97
97
97
97.0
97.0
注意:
数据类型转换必须满足如下规则:
1. 不能对boolean类型进行类型转换。
2. 不能把对象类型转换成不相关类的对象。
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4. 转换过程中可能导致溢出或损失精度 比如:
/**
* byte类型的最大值我127
* 当int的值为128是就会溢出
*/ public class Test { public static void main(String[] args) { int i = 128; byte b = (byte) i;
System.out.println(i);
System.out.println(b);
}
}
class Test2{ public static void main(String[] args) { int i = (int) 23.7;
System.out.println(i);
}
}
明天开始接接触Java变量的申明及使用.