难度级别: 简单
程序
程序一
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
说明:
java 中不允许从较大的数据类型转换为较小的数据类型,因为这是一种有损转换。
程序三输出
答案:
c
说明:
如果操作数之一是long、double 或float,则整个表达式分别转换为long、double 或float。
程序四答案
答案
b
说明:
当计算表达式时,结果的数据类型被隐式更改为更大的数据类型,因此必须进行显式重铸,如第 2 行所示。另一方面,第 1 行显示编译错误因为右侧的表达式的数据类型为 int 而左侧的数据类型为字节。
程序五答案
答案 :
c
说明:
如果在表达式中使用双精度值,则输出将以双精度格式而不是整数格式返回。
以上就是本篇文章的所有内容了