Java程序的输出 | 31套
先决条件: Java的数组
1. 以下程序的输出是什么?
public class Test {
public static void main(String[] args)
{
int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(arr);
}
}
选项:
1. 1
2. 编译时错误
3. 1 2 3 4 5
4. [I@Hashcode_in_Hexadecimal
输出:
The answer is option(4)
说明:在上面的程序中,我们在一条语句中使用了声明、创建和初始化。但是在打印时,我们打印的是数组的基地址而不是完整的数组。要显示数组,需要使用循环。
2. 以下程序的输出是什么?
public
class Test {
public
static void main(String[] args)
{
int b = 2147483648;
System.out.println(b);
}
}
选项:
1.无输出
2. 2147483648
3. 2147483647
4. 编译时错误
输出:
The answer is option(4).
说明: int 是整型数据类型的默认数据类型。这里我们将 2147483648 分配给一个字节变量,并且给定的值超出了 int 的范围。这就是为什么上面的程序会给出编译时错误,说 error: integer number too large: 2147483648。
3. 下面程序的输出是什么?
public class Test
{
static char ch = 59;
public static void main(String[] args)
{
System.out.println(ch);
}
}
选项:
1.编译时错误
2. 空
3.无输出
4.;
输出:
The answer is option(4).
说明:由于静态变量的类型为 char。当我们打印它时,给定整数的 ASCII 值被打印出来。
4. 以下程序的输出是什么?
public
class Test {
public
static void main(String[] args)
{
int x = 0xGeeks;
System.out.println(x);
}
}
选项:
1. 1
2. 编译时错误
3. 空
4. 运行时错误
输出:
The answer is option(2).
说明:这里我们尝试在 int 数据类型中以十六进制形式分配字面量。但根据规则,允许的字符是 AF,但这里我们使用的是不允许的字符。这就是为什么上面的程序会编译时报错说 error: not a statement。
5. 以下程序的输出是什么?
public
class Test {
public
static void main(String[] args)
{
// we are assiging 8 byte data to 4 byte variable
float f = 10l;
System.out.println(f);
}
}
选项:
1. 10
2. 编译时错误
3. 10.0
4.运行时异常
输出:
The answer is option(3).
说明:这里我们将一个 long 值分配给一个浮点变量。根据数据类型,float 为 4 字节,long 为双字节。除此之外,我们可以为 float 类型分配一个 long 值。