ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:23.74KB ,
资源ID:30681888      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30681888.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复习题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复习题.docx

1、复习题Java 期末复习总结一、填空题:注意:答案红色已标出1、 Java 程序的运行环境简称之为_jre_。2、 编译 Java 程序需要使用_javac_命令。3、 Javac.exe 和 java.exe 两个可执行程序存放在 JDK 安装目录的_bin_目录下。4、 Java 中的注释可分为三种类型,分别是_单行注释_、_多行注释_、_文档注释_。5、 Java 中的变量可分为两种数据类型,分别是_基本数据类型_、_引用数据类型_。6、 若 X=2,则表达式(X+)/3 的值是_0_。7、 若 int a=2;a+=3;执行后,变量 a 的值为_5_。8、 若 int a=12,45,

2、34,46,23,则 a2=_34_。9、 面向对象的三大特征是_封装_、_继承_、_多态_。10、 定义在类中的变量被称为_成员变量_, 定义在方法中的变量被称为_局部变量_。11、 在非静态成员方法中,可以使用关键字_ this _访问类的其它非静态成员。12、 在 Java 中,提供了一个_ javadoc _命令,用于将程序中的文档注释提取出来,生成 HTML 格式的文档。13、 一个类如实现一个接口,那么它就需要实现接口中定义的全部_方法_,否则该类就必须定义成_抽象类_。14、 JDK 中定义了大量的异常类,这些类都是_ Exception _类的子类或者间接子类。15、 定义一个

3、 Java 类时, 如果前面使用_final_关键字修饰, 那么该类不可以被继承。16、 如果子类想继承父类中的成员,可以通过关键字_super_引用父类的成员。17、 异常的捕获通常由 try、 catch 两部分组成, _try_代码块用来存放可能发生的异常,_catch_代码块用来处理产生的异常。18、 一个应用程序中有多条并发执行的线索, 每条线索都被称作一个_线程_, 它们会交替执行,彼此间可以进行_通信_。19、 在 Java 语言中, 同步方法需要用到关键字_synchronized_, 对于同步方法而言无须指定同步锁,它的同步锁是方法所在的_对象_,也就是_this_(关键字)

4、 。20、 在 thread 类中,提供了一个 start()方法,该方法用于_开启一个新线程_,当新线程启动后,系统会自动调用_ run ()_方法。21、 要将某个线程设置为后台线程, 需要调用该线程的_setDaemon(true)_方法, 该方法须在_ start()_方法之前调用。22、 在 Java 中定义了两个类类封装对字符串的操作,它们分别是_ String _和_ StringBuffer _。23、 Math 类中用于计算所传递参数平方根的方法是_sqrt()_。24、 Java 中专门用于将日期格式化为字符串的类是_DateFormat_。25、 System 类中所提供

5、的属性和方法都是_静态_的,想要引用这些属性和方法,直接使用 system 类调用即可。26、 Collection 有两个子接口分别是 list 和 set,list 集合的特点是_有序、可重复_,set 集合的特点是_无序、不可重复_。27、 使用 iterator 遍历集合时, 首先需要调用_ hashNext()_方法判断是否存在下一个元素,若存在下一个元素,则调用_ next()_方法取出该元素。28、 Interator 有一个子类,不仅可以对集合进行从前向后遍历,还可以从后向前遍历,该类是_ ListIterator _。29、 Java 中的 IO 流,按照传输数据不同,可分为

6、_字节流_和_字符流_。30、 InputStreamReader 类是用于将_字节流_转换为_字符流_。二、 选择题: 注意:答案红色已标出1、以下选项中,哪些属于 JDK 工具?(多选) ()A、Java 编译器 B、Java 运行工具C、Java 文档生成工具 D、Java 打包工具2、下面哪种类型的文件可以在 Java 虚拟机中运行?()A、.java B、.jreC、.exeD、.class3、以下关于变量的说法错误的是?( )A、方法名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可将一个 byte 类型的值赋给

7、一个 int 类型的变量,不需要特殊声明4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些?(多选) ( )A、intB、byteC、char D、short5、请先阅读下面的代码。int x=1;int y=2;if(x%2=0)y+;elsey-;System.out.println(“y=”+y);上面一段程序运行结束时,变量 y 的值为下列哪一项?( )A、1 B、2 C、3 D、switch 语句6、在以下什么情况下,构造方法会被调用?( )A、类定义时 B、创建对象时C、调用对象方法时 D、使用对象的变量时7、下面对于构造方法的描述,正确的有哪些?(多选) ( )A

8、、方法名必须和类名相同B、方法名的前面没有返回值类型的声明C、在方法中不能使用 return 语句返回一个值D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在8、关于内部类,下面说法正确的是?(多选) ( )A、成员内部类是外部类的一个成员,可以访问外部类的其它成员B、外部类可以访问成员内部类的成员C、方法内部类只能在其定义的当前方法中进行实例化D、静态内部类中可以定义静态成员,也可以定义非静态成员9、下面对于单例设计模式的描述,正确的是?(多选) ( )A、类中定义一个无参的构造方法,并且声明为私有B、在内部创建一个该类的实例对象,使用静态变量引用该实例对象C、使用 priv

9、ate 修饰静态变量,禁止外界直接访问D、定义静态方法返回该类实例10、Outer 类中定义了一个成员内部类 Inner,需要在 main()方法中创建 Inner 类实例对象,以下四种方式哪一种是正确的?( )A、Inner in = new Inner()B、Inner in = new Outer.Inner();C、Outer.Inner in = new Outer.Inner();D、Outer.Inner in = new Outer().new Inner();11、在类的继承关系中,需要遵循以下哪个继承原则?( )A、多重 B、单一 C、双重 D、不能继承12、以下说法哪些是

10、正确对的?(多选) ( )A、Java 语言中允许一个类实现多个接口B、Java 语言中不允许一个类继承多个类C、Java 语言中允许一个类同时继承一个类并实现一个接口D、Java 语言中允许一个接口继承一个接口13、关于抽象类的说法哪些是正确的?(多选) ( )A、抽象类中可以有非抽象方法B、如果父类是抽象类,则子类必须重写父类所有的抽样方法C、不能用抽象类去创建对象D、接口和抽象类是同一个概念14、编译运行下面的程序,结果是什么?( )Pubic class Apubic static void main(String args)B b = new B();b.test();void te

11、st ()Ststem.out.print(“A”);class B extends Avoid test();Super.test();System.out.print(“B”);A、产生编译错误 B、译运行,并输出结果 ABC、代码可以编译运行,但没有输出 D、编译没有错误,但会产生运行时异常15、Thread 类似于下列哪个包中?( )A、java.io B、java.lang C、java.util D、java,awt16、关于线程的创建过程,下面四种说法正确的有哪些?(多选) ( )A、 定义 Thread 类的子类, 重写 Thread 类的 run()方法, 创建该子类的实例对

12、象,调用对象的 start()方法B、 定义 Thread 类的子类, 重写 Thread 类的 run()方法, 创建该子类的实例对象,调用对象的 run()方法C、定义一个实现 Runnable 接口的类并实现 run()方法,创建该类实例对象,将其作为参数传递给 Thread 类的构造方法类创建 Thread 对象,调用 Thread 对象的start()方法D、定义一个实现 Runnable 接口的类并实现 run()方法,创建该类实例对象,然后调用 run()方法17、对于线程的生命周期,下面四种说法正确的有哪些?(多选) ( )A、调用了线程的 start()方法,该线程就进入运行

13、状态B、线程的 run()方法运行结束或未被捕获的 InterruptedException 等异常终结,那么该线程进入死亡状态C、线程进入死亡状态,但是该线程对象任然是一个 Thread 对象,在没有被垃圾回收器回收之前仍可以和引用其他对象一样应用它D、线程进入死亡状态后,调用它的 start()方法仍然可以重新启动18、对于死锁的描述,下面四种说法正确的有哪些?(多选) ( )A、当两个线程相互等待对方释放同步锁时会发生死锁B、Java 虚拟机没有检测和处理死锁的措施C、一旦出现死锁,程序会发生异常D、处于死锁状态的线程处于阻塞状态,无法继续运行19、下列四个选项中,哪些是线程进入阻塞状态

14、的原因?(多选) ( )A、 线程试图获取某个对象的同步锁,而该锁被其他线程所持有B、 线程调用了另一个线程的 join()方法C、 线程调用了一个阻塞式的 IO 方法D、 线程调用了 setDaemon(Boolean b)方法20、先阅读下面的程序片段:String str=”abccdefcdh”;String arr=str.split(“c”);System.out.println(arr.length);程序执行后打印的结果是几?( )A、2 B、3 C、4 D、521、假如 indexOf()方法未能找到所指定的子字符串,则返回以下哪个?( )A、false B、de C、d D

15、、以上答案均不对22、要产生20,999之间的随机整数可以使用以下哪个表达式?( )A、(int)(20+Math.random()*97)B、20+(int)(Math.random()*980)C、(int)(Math.random()*999D、20+ (int)( Math.random()*98023、阅读下面的程序:Pubic class TestPubic static void main(String args)Int i;Float f=2.3f;Double d=2.7;I=(int)Math.ceil(f)* (int)Math.round(d);Ststem.out.p

16、rintln(“i”);程序执行后,运行结果为以下哪几个选项?( )A、9 B、5 C、6 D、6.124、要想保存具有映射关系的数据,可以使用以下哪些集合?(多选) ( )A、ArrayList B、TreeMap C、HashMap D、TreeSet25、关于 foreach 循环的特点,以下说法哪些是正确的?(多选) ( )A、foreach 循环是在遍历集合时,无须获得容器的长度B、foreach 循环是在遍历集合时,无须循环条件,也无需迭代语句C、foreach 循环是在遍历集合时,非常烦琐D、foreach 循环的语法格式为:for(容器中元素类型 临时变量:容器变量)26、 要

17、想集合中保存的元素没有重复并且按照一定的顺序排列, 可使用以下哪个集合?A、LinkedList B、ArrayList C、HashSet D、TreeSet 27、获取单列集合中元素的个数可以使用以下哪个方法?( )A、length() B、size() C、get(int index)s D、add(Object obj)28、下列选项中,哪些是标准输入输出流?(多选) ( )A、System.in B、System.out C、InputStream D、OutputStream三、判断题:注意:答案红色已标出1、Set 集合是通过键值对的方式来存储对象的。 (错 )2、使用 Iter

18、ator 迭代集合元素时,可以调用集合对象的方法增删元素。 ( 对)四、程序分析题:注意:答案红色已标出阅读下面的程序,分析代码是否能够编译通过,如果能通过,请列出运行结果。否则请说明编译失败的原因。1、代码一:Public class Test01pulic static void main(String args)byte b=3;b=b+4;System.out.println(b=+b);1、编译不通过。int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。2 、代码二:Public class Test02pulic sta

19、tic void main(String args)int x=12;int y=96;System.out.println(x is+x);System.out.println(y is+y);y=x;System.out.println(x is+x);2、编译不通过。这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用y = x;语句时已经超过了y变量的作用域,所以编译无法通过。3 、代码三:class Aprivate int secret=5;public class Test1public static void main(String args)A a

20、=new A();System.out.println(a.secret+);3、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。4 、代码四:public class Outerpublic String name=Outer;private class InnerString name=inner;void showName()System.out.println(name);public static void main(String args)Inner inner=new Outer().new Inner();System.o

21、ut.println(inner.name);4、程序能够编译通过,运行的结果为“inner”。5 、代码五:Public class Test01pulic static void main(String args)tryint x=2/0;System.out.println(x);catch(Exception e)System.out.println(进入 catch 代码块”);finallySystem.out.println(进入 finally 代码块”);5、程序编译能通过,这是因为int x = 2 / 0; System.out.println(x);这两条语句使用了tr

22、y块,捕获了程序因为除以0而产生的异常情况,之后程序会继续向下执行,输出“进入catch代码块”,“进入finally代码块”。6 、代码六:final class Animalpublic final void shout()/程序代码class Dog extends Animalpublic void shout()/程序代码class Test02public static void main(String args)Dog dog=new Dog;6、程序编译不通过,这是因为在程序中使用了final关键字修饰Animal类,使得Animal类不能被继承。shout()方法中同样使用了

23、final关键字,使得该方法不能被重写。7 、代码七:public class A extends Threadprotected void run()Systemout.println(this is run();Public static void main(String args)A a=new A();a.start();7、程序不能编译通过,因为Thread的子类A重写的run()方法的访问级别不能低于父类run()方法的。访问级别8 、代码八public class Testprivate synchronized void a()tryobj.wait();System.out.

24、println(waiting);cath(InterruptedException e)Systen.out.println(Exception);public static void main(String args)new Tset().a();8、程序不能编译通过,因为同步方法中调用wait()方法的对象必须为同步锁对象。9 、代码九:public classpublic static void main(String args)String s=dfferghuklmbdfd;Systen.out.println(str.length():+s.length();Systen.out

25、.println(str.charAt(0):+s.charAt(0);Systen.out.println(lastIndexOf(m):+s.lastIndexOf(m);Systen.out.println(substring(2,4):+s.substring(2,4);Systen.out.println(indexOf(g):+s.indexOf(g);9、程序编译能通过,输出结果如下str.length():15str.charAt(0):dlastIndexOf(m):10substring(2,4):feindexOf(g):510 、代码十:import java.util

26、.*;public class Test01public static void main(String args)TreeSet ts=new TreeSet();ts.add(b);ts.add(a);ts.add(c);ts.add(c);Iterator it=ts.iterator();while(it.hasNext()System.out.println(it.next();10、程序可以编译通过,输出结果是“a、b、c”,因为TreeSet集合不允许存放重复元素,第2次增加的元素c会覆盖之前存入的元素c,所以输出结果是“a、b、c”,而不是“a、b、c、c”。11 、代码十一:

27、import java.util.Arraylist;public class Test02public static void main(String args)ArrayList list=new ArrayList();list.add(a);list.add(b);list.add(c);for(String obj:list)System.out.println(obj);11、程序不可以编译通过,这是由于向ArrayList集合中存入元素时,集合并不能记住元素的类型,因此在取出元素时,只能使用Object类型,而不能使用String类型。五、编程题:注意:答案红色已标出1、请按照以

28、下要求设计一个学生类 Student,并进行测试。要求如下:Stduent 类中包含姓名、成绩两个属性;分别给这两个属性定义两个方法, 一个方法用于设置值, 另一个方法用于获取值;Student 类中定义一个无参的构造方法和一个接收两个参数的构造方法, 两个参数分别为姓名和成绩两个属性;在测试类中创建两个 Student 对象, 一个使用无参的构造方法, 然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。代码如下class Student private String name; private double grade; public Student() public Student(String name, double grade) this.name = name; this.grade = grade; public String getName() return name; public void setName(String name) this.name = name; public double getGrade() return grade; public void setGrade(double g

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1