Java 变量类型转换的选择题
1、以下关于Byte和byte类型转换的说法,正确的是?
A. Byte不能转换为byte
B. byte自动装箱为Byte,属于自动类型转换
C. Byte强制转换为byte时会报错
D. 两者不存在任何转换关系
2、执行代码short s = 10; int i = s + 5;,这里涉及的类型转换是?
A. 无类型转换
B. 自动类型转换
C. 强制类型转换
D. 错误代码,无法执行
3、若Float类型变量f的值为3.14f,将其转换为int类型,正确的操作是?
A. int num = f;
B. int num = (int)f.floatValue();
C. int num = Float.parseInt(f);
D. int num = (int)f.toString();
4、当执行byte b1 = 120; byte b2 = 10; byte b3 = (byte)(b1 * b2);时,b3的值是?
A. 1200
B. 编译错误
C. -40
D. 运行时异常
5、下列哪种类型转换会触发 Java 的类型提升机制?
A. byte转short
B. int转long
C. char与int做加法运算
D. float转double
6、已知Integer num1 = 127; Integer num2 = 127;,执行System.out.println(num1 == num2);的结果是?
A. true
B. false
C. 编译错误
D. 运行时异常
7、对于String str = "12.34";,若要将其转换为double类型,正确的方式是?
A. double d = (double)str;
B. double d = Double.parseDouble(str);
C. double d = str.toDouble();
D. double d = Double.valueOf(str).intValue();
8、执行long l = 100L; float f = l;后,f的值是?
A. 100
B. 100.0
C. 100.0f
D. 编译错误
9、当把boolean类型变量转换为其他基本数据类型时,会出现什么情况?
A. 自动转换为0或1
B. 强制转换为0或1
C. 编译错误,无法转换
D. 运行时抛出异常
10、若Character c = 'a';,将其转换为int类型,得到的值是?
A. 'a'
B. 97
C. 编译错误
D. 运行时异常
11、执行int i = 5; short s = (short)i;,以下说法正确的是?
A. 会丢失数据
B. 若i的值在short范围内则正常转换,否则可能丢失精度
C. 无论i的值是多少,都不会有任何问题
D. 编译时会报错
12、以下代码byte b = -128; short s = b;涉及的类型转换是?
A. 自动类型转换
B. 强制类型转换
C. 错误代码,无法转换
D. 先装箱再转换
13、对于Double d = 2.5;,若要转换为long类型,正确操作是?
A. long l = d;
B. long l = (long)d.doubleValue();
C. long l = Double.parseLong(d);
D. long l = d.toLong();
14、执行char c1 = '1'; char c2 = '2'; int result = c1 + c2;,result的值是?
A. 3
B. '3'
C. 50 + 51(即101)
D. 编译错误
15、当Float类型变量的值超出int类型的表示范围,进行强制转换时会发生什么?
A. 编译报错
B. 运行时抛出异常
C. 得到int类型能表示的最大值或最小值
D. 得到不确定的值
16、若String str = "true";,将其转换为boolean类型,正确的方法是?
A. boolean bool = (boolean)str;
B. boolean bool = Boolean.parseBoolean(str);
C. boolean bool = str.toBoolean();
D. 无法进行转换
17、执行byte b1 = 10; byte b2 = 20; int sum = b1 + b2;,这里的类型转换属于?
A. 无类型转换
B. 自动类型转换
C. 强制类型转换
D. 错误代码,无法执行
18、已知Long num = 9223372036854775807L; int n = (int)num;,n的值是?
A. 9223372036854775807
B. 编译错误
C. 运行时异常
D. 数值溢出后的结果
19、对于Short s = 100;,将其转换为double类型,正确方式是?
A. double d = s;
B. double d = (double)s.shortValue();
C. double d = Short.parseDouble(s);
D. double d = s.toDouble();
20、执行int i = 257; byte b = (byte)i;后,b的值是?
A. 257
B. 1
C. 编译错误
D. 运行时异常
答案
- B
- B
- B
- C
- C
- A
- B
- C
- C
- B
- B
- A
- B
- C
- D
- B
- B
- D
- A
- B