Java基础练习1(数据类型转换)
程序员文章站
2022-04-09 10:08:31
Java数据类型转换的部分练习和注意点(double类型减法、类型转型、变量相加) ......
1.下列代码的输出结果是:()(单选)
public static void main(string[] args){ double money = 3.0; money -= 2.9; system.out.println(money); }
a. 0.1
b. 0.099
c. 0
d.0.10000000000000009
答案:d
解析:2.9转换为二进制数时进行运算,会丢失精度
2.下列数据类型转换,必须进行强制类型转换的是:()
a.byte→int
b.short→long
c.float→double
d.int→char
答案:d
解析:数据类型转换:(反过来转换要强制转型,可能会丢失精度)
char→
byte→short→int→long→float→double
3.下列赋值语句中,正确的是:()
a.byte b1 = 10, b2 = 20; byte b=b1+b2;
b.byte b1 = 10, b2 = 20; byte b=b1+20;
c.byte b1 = 10, b2 = 20; byte b=b2+10;
d.byte b1 = 10; byte b=++b1;
答案:d
详解:两个字面量相加为char或者int
变量和字面量相加只能为int类型
变量和变量相加只能为int
byte 与 byte(或short、char)类型进行运算时会自动转换为int类型,两个int类型相加之后也是int类型,需强制转换为byte类型
拓展运算符(++,--,+=,-=,*=等)不改变数据类型,但可能会丢失精度
byte b = ++b1; 等价于 byte b =(byte)(b1+1);
每日笔记:java中,字符串在不同字符编码中字母和汉字占字节数情况:
①unicode:字母 2 汉字 2 占位符 2
②gbk: 字母1 汉字2
③utf-8:字母1 汉字3