1.为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量。
2.自动类型转换是什么样的?
类型范围小的变量。可以直接赋值给类型范围大的变量。
3.表达式的自动类型转换是什么样的?
小范围的类型会自动转换为大范围的类型运算
4.表达式的最终结果是由谁来决定的?
最终类型由表达式中的最高类型来决定
5.表达式中有哪些类型转换是需要注意的?
在表达式中,type,char,short是直接转换成int类型参与运算的
6.什么是强制类型转换?
可以强行将范围大的变量、数据赋值给范围小的变量
7.强制类型转换有哪些需要注意
可能出现数据丢失
小数强制转换成整数是直接截断小数保留整数
下面是代码示例:
public class TypeDemo {
public static void main(String[] args) {
// 目标理解自动类型转换
byte a = 20;
int b = a; //发生了自动类型转换
System.out.println(a);
System.out.println(b);
int age = 23;
double db = age; //自动类型转换
System.out.println(db);
char ch = 'a';
int code = ch;
System.out.println(code);
}
}
public class TypeDemo1 {
public static void main(String[] args) {
//掌握表达式的自动类型转换的规则
byte a = 10;
int b = 20;
double c = 1.0;
double rs = a+b+c;
System.out.println(rs);
double rs2 = a+b-2.3;
System.out.println(rs2);
byte i = 10;
byte j = 20;
//i + j 应该用什么类型接收
int k = i+j;
System.out.println(k);
}
}
public class TypeDemo3 {
public static void main(String[] args) {
//理解强制类型转换并使用
int a = 20;
byte b= (byte) a; //强制类型转换
System.out.println(a);
System.out.println(b);
int i = 1500;
byte j = (byte) i;
System.out.println(j);
}
}