Java基本数据类型的装换

    xiaoxiao2024-01-30  145

    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); } }

    运行结果为:a9797979797.097.0=====================我是分割线========================a9797979797.097.0注意:数据类型转换必须满足如下规则:

    不能对boolean类型进行类型转换。不能把对象类型转换成不相关类的对象。在把容量大的类型转换为容量小的类型时必须使用强制类型转换。转换过程中可能导致溢出或损失精度 比如: /** * 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变量的申明及使用.

    最新回复(0)