1.变量间的相互转换
int与long和double
*变量之间小范围变量可以直接赋值给大范围变量
*而大范围变量想要赋值给小范围变量需要进行强制转换,但可能出现精度丢失
int i=1;
long j=2;
double k=3.5;
i=j;//报错
i=k;//报错
j=i;//输出结果 1
k=i;//输出结果 1
int与byte/boolean
byte范围在 -128~127
byte i=120;
byte j=128;
System.out.println(i);//输出 120
System.out.println(j);//报错,提示由int转byte可能会有损失
boolean只有true和false两种取值,与int互不相干,无法相互赋值**
boolean i=true;
int j=10;
i=j;//报错
j=i;//报错
int与string
int转string
int a = 1;
// 方法1
String str1 = a + "";// 双引号 + 若干字符 表示字符串字面值.
// 方法2
String str2 = String.valueOf(a);
string转int
String str = "123";
int a = Integer.parseInt(str);
2.变量间的混合运算
int与long运算
int与long运算时,int会被提升成long,所得结果类型为long类型
若一定要所得结果为int类型,使用强制转换
int a = 10;
long b = 20;
int c = a + b; // 编译出错, 提示将 long 转成 int 会丢失精度
long d = a + b; // 编译通过
int c =(int) (a + b);//强制转换