目标
理解什么是自动类型转换,清楚自动类型转换的应用场景,能够独立自动类型转换
分析
-
为什么会存在数据类型转换
-
数据类型转换的类别
-
自动类型转换的应用场景
详解
-
为什么存在数据类型转换Java程序中要求参与计算的数据,必须要保证数据类型统一成一致,才可以参与运算,但是在实际开发中经常会遇到不同类型的数据进行运算。所以数据类型之间的转换是有必要。
-
数据类型转换的类别
-
自动类型转换
-
强制类型转换
-
-
自动类型转换应用场景
-
常量直接赋值给变量随便写一个整数, 如果它的范围在变量的范围之内是可以直接赋值给该类型的变量
int i = 1; // 自动类型转换: 1.随便写一个整数, 如果它的范围在变量的范围之内是可以直接赋值给该类型的变量。 byte b = 12 ; //byte b = 1299 ; // 报错 System.out.println(b);
- 小范围的变量给大范围的变量赋值
取值范围小的类型可以自动转换为取值范围大的类型 。也就是小范围变量到大范围变量是自动转换的。满足byte->short->int->long->float->double,其中char类型的变量可以直接自动转换给int类型的变量。。
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
public static void main(String[] args) { // 自动类型转换: 小范围类型的变量可以自动转换给大范围类型的变量。
byte b1 = 23 ;
int age = b1 ;
System.out.println(age);
// 自动类型转换: 小范围类型的变量可以自动转换给大范围类型的变量。
int s = 23122 ;
long lg = s;
System.out.println(s);
// 自动类型转换: 小范围类型的变量可以自动转换给大范围类型的变量。
long lg1 = 12231313 ;
double db = lg1 ;
System.out.println(db);
// 拓展: // 自动类型转换: 小范围类型的变量可以自动转换给大范围类型的变量。
// char是编号,但是字符编号的范围是有限的相对于int类型来说
// 是小范围的,所以可以自动转换。
char ch = '中' ;
int it = ch ;
System.out.println(it);
}
|
小结
-
自动类型转换是自动进行的,程序员无需做额外操作!
-
自动类型转换的场景
-
常量直接给变量赋值
-
小范围变量给大范围变量赋值
-
扩展
在java中所有数据都是有类型的,我们在操作过程中要注意基本类型与引用类型(包装类)之间也存在类型转换,但是在JDK1.5后,他们之间已经可以实现自动转换。