欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础练习1(数据类型转换)

程序员文章站 2022-11-27 16:55:20
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