1.Java数据类型
实例
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
强制类型转换 和 自动类型转换 的区别 注意在转换的时候避免内存益处
强制转换 (类型)变量名 高-到-低 强制转换 内存会益处
自动转换 低-到-高
/*
* 注意事项:
* 1.不能对布尔类型进行转换 —> boolean
* 2.不能把对象类型转换为不相干的类型 把比方 人不能转换成为狗。 但可以把男人变成女人,因为他们是同类的所以可以转换
* 3.在把高容量转换到低容量的时候,属于强制转换 会出现内存益处的情况
* 4.转换时可能出现内存益处,或者精度问题
* */
/**
* @Author: 阿波罗
* @Date: 2021/11/21 1:54
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class demo05 {
public static void main(String[] args) {
// 低 ------------------------------------> 高
//
// byte,short,char—> int —> long—> float —> double
//强制类型转换 和 自动类型转换 的区别 注意在转换的时候避免内存益处
int i = 128;
byte b = (byte) i;//强制类型转换 内存益处 byte最大值是127 也就是2的7次方减1 最小值-128(-2^7) 必需加括号
double c = i;//自动类型转换 低-到-高 不需加括号 什么都不需要做不需要加
System.out.println(i);
System.out.println(b);
System.out.println(c);
//强制转换 (类型)变量名 高-到-低 强制转换 内存会益处
//自动转换 低-到-高
/*
* 注意事项:
* 1.不能对布尔类型进行转换 ---> boolean
* 2.不能把对象类型转换为不相干的类型 把比方 人不能转换成为狗。 但可以把男人变成女人,因为他们是同类的所以可以转换
* 3.在把高容量转换到低容量的时候,属于强制转换 会出现内存益处的情况
* 4.转换时可能出现内存益处,或者精度问题
* */
System.out.println("=============================================");
System.out.println((int) 23.7);//23
System.out.println((int) -45.89f);//45
System.out.println("=============================================");
char c1 = 'a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于" + i1);
System.out.println("=============================================");
char c2 = 'A';//定义一个char类型
int i2 = c2 + 1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于" + i2);
System.out.println("=============================================");
char e1 = 'b';
int e2 = e1 + 1;//此时e2为int类型 自动转换 (低--高)
System.out.println((int) e1);//98 =>b
System.out.println(e2);//98+1=99 99=>c
System.out.println((char) e2);//此e2又被转换为char类型 属于强制转换(高--低)
}
}