一: 基本数据类型装换
1 实数常量默认为 double
2 整数常量默认为 int
3 容量大的数据类型装换为小的数据类型要加强制性装换,可能会精度降低;byte,short ,char 之间不能相互转换。
二: 代码练习
1.要修改的代码
/* 练习代码 */
//整形,字符,浮点型,在机器内部也是0101构成
//整形与字符相加 是与字符对应的ascii码进行相加
Void public method(){
Int i=1,j;
float f1 = 0.1,l2=888888888;
double d1 =2e20,d2 =124;
byte b1 = 1,b2 =2,b3 =129;
J = j+10;
I= i*0.1;
I=i/10;
char c1=’a’,c2=125; //ascii内部 只有常量可以这要赋值
byte b= b1-b2;
char c =c1+c2-1;
float f3= f1+f2;
float f4 =f1+f2*0.1;
double d =d1*i+j;
float f = (float)(d1*5+d2);
}
2.编译运行
3.修改完程序
public class method{
public static void main(String[] args){
int i=10,j=0; //初始化j变量
float f1 =(float)0.1,l2=888888888L;// 这种写法也是可以的 f1 = 0.1f;
float f2 = f1; //定义f2
double d1 =2e20,d2 =124;
byte b1 = 1,b2 =2,b3 =127;
j = j+10;
i= (int) (i*0.1);
i= (int) (i/10);
char c1= 'a',c2=125; //ascii内部 只有常量可以这要赋值
//byte b= b1-b2; //为什么相减 就变成int型 百度也没看到能解我疑惑的 希望网友们能解答
//char c =c1+c2; //与上面一样
float f3= f1+f2; //mei 定义f2
float f4 =(float)(f1+f2*0.1);
double d =d1*i+j;
float f = (float)(d1*5+d2);
}
}
//byte是一个字节,其中有8位,取值范围为 -128~+127,闭区间
//因为有符号,所以符号位占一位
//-128的二进制位 1000 0000 也就是0X80
//+127就是 0111 1111 也就是0X7F