你的位置:首页 > Java教程

[Java教程]Java学习 (四)、类型转换,位运算符


一、自动化类型转换:在某种条件下,系统自动完成类型转换也称为隐含转换

①   两种类型兼容

②   目标类型大于源类型

③   对于表达式,如果一个操作数为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

三、位运算符