一、自动化类型转换:在某种条件下,系统自动完成类型转换也称为隐含转换
① 两种类型兼容
② 目标类型大于源类型
③ 对于表达式,如果一个操作数为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 }
二、强制类型转换:在一定条件下,程序员手动完成类型转换
① 两种类型兼容
② 一般目标类型小于源类型
③ ☆强制类型转换会丢失精度
④ 示例: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 }
总结 byte < short(char) < int < long < float < double
三、位运算符