类型转换,位运算符

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

①   两种类型兼容

②   目标类型大于源类型

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

三、位运算符

原文地址:https://www.cnblogs.com/wzy330782/p/5251896.html