核心 Java 知识问答

欢迎参加核心Java测验。Java是一种面向对象的编程语言。

核心JAVA测验

在本测验中,您将接受有关核心Java基础知识和OOPS概念的测试。还有一些代码片段可以测试您的基本Java编码技能。

有些问题有多种答案。您可以点击**显示答案** 按钮查看正确答案和解释。

尝试一下,如果你喜欢的话就和别人分享。

1.下面哪一个是在java中实例化数组的有效方法?

A.int my数组[]={1,3,5}; B.int myArray[][]={1,2,3,4}; C.int[]myArray=(5,4,3); D.int[]myArray={123};

[详细信息单击以显示答案

正确答案:A

Int[]myArray={123};无效,因为字符串无法转换为int。

Int[]myArray=(5,4,3);无效,因为数组元素应用大括号({})定义。

Int myArray[][]={1,2,3,4};无效,因为myArray是二维数组,而在本例中它被定义为一维数组。编译器将报告类型不匹配:无法从int转换为int[]。

`

2.以下哪些是Java中的保留关键字?

A.卢多维科(意大利) B.后藤.B.后藤. C.无效 D.Int

[详细信息单击以显示答案

**正确答案:B,D
**
goto和int是java中的保留关键字。在Java中,arraynull不是关键字。

`

3.尝试在程序下编译运行会发生什么情况?

1interface Foo{ int x = 10;}
2
3public class Test { 
4    public static void main(String[] args) { 
5        Foo.x = 20; 
6        System.out.println(Foo.x); 
7    }
8}

A.打印10张 B.打印20张 C.编译时间错误 D.运行时错误,因为Foo.x是最终版本。

[详细信息单击以显示答案

**正确答案:C ** 默认情况下,接口的任何字段都是公共的、静态的和最终的。因此我们不能更改IS,因此在Foo.x=20;语句中出现编译时错误。

`

4.下面的程序会输出什么?

1public class Test {
2    public static void main(String[] args) {
3    	char c = 65;
4    	System.out.println("c = " + c);
5    }
6}

A.编译时间错误 B.打印c=A C.运行时错误 D.打印c=65

[详细信息单击以显示答案

**正确答案:B ** Java编译器尝试自动将int转换为char。由于65被转换为A,因此输出将是c=A。字符值的范围是从u0000到uffff。所以char c=65535;是有效的,但是char c=65536;会给出编译时错误。

`

5.下面的程序会输出什么?

1public class Test { 
2    public void main(String[] args) {
3        int x = 10*20-20; 
4        System.out.println(x); 
5    }
6}

A.运行时错误 B.打印180 C.打印%0 D.编译时错误。

[详细信息单击以显示答案

正确答案:A

运行时错误,因为Main方法不是静态的。错误消息将是Main方法在类测试中不是静态的,请将Main方法定义为:公共静态空Main(字符串[]args)

`

6.Java中static关键字的有效语句是什么?

答:我们可以在一个类中使用静态块。 B.每次创建类的对象时,都会执行类中的静态块。 C.我们可以在接口中实现静态方法。 我们可以在方法中定义静态块。

[详细信息单击以显示答案

**正确答案:A、C ** 我们可以在一个类中有静态块,它只在类加载时执行一次。从Java 8开始,我们可以在接口中实现静态方法。

`

7.选择面向对象的所有核心概念。

A.抽象
B.继承
C.接口
D.多态性
E.泛型

[详情点击查看答案]

正确答案:A、B、D

OOPS的核心概念是:

1.抽象 2.封装 3.多态 4.继承 5.构图 6.协会 7.聚合

请访问OOPS Concepts]阅读更多内容

`

8.关于Java中的继承,以下哪些说法是正确的?

A.在Java中,使用EXTEND关键字来扩展类。 B.您可以在Java中扩展多个类。 C.子类可以访问超类的私有成员。 D.我们不能在Java中扩展最终类。

[详细信息单击以显示答案

**正确答案:D
**
继承是Java的核心概念之一。你应该很熟悉了,请阅读下面的文章了解更多答案选择-- [Java中的继承](/community/tutorials/inheritance-java-example)、[Java中的多重继承](/community/tutorials/multiple-inheritance-in-java)。

`

9.以下程序的输出会是什么?

 1package com.journaldev.java;
 2
 3public class Test {
 4    public static void main(String[] args) {
 5    	Super s = new Subclass();
 6    	s.foo();
 7    }
 8}
 9
10class Super {
11    void foo() {
12    	System.out.println("Super");
13    }
14}
15
16class Subclass extends Super {
17    static void foo() {
18    	System.out.println("Subclass");
19    }
20}

A.编译时间错误 B.超级 C.子类 D.运行时错误

[详细信息单击以显示答案

**正确答案:A ** 子类foo()方法不能是静态的,它会给出编译时错误这个静态方法不能对Super隐藏实例方法。

`

10.以下程序的输出会是什么?

 1package com.journaldev.java;
 2
 3public class Test {
 4    public static void main(String[] args) {
 5    	Subclass s1 = new Subclass();
 6    	s1.foo(); // line 6
 7    	Super s = new Subclass();
 8    	s.foo(); // line 8
 9    }
10}
11
12class Super {
13    private void foo() {
14    	System.out.println("Super");
15    }
16}
17
18class Subclass extends Super {
19    public void foo() {
20    	System.out.println("Subclass");
21    }
22}

A.第6行的编译时间错误 B.第8行的编译时间错误 C.第6行和第8行的编译时间错误 D.打印效果很好,并打印了两次子类

[详细信息单击以显示答案

**正确答案:B
**
第8行出现编译时错误,因为超类foo()方法是私有的。错误消息是Super类型的方法foo()不可见

`

11.下面程序的输出是什么?

 1import java.io.IOException;
 2
 3public class Test {
 4    public static void main(String[] args) {
 5    	try {
 6    		throw new IOException("Hello");
 7    	} catch (IOException | Exception e) {
 8    		System.out.println(e.getMessage());
 9    	}
10    }
11}

A.编译时错误 B.打印Hello C.运行时错误

[详细信息单击以显示答案

正确答案:A

编译时错误,因为Alternative Exception已捕获异常IOException。

`

12.以下程序的输出会是什么?

1public class Test {
2    public static void main(String[] args) {
3    	String x = "abc";
4    	String y = "abc";
5    	x.concat(y);
6    	System.out.print(x);
7    }
8}

A.abc B.ABC C.空

[详细信息单击以显示答案

**正确答案:B ** x.conat(Y);将创建一个新的字符串,但它没有分配给x,因此x的值不会改变。

`

13.以下哪些是Java中未检查的异常?

A.运行异常 B.ClassCastException异常 C.NullPointerException异常 D.IOException异常

[详细信息单击以显示答案

**正确答案:A、B、C ** 运行异常及其子类是未检查的异常。不需要在方法或构造函数的throws子句中声明未检查的异常。

`

14.以下程序的输出会是什么?

 1package com.journaldev.java;
 2
 3import java.io.IOException;
 4
 5public class Test {
 6    public static void main(String[] args) {
 7    	try {
 8    		throw new Exception("Hello ");
 9    	} catch (Exception e) {
10    		System.out.print(e.getMessage());
11    	} catch (IOException e) {
12    		System.out.print(e.getMessage());
13    	} finally {
14    		System.out.println("World");
15    	}
16    }
17}

A.编译时错误 B.你好(用谷歌翻译翻译) C.Hello World D.你好,你好,世界

[详细信息单击以显示答案

**正确答案:A ** 编译时错误无法访问IOException的Catch块。它已经由Exception的Catch块处理。

`

15.以下哪种说法(S)关于Java是正确的?

答:JVM负责将字节码转换为机器专用代码。 B.我们只需要JRE来运行Java程序。 编译Java程序需要使用JDK。 D.JRE不包含JVM

[详细信息单击以显示答案

正确答案:A、B、C

有关完整的解释,请阅读jdk、jre和JVM.

`

16.一个Java类可以有两个主方法吗?

答:是的。 B.否

[详细信息单击以显示答案

正确答案:A

这是一个棘手的问题。通过方法重载,我们可以在Java中拥有多个名称为main的方法。

`

17.关于Java中的批注,以下哪些说法是正确的?

A.@接口关键字用于创建自定义注释 B.@Override是Java中的内置批注 C.注释不能应用于类中的字段。 D.@Returence是Java中的元注释之一。 E.编译类时,Java注释信息会丢失。

[详情点击查看答案]

**正确答案:A、B、D ** 有关完整的解释,请阅读JAVA Annotations.

`

18.关于Java中的Enum,下列哪些陈述是正确的?

A.所有的Java枚举都隐式扩展了java.lang.Enum类。 B.Java枚举可以实现接口。 C.我们可以使用new运算符创建枚举实例。 D.枚举不能在Switch语句中使用。 E.枚举常量是隐式静态的和最终的。

[详细信息单击以显示答案

**正确答案:A、B、E ** 阅读Enum in Java的更多内容。

`

19.以下哪些是Java内置的类加载器?

A.自举 B.扩展 C.运行时类加载器 D.系统类加载器

[详情点击查看答案]

正确答案:A、B、D

阅读[Java中的类加载器](/community/tutorials/java-classloader)。

`

20.以下程序的输出会是什么?

 1package com.journaldev.util;
 2
 3public class Test {
 4    public static String toString() {
 5    	System.out.println("Test toString called");
 6    	return "";
 7    }
 8
 9    public static void main(String args[]) {
10    	System.out.println(toString());
11    }
12}

A.调用了测试toString
B.编译时错误
C.)方法)

[详情点击查看答案]

正确答案:B

我们将得到一个编译时错误,因为我们不能让对象类方法被Static关键字覆盖。Object类有toString()方法。您将得到一个编译时错误,因为该静态方法不能从对象中隐藏实例方法

`

21.以下程序的输出将是什么?

1public class Test {
2    public static void main(String[] args) {
3    	String s1 = "abc";
4    	String s2 = "abc";
5    	System.out.println("s1 == s2 is:" + s1 == s2);
6    }
7}

A.s1==s2为:真 B.错误 C.S1==S2为:FALSE D.正确

[详细信息单击以显示答案

正确答案:B

给定的语句输出将是false,因为在java中+运算符优先级大于==运算符。因此,给定的表达式将被评估为s1 == s2 is:abc==abc,即false。

`

结论

我希望你喜欢核心Java测验。如果你认为我错过了一些重要的方面,让我知道,我会在这里添加一些更棘手的问答问题。

下一个测验Java字符串测验

Published At
Categories with 技术
Tagged with
comments powered by Disqus