【考试】java基础知识测试,看你能得多少分?
1 前言
共有5道java基础知识的单项选择题,每道20分,共计100分。解析和答案在最后。
2 试题
2.1 如下程序运行结果是什么?
class Parent {
public Parent(String s) {
System.out.print("B");
}
}
public class Son extends Parent {
public Son(String s) {
System.out.print("D");
}
public static void main(String[] args) {
new Son("");
System.out.print("C");
}
}
**A.** BD
**B.** DB
**C.** BDC
**D.** DBC
- E. 编译失败
2.2 如下程序运行结果是什么?
public class Mixer {
Mixer() {}
Mixer(Mixer m) {
m1 = m;
}
Mixer m1;
public static void main(String[] args) {
Mixer m2 = new Mixer();
Mixer m3 = new Mixer(m2);
m3.go();
Mixer m4 = m3.m1;
m4.go();
Mixer m5 = m2.m1;
m5.go();
}
void go() {
System.out.print("hi ");
}
}
**A.** hi
**B.** hi hi
**C.** hi hi hi
**D.** 编译失败
**E.** hi 接着一个异常
**F.** hi hi 接着一个异常
2.3 下面哪一个选项的说法是正确的?
public class Operate{
public static void main(String[] args) {
String s = "";
Boolean b1 = true;
boolean b2 = false;
if((b2=false) | (21%5)>2)
s += "x";
if(b1 || (b2=true)) {
s += "y";
if(b2 == true)
s += "z";
System.out.println(s);
}
}
}
**A.** 编译失败
**B.** 输出结果中包括 x
**C.** 输出结果中包括 y
**D.** 输出结果中包括 z
**E.** 运行时会抛出一个异常
2.4 下面哪一个选项的说法是正确的?
public static void sort1() {
Set set = new TreeSet();
set.add("2");
set.add(3);
set.add("1");
Iterator it = set.iterator();
while (it.hasNext())
System.out.print(it.next() + "");
}
**A.** sort1方法会打印出 1 2
**B.** sort1方法会打印出 1 2 3
**C.** sort1会打印3个数字,顺序不定
**D.** 编译失败
**E.** 运行时会抛出一个异常
2.5 如下程序运行结果是什么?
class A {
void m() {
System.out.println("outer");
}
}
public class Inners {
public static void main(String[] args) {
new Inners().go();
}
void go() {
new A().m();
class A {
void go() {
System.out.println("inner");
}
}
}
class A {
void m() {
System.out.println("middle");
}
}
}
**A.** inner
** B.** outer
**C. ** middle
**D.** 编译失败
**E.** 运行时会抛出一个异常
3 解析
3.1 2.1题 E 正确
不能满足Son构造函数中隐含的super()调用,因为Parent中没有无变元构造函数。仅当类没有显式定义的构造函数时,编译器才会产生默认的无变元构造函数。
3.2 2.2题 F 正确
m2对象的m1实例变量从来不会被初始化,因此当m5试图使用它时,将抛出NullPointerException异常。
3.3 2.3题 C 正确
首先装箱负责处理布尔运算。第一个if所在行使用了求余运算符,它返回除法运算的余数,这里为1。而且,这一行还将b2设置成false,它不会测试b2的值。第二个if所在行将b2设置成true,它不会测试这个值。但是,短路运算符会阻止测试表达式b2=true。
3.4 2.4题 E 正确
不能将String和Integer同时放入同一个TreeSet中。不采用泛型,编译器无法知道什么类型适合于这个TreeSet,因此它允许任何东西进行编译。在运行时,TreeSet将深度在添加元素时排序它们,而在试图比较Integer和String时,会抛出ClassCastException异常。
3.5 2.5题 C 正确
类A的“内部”版本没有使用,因为它的声明位于go()方法内创建A的实例之后。
4 答案 [E , F , C , E , C]
5 结语
本文只是简单的收集和整理了5道javaSE的基础题目,大家可以测试一下,对自己java基础知识情况有一个简单的了解。希望大家在学习实用技术的时候,也多注意自己java基础素养的提高。
不能仅凭对上述几道问题的回答情况来评价一个人真正的java水平,但是生活并不完美。
加油吧,同学们!学习的路上我们一起。
【考试】java基础知识测试,看你能得多少分?的更多相关文章
- 传智Java基础知识测试
共40道选择题,每题2.5分.多选题有错则全错,全对才满分. 单选题: 1. 下列哪个声明是错误的?(B) A. int i=10; B. float f=1.1; C. double ...
- java基础知识一览(二)
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...
- 学习Spring必学的Java基础知识(2)----动态代理
Spring AOP使用动态代理技术在运行期织入增强的代码,为了揭示Spring AOP底层的工作机理,有必要对涉及到的Java知识进行学习.Spring AOP使用了两种代理机制:一种是基于JDK的 ...
- Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- 毕向东—Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- 沉淀,再出发:Java基础知识汇总
沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...
- 黑马毕向东Java基础知识总结
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记 侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
随机推荐
- NSRange 用法
NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构 ...
- Codeforces 900 E. Maximum Questions (DP,技巧)
题目链接:900 E. Maximum Questions 题意: 给出一个长度为n只含有a和b还有'?'的串s,且'?'可以被任意替换为a或b.再给出一个字符串t (奇数位上为a,偶数位上为b,所以 ...
- NPM使用命令总结
NPM使用命令总结 npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm ...
- MySql 修改外键 支持级联删除
首先必须要有外键,InnoDB甚么的都不说了,直接上修改句子. 要先删除该外键,然后添加. 具体原因貌似是因为不支持alter外键的操作. ALTER TABLE `t_terminal` DROP ...
- 【Android】版本的名称
http://www.cnblogs.com/imlucky/archive/2011/10/21/2220596.html
- Executors线程池
强烈建议程序员使用较为方便的 Executors 工厂方法 Executors.newCachedThreadPool()(无界线程池,可以进行自动线程回收).Executors.newFixedTh ...
- ASP.NETCore的Kestrel服务器
什么是Kestrel服务器 Kestrel是开源的(GitHub提供的源代码),事件驱动的异步I / O服务器,用于在任何平台上托管ASP.NET应用程序.这是一个监听服务器和一个命令行界面.您将侦听 ...
- ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(一)—修改数据库连接
开发环境:vs2017 版本:15.3.5 项目环境:.net framework 4.6.1 模板asp.net core 2.0 Web应用程序(模型视图控制器) 身份验证:个人用户账号 ...
- python3 第二十二章 - 函数式编程之Decorator(装饰器)
前面我们说了,在python中,一切皆对象.函数也是一个对象,而且函数对象可以被赋值给变量,通过变量也能调用该函数.如: def sayHello(name): print(name + ' hell ...
- linux_mount相关故障
fstab修改错误导致系统无法启动故障修复方案 1. 维护模式或救援模式 2. mount -o rw,remount 挂载点 # 这个方式也可以解决有些分区只能读的故障 3. 然后修改 /etc/f ...