如果你还没有开始刷二级Java练习题的,请务必开始刷题,现在开始刷也来得及,不要放弃;如果你还没有题库忐忑不安的,请到文末点链接进入考无忧官网购买考试原题库。
二级Java练习题
【1】
1、final, finally, finalize的区别?
答:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
2、sleep( ) 和 wait( ) 有什么区别?
答:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
3、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
4、abstract class和interface有什么区别?
答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
5、启动一个线程是用run( )还是start( )?
答:启动一个线程是调用start( )方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run( )方法可以产生必须退出的标志来停止一个线程。
【2】
1、String是最基本的数据类型吗?
答:基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类。
2、面向对象的特征有哪些方面?简述每个特征。
3、int 和 Integer 有什么区别?
答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
4、String 和StringBuffer的区别?
答:JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5、运行时异常与一般异常有何异同?
答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
【3】
1.下列的哪个选项可以正确用以表示八进制值8?
A.0x8
B.0x10
C.08
D.010
参考答案:D
2.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是
A.public int MAX_LENGTH=100
B.final int MAX_LENGTH=100
C.public const int MAX_LENGTH=100
D.public final int MAX_LENGTH=100
参考答案:D
3.十进制数16的16进制表示格式是
A.0x10
B.0x16
C.0xA
D.16
参考答案:A
4.char类型的取值范围是
A.2-7 ~27 -1
B.0~216-1
C.-215 ~215 -1
D.0~28-1
参考答案:B
5.下列哪项是将一个十六进制值赋值给一个long型变量?
A.long number = 123L;
B.long number = 0123;
C.long number = 0123L;
D.long number = 0x123L;
参考答案:D
6.下列哪个选项是short型数据的取值范围?
A.-128 ~ +127
B.-32768~ +32767
C.-2147483648~ +2417483647
D.-3.40282347E38 ~ +3.40282347E38
参考答案:B
7.Java中访问限定符有 【14】 ,protected,private和default等。
参考解析:public
8.是Java程序中基本的结构单位。
参考解析:类
9.下列哪个选项是合法的标识符?
A.123
B._name
C.class
D.1first
参考答案:B
10.下列对于线性链表的描述中正确的是( )。
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B. 存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C. 存储空间必须连续,且前件元素一定存储在后件元素的前面
D. 存储空间必须连续,且各元素的存储顺序是任意的
参考答案:A
11.下列关于栈序正确的是
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
参考答案:A
12.数据的存储结构是指()。
A.存储在外存中的数据
B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式
D.数据的逻辑结构在计算机中的表示
参考答案:D
【4】
1.下列关于Java语言特点的叙述中,错误的是( )。
A.Java是面向过程的编程语言
B.Java支持分布式计算
C.Java是跨平台的编程语言
D.Java支持多线程
2.可以使当前同级线程重新获得运行机会的方法是( )。
A.Sleep()
B.join()
C.yield()
D.interrupt()
3.下列语句中,属于多分支语句的是( )。
A.if语句
B.for语句
C.switch语句
D.do while语句
4.阅读下列代码
public class Test2005{
public static void main(String args[]){
String s="Test";
switch(s){
case"Java":System.out.print("Java");
break;
case"Language":System.out.print("Lan-
guage");
break;
case"Test":System.out.print("Test");
break;
}
}
}
其运行结果是( )。
A.Java
B.Language
C.Test
D.编译时出错
5.在程序读入字符文件时,能够以该文件作为直接参数的类是( )。
A.FileReader
B.BufferedReader
C.FilelnputStream
D.ObjectlnputStream
6.下列描述中,正确的是( )。
A.在Serializable接口中定义了抽象方法
B.在Serializable接口中定义了常量
C.在Serializable接口中没有定义抽象方法,也没有定义常量
D.在Serializable接口中定义了成员方法
7.请阅读下面程序,说明该程序创建线程使用的方法是( )。
public class ThreadTest
{
public static void main(String args[])
{
Thread tl=new Thread(new HolloWorld());
Thread t2=new Thread(new HolloWorld());
tl.start();
t2.Start();
}
}
class HolloWorld implements Runnable
{
int i;
public void run()
{
while(true)
{
System.out.println("HolloWorld"+i++);
if(i= =5)break;
}
}
}
A.继承Thread类
B.实现Runnable接口
C.tl.start()
D.t2.start()
8.java.io包的File类是( )。
A.字符流类
B.字节流类
C.对象流类
D.非流类
9.为保护本地主机,对Applet安全限制中正确的是( )。
A.Applet可加载本地库或方法
B.Applet可读、写本地计算机的文件系统
C.Applet可向Applet之外的任何主机建立网络连接
D.Applet不能运行任何本地可执行程序
10.请阅读下面程序
public class ExampleStringBuffer{
public static void main(String[]args){
StringBuffer sb=new StringBuffer("test");
System.OUt.println("buffer="+sb);
System.OUt.println("length="+sb.length
());}}
程序运行结果中在"length="后输出的值是( )。
A.10
B.4
C.20
D.30
1.A。解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。
2.C。解析:本题考查线程的基本控制。Thread类提供的基本线程控制方法包括:sleep()——使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()——使具有与当前线程相同优先级的线程有运行的机会;join()——使当前线‘程暂停执行,等待调用该方法的线程结束后,再恢复执行;interrupt()——中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。
3.C。解析:do while语句和for语句是循环语句;it语句和switch语句是分支语句。而if语句称为条件语句, switch语句称为多分支语句。
4.D。解析:本题考查switch语句的用法。switch语句是多分支语句,即根据表达式的值来执行多个操作中的一个。在switch语句中,”表达式”的返回值类型必须是这几种类型
之一:int、byte、char、short。本题中,switch的表达式s是一个字符串Strin9类型的值,它不是int、byte、char、short中的任意一个。因此表达式s的类型不对,编译时出错。
5.A。解析:FileReader、BufferedReader是字符类输入流。FileInputStream是字节输入流。对象串行化时,需要使用ObjectlnputStream类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流FileReader或BufferedReader。但是FileReader的参数是读入的文件,而BufferedReader的参数是FileReader流的一个对象。因此,本题的正确答案是A。
6.C。解析:在java.i0包中,接口Serializable是实现对象串行化的工具。实际上,Serializable接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。Serializable接口的目的只是简单地标识一个类的对象是可以被串行化的。
7.B。解析:本题考查线程的创建。在Java中,创建线程有两种方法:①通过实现Runnable接口创建线程。Runnable接口中只定义了一个run()方法作为线程体。②通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start()方法才能运行。本题中HolloWorld类实现了Runnable接口。
8.D。解析:Java.io包中的类可以处理不同类型的流,比如字节流、字符流、对象流、非流类等。File类就是一个重要的非流类,它是以一种系统无关的方式表示一个文件对象的属性。
9.D。解析:Java平台为了防范恶意程序的攻击,保护本地主机,对Applet作了如下安全限制:①Applet不能运行任何本地可执行程序。②禁止加载本地库或方法。③禁止读、写本地计算机的文件系统。④禁止向提供Applet之外的任何主机建立网络连接。⑤不能读取某些系统信息。⑥由一个Applet弹出的窗口外观上与一个Application弹出的窗口不同,Applet弹出的窗口中会有警告提示信息,帮助用户区分Applet窗口与可信的Application窗口。
10.B。解析:本题对StringBuffer(String str)构造方法,用str给出字符串的初始值,并分配16个字符的缓存。因此,字符串sb的初始值是”test”,并且包含l6个字符的缓存。length()方法用来获得字符串长度,不包含缓存。故程序运行结果中在”length=”后输出的值应该是字符串sb的长度,即4。
【5】
1.下列与数据元素有关的叙述中,不正确的是( )。
A.数据元素是数据的基本单位,即数据集合中的个体
B.数据元素是有独立含义的数据最小单位
C.数据元素又称为结点
D.数据元素又称为记录
2.栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列( )序列不是可能的出栈序列。
A.C、B、E、D、A、F
B.C、D、B、F、E、A
C.A、D、E、C、B、F
D.A、F、E、D、C、B
3.在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议,下列( )是简单邮件传输协议。
A.POP3
B.IMAP
C.HTTP
D.SMTP
4.对一个由n个关键码组成的序列,借助排序过程选出其中最大的关键码,要求关键码比较次数和移动次数最少,则最佳排序方法是( )。
A.归并排序
B.直接插入排序
C.直接选择排序
D.快速排序
5.对线性表进行二分法查找,其前提条件是( )。
A.线性表以顺序方式存储,并已按关键码值排好序
B.线性表以顺序方式存储,并已按关键码值的查找频率排好序
C.线性表以有序方式存储,并已按关键码值排好序
D.线性表以有序方式存储,并已按关键码值的查找频率排好序
6.Java的核心包中,提供编程应用的基本类的包是( )。
A.java.lang
B.java.util
C.java.applet
D.java.rmi
7.下列关于Java对import语句规定自叙述中,错误的是( )。
A.在Java程序中import语句可以有多个
B.在Java程序中import语句可以没有
C.在Java程序中import语句必须有一个
D.在Java程序中import语句必须引入在所有类定义之前
8.在编译Java程序时,用于指定生成.class文件位置的选项是( )。
A.-9
B.-d
C.-verbose
D.-nowarn
9.下列方法中,不属于WindowListener接口的是( )。
A.windowOpened()
B.windowClosed()
C.windowActivated()
D.mouseDragged()
10.运行Java程序需要的工具软件所在的目录是( )。
A.JDK的bin目录
B.JDK的demo目录
C.JDK的lib目录
D.JDK的ire目录
1.B。解析:数据元素是数据的基本单位,即数据集合中的个体。有些情况下也把数据元素称为结点、记录、表目等。一个数据元素可由一个或多个数据项组成,数据项是有独立含义的数据最小单位,其值能唯一确定一个数据元素的数据项。
2.D。解析:栈的特性为后进先出,而栈S只能容纳4个元素。当F进栈时,说明栈中有已有B、C、D、E四个元素,所以F无法进栈。
3.D。解析:在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议(SMTP),而在电子邮件程序从邮件服务器中读取邮件时,可以使用邮局协议(POP3)。
4.C。解析:直接选择排序第一遍扫描就可以把最大的关键码找出来(不必等到排序结束),而其他几种排序方法都必须等到排序完成才能找到最大关键码。
5.A。解析:二分法查找是一种效率较高的线性表查找方法。要进行二分法查找,则线性表结点必须是按关键码值排好序的,且线性表以顺序方式存储。
6.A。解析:Java的核心包一共有l2个,其中:java.lan9包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、 集合等常用工具;java.applet包为Applet提供执行需要的所有类,主要是访问Applet内容的通信类;java.rmi包提供程序远程方法调用所需的类。因此,本题的正确答案是A。
7.C。解析:Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个import语句,但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。
8.B。解析:javac.exe是Java编译器,能将源程序代码编译成字节码,以.class扩展名存入Java工作目录中。它的命令格式为:javac[选项]文件名。其中[选项]包括以下几个:-g。输出文件中加行号以及局部变量信息,为调试程序时用。-o对类文件进行优化编译。-nowarn 关闭警告信息,只显示错误信息。-verbose 显示源代码文件和字节码文件的相关信息。-d<目录> 指定存放生成的类(.class)文件的位置根据上述介绍可知,在编译Java程序时,可以通过选项-d来指定生成的.class文件的位置。因此,本题的正确答案是B。
9.D。解析:WindowListener接口包含的方法是:①Window Activated(WindowEvent);②WindowOlpened(WindowEvent);③WindowClosed(WindowEvent);④WindowClosing(WindowEvent);⑤WindowDeactivated(WindowEvent);⑥WindowDeiconified(WindowEvent)⑦windowlconified(WindowEvent)。所以D选项错误。
10.A。解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java库文件;jre目录,该目录是Java程序运行环境的根目录,它下面包含bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。
仰望天空时,什么都比你高,你会自卑;俯视大地时,什么都比你低,你会自负;只有放宽视野,把天空和大地尽收眼底,才能在苍穹泛土之间找到你真正的位置。无须自卑,不要自负,坚持自信,坚持复习计算机等级考试题库-二级Java练习题。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯