一、类型转换的概念和使用]——[自动类型转换]——[强制类型转换]
### --- 自动类型转换
~~~
——>Java语言中基本数据类型之间的转换方式:自动类型转换和强制类型转换
~~~
——>其中自动类型转换主要指从小类型到大类型之间的转换

二、强制类型转换
### --- 强制类型转换
~~~ ——>其中强制类型转换主要指从大类型到小类型之间的转换,语法格式如下:
~~~ ——>目标类型 变量名 = (目标类型)源类型变量名
~~~ ——>墙转
三、自动/强制类型转换编程
### --- 自动/强制类型转换编程
/*
编程实现基本数据类型之间转换的使用
*/
public class TransformTest {
public static void main(String[] args) {
// 1.声明两个变量并初始化
byte b1 = 10;
short s1 = 20;
// 2.打印变量的数值
System.out.println("b1 = " + b1); // b1 = 10
System.out.println("s1 = " + s1); // s1 = 20
System.out.println("----------------------------------------------");
// 3.实现自动类型转换的使用
// 表示将变量b1的数值赋值给变量s1,并覆盖变量s1中原来的数值,相当于从byte类型到short类型的转换,小到大 自动转换
s1 = b1;
System.out.println("b1 = " + b1); // b1 = 10
System.out.println("s1 = " + s1); // s1 = 10
System.out.println("----------------------------------------------");
// 4.实现强制类型转换的使用
// 表示将变量s1的数值赋值给变量b1,并覆盖变量b1中原来的数值,相当于从short类型到byte类型的转换,大到小 强制转换
//b1 = s1; // 错误: 不兼容的类型: 从short转换到byte可能会有损失
s1 = 128; // 故意加该行代码 128:0000 0000 1000 0000 => 1000 0000 => 0111 1111 => 1000 0000 => 128 => -128
b1 = (byte)s1;
System.out.println("b1 = " + b1); // b1 = 10 -128
System.out.println("s1 = " + s1); // s1 = 10 128
}
}
四、编译打印
### --- 编译
C:\Users\Administrator\Desktop\project>javac TransformTest.java
### --- 打印输出
C:\Users\Administrator\Desktop\project>java TransformTest
b1 = 10
s1 = 20
----------------------------------------------
b1 = 10
s1 = 10
----------------------------------------------
b1 = -128
s1 = 128