Java ——类型转换 向args传递参数
本节重点思维导图
自动类型转换
整型、实型(常量)、字符型数据可以混合运算
运算中,不同类型的数据先转化为同一类型,然后进行运算
转换从低级到高级
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
自动类型转换
必须满足转换前的数据类型的位数要 低于 转换后的数据类型
例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。
public class Demo { public static void main(String[] args) { char c1='a';//定义一个char类型 int i1 = c1;//char自动类型转换为int System.out.println("char自动类型转换为int后的值等于"+i1); char c2 = 'A';//定义一个char类型 int i2 = c2+1;//char 类型和 int 类型计算 System.out.println("char类型和int计算后的值等于"+i2); } }
结果:
解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66。
char自动类型转换为int后的值等于97
char类型和int计算后的值等于66
强制类型转换
-
1. 条件是转换的数据类型必须是兼容的。
-
2. 格式:
类型1 变量1 = (类型1)变量2;
public class Demo { public static void main(String[] args) { int i = 128; byte x = (byte) i; System.out.println("128-->"+x); int ii = 127; byte xx = (byte) ii; System.out.println("127-->"+xx); int j = 256; byte x2 = (byte) j; System.out.println("256--> "+x2); } }
结果:
128-->-128 127-->127 256--> 0
向args传递参数
数据类型转换的补充
包装类过渡类型转换
一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了
例如:希望把float型转换为double型
float f1=100.00f; Float F1=new Float(f1); double d1=F1.doubleValue();//F1.doubleValue()为Float类的返回double值型的方法
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。
利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。