难度级别: 简单

程序

程序一

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) 运行时错误

 


文章后半部分是程序的输出及解析

【Java练习题】Java 程序的输出 | 第二十一套(类型转换)_java


输出及解析

程序一输出

答案

d
复制代码

说明

java 中不允许从int 转换为String,也不允许从String 转换为int。


程序二输出

答案

d
复制代码

说明

java 中不允许从较大的数据类型转换为较小的数据类型,因为这是一种有损转换。


程序三输出

答案

c
复制代码

说明

如果操作数之一是long、double 或float,则整个表达式分别转换为long、double 或float。


程序四答案

答案

b
复制代码

说明

当计算表达式时,结果的数据类型被隐式更改为更大的数据类型,因此必须进行显式重铸,如第 2 行所示。另一方面,第 1 行显示编译错误因为右侧的表达式的数据类型为 int 而左侧的数据类型为字节。


程序五答案

答案 :

c
复制代码

说明:

如果在表达式中使用双精度值,则输出将以双精度格式而不是整数格式返回。


以上就是本篇文章的所有内容了