难度级别: 简单
程序
程序一
1) 以下程序的输出是什么?
public class Test { public static void main(String[] args) { int value = 554; String var = (String)value; //line 1 String temp = "123"; int data = (int)temp; //line 2 System.out.println(data + var); } }
a) 677
b) 由于第 1 行导致的编译错误
c) 由于第 2 行导致的编译错误
d) 由于第 1 行和第 2 行导致的编译错误
点此跳转到答案
程序二
2) 以下程序的输出是什么?
public class Test { public static void main(String[] args) { double data = 444.324; int value = data; System.out.println(data); } }
a) 444.324
b) 444
c) 运行时错误
d) 编译错误
点此跳转到答案
程序三
3) 以下程序的输出是什么?
public class Test { public static void main(String[] args) { double data = 444.324; int sum = 9; float value = 5.1f; System.out.println(data + sum + value); } }
a) 444.32495.1
b) 456
c) 458.42399
d) 458.4
点此跳转到答案
程序四
4) 以下程序的输出是什么?
public class Test { public static void main(String[] args) { byte var = 1; var = (byte) var * 0; //line 1 byte data = (byte) (var * 0); //line 2 System.out.println(var); } }
a) 0
b) 由第 1 行引起的编译错误
c) 由于第 2 行引起的编译错误
d) 由于第 1 行和第 2 行引起的编译错误
点此跳转到答案
程序五
5) 以下程序的输出是什么?
public class Test { public static void main(String[] args) { System.out.println((100/25.0)*Integer.parseInt("5") + 50); } }
a) 编译错误
b) 70
c) 70.0
d) 运行时错误
点此跳转到答案
文章后半部分是程序的输出及解析
输出及解析
程序一输出
答案:
d
说明:
java 中不允许从int 转换为String,也不允许从String 转换为int。
程序二输出
答案:
d
d
说明:
java 中不允许从较大的数据类型转换为较小的数据类型,因为这是一种有损转换。
程序三输出
答案:
c
说明:
如果操作数之一是long、double 或float,则整个表达式分别转换为long、double 或float。
程序四答案
答案
b
说明:
当计算表达式时,结果的数据类型被隐式更改为更大的数据类型,因此必须进行显式重铸,如第 2 行所示。另一方面,第 1 行显示编译错误因为右侧的表达式的数据类型为 int 而左侧的数据类型为字节。
程序五答案
答案 :
c
说明:
如果在表达式中使用双精度值,则输出将以双精度格式而不是整数格式返回。
以上就是本篇文章的所有内容了