一、自动化类型转换:在某种条件下,系统自动完成类型转换也称为隐含转换
① 两种类型兼容
② 目标类型大于源类型
③ 对于表达式,如果一个操作数为double型,则整个表达式可提升为double型
④ 示例:int i=10;double d=i;
1 public class DataDemo2 2 { 3 public static void main(String [] aras){ 4 //自动类型转换(隐式转换) 5 byte num1=10; 6 int num2=num1; 7 System.out.println(num2); 8 long num3=num2; 9 System.out.println(num3);10 11 float f=10.5f;12 double d=f;13 System.out.println(d);14 15 int num4=100;16 float num5=num4;17 System.out.println(d);18 19 char c1='a';20 int num6=c1;//字符赋值个整型变量21 System.out.println(c1);22 System.out.println(num6);23 System.out.println(c1+10);24 }25 }
View Code
二、强制类型转换:在一定条件下,程序员手动完成类型转换
① 两种类型兼容
② 一般目标类型小于源类型
③ ☆强制类型转换会丢失精度
④ 示例:double d=100;int i=(int)d;
1 public class DataDemo2 2 { 3 public static void main(String [] aras){ 4 //强制类型转换(显式转换) 5 int num7=10; 6 short num8=(short)num7; 7 System.out.println(num8); 8 9 float num9=(float)10.25;10 System.out.println(num9);11 12 int num10=65;13 char num11=(char)num10;14 System.out.println(num11);15 16 int num12=10;17 double num13=10.6;18 double res=num12+num13;19 System.out.println(res); 20 }21 }
View Code
总结 byte < short(char) < int < long < float < double
原标题:Java学习 (四)、类型转换
关键词:JAVA