Java中的类型转换分为两种:自动类型转换(隐式类型转换)和强制类型转换(显式类型转换)。
1. 自动类型转换(隐式类型转换):当两个不同类型的数据进行运算时,Java会自动将较小的数据类型转换为较大的数据类型。例如,int类型和double类型进行运算时,int类型会自动转换为double类型。
```java
int a = 10;
double b = 3.14;
double c = a + b; // 这里a会自动转换为double类型,然后与b相加
System.out.println(c); // 输出:13.14
```
2. 强制类型转换(显式类型转换):当我们需要将较大的数据类型转换为较小的数据类型时,需要进行强制类型转换。这种转换可能会导致数据丢失。
```java
double a = 10.5;
int b = (int) a; // 将double类型的a强制转换为int类型,并赋值给b
System.out.println(b); // 输出:10
```
注意:在进行强制类型转换时,可能会出现数据丢失的情况,因此在进行强制类型转换时要谨慎。
什么是A S C I I 码表:
将字母和数字对应
'A' 65
'B' 66
'Z' 90
'a' 97
'b' 98
'z' 122
'0' 48
'1' 49
'9' 57
目标:
了解A S C I I 编码表
理解int类型和char类型的运算原理
public class DataConvert3 {public static void main(String[] args) {// 定义char类型的变量char c = 'A';System.out.println(c);// int 转成 char: 拿66去ASCII码表中找到对应的字母'B',将'B'赋值给c2变量char c2 = 66;System.out.println(c2); // 'B'char c3 = 'a';int i = 2;// char + int ==> int + int ==> intint i2 = c3 + i; // char转int: 拿c3的字母'a'去ASCII码表中找到对应数字97, 97 + 2 = 99System.out.println(i2);}
}
数据类型转换的注意事项:
1.常量不会自动转换.
2.boolean类型不能参与运算
public class DataConvert4 {public static void main(String[] args) {byte b1 = 1;byte b2 = 2;byte b3 = (byte)(b1 + b2); // 变量会自动转换byte b5 = 1 + b1; // 15: 错误: 不兼容的类型: 从int转换到byte可能会有损失// 1.常量不会自动转换.byte b4 = 1 + 2;// 2.boolean类型不能参与运算boolean bb1 = true;boolean bb2 = false;boolean bb3 = bb1 + bb2; // 18: 错误: 二元运算符 '+' 的操作数类型错误}
}