欢迎参加核心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={1
,2
,3
};
[详细信息单击以显示答案
正确答案:A
Int[]myArray={1
,2
,3
};无效,因为字符串无法转换为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中,array
和null
不是关键字。
`
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字符串测验