Java高级编程期末考试真题试卷及复习资料讲课讲稿
《JAVA高级编程》期末复习资料

《JA V A高级编程》期末复习资料一、填空题1.定义类的保留字是(class ),定义接口的保留字是( interface )。
2.Socket通常也称为(套接字),用于描述( IP地址) 和( 端口)。
3.线程的优先级在( 1 )至( 10)之间,数值越大( 任务越紧急)。
4.构造方法是一种特殊的成员方法,构造方法名与( 类名) 相同。
5.Java语言只允许单继承,指每个类只能有一个( 父类)。
6.Java源程序的扩展名是( .java ),经过编译后的程序的扩展名是(.class )。
7. 在一个时间只能由一个线程访问的资源称为( 临界资源) 。
访问临界资源的代码(临界代码)。
8. 在多线程系统中,多个线程之间有( 同步) 和( 互斥) 两种关系。
二、选择题1.关于选择结构下列哪个说法正确?()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句2.while循环和do…while循环的区别是:()A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次3.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空4.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final5.void的含义:()A.方法没有返回值B.方法体为空C.没有意义 D.定义方法时必须使用6.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象7.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对8.下列说法哪个正确?A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D、属性必须是简单变量9.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用10.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中11.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时12.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法13.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。
java期末考试题课件.doc

第1章Java开发入门习题一、填空题1. 将.java 源文件编译为.class 文件的是【】命令。
2. 在Eclipse 窗口中选择菜单【】→New→Java Project 创建Java 项目。
3. 在安装JDK 的过程中,有三个功能模块可供选择,它们分别是【】,【】和【】。
4. 将Hello.java 文件编译为class 文件,需要键入【】命令。
5. JRE 是Java 程序的【】。
二、判断题1. Eclipse 只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse 框架中来实现的。
()2. JDK 安装成功后,需要将bin 目录的路径配置在环境变量path 中。
()3. Java配置环境变量path 的目的是为了可以查找到.class 文件。
()4. JDK 安装成功后,classpath环境变量必须配置。
()5. 在命令行窗口中,编译Demo.java 文件可以输入javac Demo。
()三、选择题1. 如果jdk 的安装路径为:c:\jdk ,若想在命令窗口中任何当前路径下,都可以直接使用javac 和java 命令,需要将环境变量path 设置为以下哪个选项()A: c:\jdkB: c:\jdk\binC: c:\jre\binD: c:\jre2. 下列关于classpath 环境变量的说法中,说法正确的是()A: classpath 配置一次后可永久使用B: 没有classpath 环境变量就不能运行Java程序C: classpath 环境变量可以让虚拟机找到class 文件的目录D: 查看当前classpath 配置的命令是:classpath3. 下面哪种类型的文件可以在Java虚拟机中运行()A: .javaB: .jreC: .exeD: .class4. Java属于以下哪种语言()A: 机器语言B: 汇编语言C: 高级语言D: 以上都不对5. 下列关于Java 特点的描述中,错误的是()。
java第五版期末考试题及答案

java第五版期末考试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum2. 在Java中,下列哪个选项不是合法的变量名?A. $numberB. _nameC. 123nameD. name$3. Java中,下列哪个选项是正确的字符串连接操作?A. "Hello" + 123B. "Hello" * 123C. "Hello" / 123D. "Hello" - 1234. Java中,下列哪个选项是正确的数组初始化方式?A. int[] arr = new int[]{1, 2, 3};B. int[] arr = {1, 2, 3};C. int[] arr = new int[3] = {1, 2, 3};D. int[] arr = 1, 2, 3;5. 在Java中,下列哪个选项是正确的方法重载?A. public void print(int num) {}public void print(double num) {}B. public void print(int num) {}public void print(int num, int num2) {} C. public void print(int num) {}public void print(String num) {}D. public void print(int num) {}public void print(int num, double num2) {}6. Java中,下列哪个选项是正确的继承关系?A. class A {}class B extends A {}B. class A {}class B implements A {}C. class A {}class B extends A {}class C implements B {}D. class A {}class B {}class C extends B {}7. Java中,下列哪个选项是正确的多态性使用?A. class A {}class B extends A {}A obj = new B();B. class A {}class B extends A {}B obj = new A();C. class A {}class B extends A {}A obj = new A();D. class A {}class B extends A {}B obj = new B();8. 在Java中,下列哪个选项是正确的异常处理方式?A. try {// code} catch (Exception e) {// code}B. try {// code} catch (Exception e) {// code} finally {// code}C. try {// code} finally {// code}D. try {// code} catch (Exception e) {// code} catch {// code}9. Java中,下列哪个选项是正确的集合框架使用?A. List<String> list = new ArrayList<>();B. Set<String> set = new ArrayList<>();C. Map<String, String> map = new HashMap<>();D. List<String> list = new HashSet<>();10. 在Java中,下列哪个选项是正确的泛型使用?A. List list = new ArrayList<String>();B. List<String> list = new ArrayList<>();C. List list = new ArrayList<>();D. List<String> list = new ArrayList<Integer>();二、填空题(每题2分,共10分)1. Java中,关键字________用于声明一个接口。
(完整word版)JAVA期末试题及答案

《Java 程序设计》课程试卷1.使用Java 语言编写的源程序保存时的文件扩展名是( )。
(A ).class (B ).java (C ).cpp (D ).txt2.设int a=-2,则表达式a>>>3的值为( )。
(A )0 (B )3 (C )8 (D )-13.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。
(A )a[0]; (B )a[a.length-1]; (C )a[3]; (D )int i=1; a[i];4.在类的定义中可以有两个同名函数,这种现象称为函数( )。
(A )封装 (B )继承(C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。
(A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量6.下面关键字中,哪一个不是用于异常处理语句( )。
(A )try (B )break(C )catch (D )finally 7.类与对象的关系是( )。
(A )类是对象的抽象 (B )对象是类的抽象(C )对象是类的子类 (D )类是对象的具体实例8.下面哪一个是Java 中不合法的标识符( )。
(A )$persons (B )twoNum (C )_myVar (D )*point9.为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。
(A )static void method( )(B )public void method( )(C )final void method( )(D )abstract void method( )10.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的( )。
(A )ArrayList myList=new Object( )(B )List myList=new ArrayList( )(C )ArrayList myList=new List( )(D )List myList=new List( )11.Java 源文件和编译后的文件扩展名分别为( )(A) .class和 .java (B ).java 和 .class (C).class 和 .class (D) .java和 .java12.在Java Applet 程序用户自定义的Applet 子类中,一般需要重载父类的( )方法来完成一些画图操作。
(完整word版)java期末复习题含答案及详解

一、选择题(共20分)1.下列输出结果是()int a = 0 ;while ( a < 5 ) {switch(a){case 0:case 3 : a = a + 2;case 1 :case 2 : a = a + 3;default : a = a + 5; }}System.out.print ( a ) ;答案:10解析:由于每个case后面没有使用break结束循环,导致程序从上往下逐条运行。
2.被声明为private,protected及public的类成员,在类外部()A)只能访问到声明为protected和public的成员B)都可以访问C)只能访问声明为public的成员D)都不能访问答案:A解析:private只能被类内部访问,子类(未在父类内部)可以访问父类protected类型成员,其他类可以访问其public类型成员。
3.在Java语言中,下列关于类的继承的描述,正确的是()。
A)一个类可以继承多个父类B)一个类可以具有多个子类C)子类可以使用父类的所有方法D)子类一定比父类有更多的成员方法答案:B解析:A错,一个类只能有一个父类;C错,父类的私有方法就不可被子类访问并使用;D错,继承关系是对父类功能的扩展,根据实际情况完全可以只扩展1个功能,并不意味着成员方法比父类多。
4.类Teacher和Student都是类People的子类People p;Teacher t;Student s;若p,t和s都是非空值,并且new时声明的都是本类;if(t instanceof People) { s = (Student)t; }这个语句导致的结果是什么?()A) 表达式合法B) 编译时非法C) 将构造一个Student对象D) 编译时合法而在运行时可能非法答案:B解析:instanceof操作符用于判断左边的引用对象是否是右边的类,或者其子类、实现类的实例。
此题中的if语句的判断没有问题,将返回真。
java期末考试试卷和答案

java期末考试试卷和答案**Java期末考试试卷和答案**一、单选题(每题2分,共20分)1. Java语言中,下列哪个关键字用于定义一个类?()A. classB. interfaceC. structD. enum答案:A2. 在Java中,哪个关键字用于声明一个方法?()A. functionB. methodC. defD. void答案:D3. 下列哪个选项是Java中的合法标识符?()A. 2variableB. variable2C. $variableD. variable-2答案:B4. Java中,哪个关键字用于实现多态?()A. extendsB. implementsC. instanceofD. override答案:A5. 在Java中,下列哪个选项是正确的字符串连接方式?()A. "Hello" + "World"B. "Hello" - "World"C. "Hello" * "World"D. "Hello" / "World"答案:A6. Java中,下列哪个选项是正确的数组初始化方式?()A. int[] arr = {1, 2, 3};B. int[] arr = 1, 2, 3;C. int arr[] = {1, 2, 3};D. int arr = {1, 2, 3};答案:A7. 下列哪个选项是Java中的垃圾回收机制?()A. 程序员手动释放内存B. JVM自动释放内存C. 操作系统释放内存D. 编译器释放内存答案:B8. 在Java中,下列哪个选项是正确的异常处理语句?()A. try { ... } catch { ... }B. try { ... } catch (Exception e) { ... }C. try { ... } catch (Exception) { ... }D. try { ... } catch (Exception e) { ... } finally { ... }答案:D9. Java中,下列哪个选项是正确的集合类?()A. VectorB. HashtableC. ArrayListD. All of the above答案:D10. 在Java中,下列哪个选项是正确的泛型使用方式?()A. List list = new ArrayList();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<String>();D. List<String> list = new ArrayList();答案:B二、填空题(每题3分,共15分)1. Java中,使用关键字________来声明一个接口。
java第五版期末考试题及答案

java第五版期末考试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 在Java中,哪个方法用于获取数组的长度?A. length()B. size()C. count()D. length答案:A3. 下列哪个选项是Java中的垃圾回收机制?A. 手动释放内存B. 程序员控制内存分配和释放C. 系统自动回收不再使用的对象D. 程序员定期清理内存答案:C4. Java中,哪个关键字用于创建一个线程?A. threadB. runnableC. synchronizedD. extends答案:B5. 在Java中,下列哪个是正确的继承关系?A. 类可以继承多个类B. 类可以继承多个接口C. 接口可以继承多个接口D. 接口可以继承类答案:C6. Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. throws答案:B7. 下列哪个选项是Java中的方法重载?A. 两个方法具有相同的返回类型和参数列表B. 两个方法具有相同的方法名和返回类型C. 两个方法具有相同的方法名和参数列表D. 两个方法具有不同的方法名和参数列表答案:C8. Java中,下列哪个关键字用于声明一个包?A. packageB. importC. classD. interface答案:A9. 在Java中,下列哪个是正确的多态性使用?A. 父类引用指向子类对象B. 子类引用指向父类对象C. 子类对象指向父类引用D. 父类对象指向子类引用答案:A10. Java中,下列哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. final答案:B二、填空题(每题2分,共20分)1. Java中,____关键字用于声明一个抽象类。
答案:abstract2. 在Java中,____关键字用于声明一个私有方法。
JAVA期末考试试卷和习题及答案汇总电子教案

JA V A期末考试试卷和习题及答案汇总一、单项选择题1.下面哪个不是Java中的容器? BA、ScrollPaneB、CanvasC、AppletD、Dialog2.下面哪个方法与applet的显示无关? AA、draw()B、update()C、repaint()D、paint()3.以下哪个方法用于定义线程的执行体? CA、start()B、init()C、run()D、synchronized()4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式?A A、FlowLayout B、CardLayout C、BorderLayout D、GridLayout5.有如下代码段:1)2) { if(unsafe()){//do something…}3) else if(safe()){//do the other…}4) }其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?DA、public IOException methodName()B、public void methodName()C、public void methodName() throw IOExceptionD、public void methodName() throws IOException6.以下哪个关键字可以用来对对象加互斥锁?BA、transientB、synchronizedC、 serializeD、static7.编译并运行以下程序,以下描述哪个选项是正确的C1. class A{2. protected boolean equals(){3. return super.equals();}4. }A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错8.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J a v a高级编程期末考试真题试卷及复习资料名词解释:1.泛型答:即参数化类型,允许程序创建集合时指定集合元素的类型。
在定义方法、类、接口时使用类型形参,类型形参将在声明变量、调用方法、创建对象时动态地指定.如:List<String>,ArrayList<String>2. 多态答:Java引用变量分为编译时的类型和运行时的类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。
如果两类型不一致,就出现多态。
3.阻塞答:当前正在执行的线程被阻塞之后,其他线程就获得执行机会.被阻塞的线程会在合适的时候重新进入就绪状态,重新等待线程调度器再次调度它。
4. 封装答:面向对象三大特征之一。
指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对内部信息的操作和访问。
5. 继承答:类继承是新类可以从现有的类中派生。
派生类继承了基类的非私有成员变量和方法,派生类可以拥有自己的成员变量和方法,可以用自己的方式实现基类的方法。
6. 抽象:答:抽象就是忽略主题中与目标无关的方面,关注与目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不管部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
选择题第一大类(集合),如:1、在Java中,( A )类的对象可被用作堆栈或者队列。
A. LinkedListB. ArrayListC. CollectionD. HashMap2、关于Java中的集合实现类,下列说法描述错误的是(D )。
A. HashMap是Map接口的实现类B. ArrayList对象是长度可变的对象引用数组C. 集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法D. Set中存储一组不允许重复、有序(无序)的对象第二大类(JDBC与SQL编程),如:1、使用JDBC访问数据库时,下列关于JDBC的说法正确的是( B )。
A. Connection接口负责执行SQL语句B. 可以使用Class.forName()方法把JDBC驱动类装载入Java虚拟机中C. Statement接口由Connection产生负责保存返回的查询结果D. DriverManager类负责连接数据库并传送数据2、在Java中,以下关于得到ResultSet对象、PreparedStatement对象、Statement对象的说法,正确的是( AC )。
A. 可以使用Statement对象的executeQuery方法返回ResultSet对象B. 可以使用Connection对象的createStatement方法获得PreparedStatement对象C. 可以使用Connection对象的createStatement方法获得Statement对象D. 可以使用Connection对象的executeQuery方法返回ResultSet对象第三大类(线程),如:1、下面关于Java主线程的说法错误的是( D )。
A.主方法所在的线程即主线程。
B.在多线程应用中,主线程的主要作用是启动其它线程。
C.主线程与其它线程是平等的。
D.主线程结束,整个应用将结束。
2、关于synchronized关键字的说法正确的是( A )。
A.通过synchronized关键字可以同步代码块,实现多线程对共享资源访问的原子性、互斥性。
B.使用synchronized关键字时,同步锁对象不一定存在。
C.synchronized关键字的使用不可能导致死锁。
D.synchronized关键字可以修饰类。
第四大类(Socket编程),如:1、下面关于Socket编程说法不正确的是( C )。
A.通过Socket可以获得字节输入流,以接收对方Socket发来的信息。
B.通过Socket可以获得字节输出流可以向对象Socket发送信息。
C.通过Socket获得的是字节流,因此不能发送字符信息。
D.通过Socket可以在通信双方主机之间传送Java对象。
2、通过流的read()方法读取数据,如何判断流结尾?(A )。
A. 返回-1表示流结尾。
B. 返回null表示流结尾。
C. 返回0表示流结尾。
D. 遇到流结尾将抛出异常。
简答题1. 什么是可变参数?答:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。
调用这个方法的时,可以传给它任意个参数,JVM都能将这些数据封装成一个数组,按照方法内的操作进行操作。
可变参数定义时必须放在参数列表的最后面。
2. JAVA垃圾回收是指什么?答:垃圾回收是一种动态存储管理技术,能自动释放无用对象,按照特定算法自动释放内存空间,减轻编程的负担。
3. 什么是初始化数据块?答:初始化块是java类里第4种成员;由大括号{…}括起,可由static修饰;无名字,无法通过对象、类来被调用;在构造器之前执行,且不能接受形参。
4. JAVA中"equals"和"=="它们之间有什么区别?答:equals 方法检测两个对象的内容是否相等,区分大小写。
==比较基本数据类型时,如果两个值相同,则结果为true,而在比较引用时,如果引用指向同一对象,结果为true5、简单给出JAVA 实现线程的两种方式。
答:①继承Thread类class MyThread extends Thread{public void run(){}}public class a{public static void main(String[] args){MyThread mythread =new MyThread();mythread.start();}}②实现Runnable接口class MyThread implements Runnable{public void run(){}}public class a{public static void main(String[] args){MyThread myThread=new MyThread();Thread thread=new Thread(myThread);thread.start();}}6、JAVA抽象类和接口之间有什么区别?答:1.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型。
2.接口内只能包含抽象方法,抽象类可以包含普通方法。
3.接口里不能定义静态方法;抽象类里可以定义静态方法。
4.接口不包含构造器;抽象类里可以包含构造器5.一个类只能继承一个抽象类,而一个类却可以实现多个接口7、String是最基本的数据类型吗?基本类型有哪些?答:String不是基本数据类型,基本数据类型包括:byte, short, int, long, float, double, boolean, char八大类型。
而String是类,属于引用类型,引用类型包括:类,接口,数组等。
8、说出ArrayList,Vector, LinkedList的存储性能和特性?答:ArrayList和Vector均使用数组方式存储数据,能自动增加数组容量,允许按序号索引元素,效率高,而插入设计数组元素移动所以效率低,vector线性安全,ArrayList线性不安全。
LinkedList使用双向链表实现存储,插入效率高,索引效率低。
9、&和&&的区别。
答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
10、sleep() 和 wait() 有什么区别?答:sleep是Thread类的方法,没有释放对象锁,让程序暂停执行指定的时间,之后恢复运行状态,期间监控状态依然保持wait是Object类的方法,释放了对象锁,进入等待此对象的等待锁定池,必须用notify()或notifyAll()方法唤醒该进程11、GC是什么? 为什么要有GC?答:GC是垃圾收集的意思,自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有显示地释放已分配内存的方法。
综合题1.udp编程1) 说明在java在UDP协议与TCP协议实现中连接和数据传输方面的不同TCP:通过端口来区分程序间的通信进程,按字节流顺序传播。
UDP:通过端口来区分程序间的通信进程,按数据报传播,包到达的先后顺序不固定。
2)编程举例udp如何发送数据byte[] data ="你好UDP".getBytes();InetAddress inet = InetAddress.getByName("127.0.0.1");DatagramPacket dp =new DatagramPacket(data, data.length, inet,6000); DatagramSocket ds =new DatagramSocket();ds.send(dp);ds.close();3)编程举例udp如何接受数据byte[] data = new byte[1024];DatagramSocket ds =new DatagramSocket(6000);DatagramPacket dp =new DatagramPacket(data, data.length);ds.receive(dp);ds.close();2.在理解线程同步概念的基础上,针对一个银行账户对象account,编程实现使用同步代码块和同步方法来完成多线程正确取钱行为,请编写两段代码,分别实现这两种实现方法。
同步代码块public class DrawThread extends Thread {public void run(){synchronized(account){if(account.getBalance()>= drawAmount){System.out.println("取钱成功");}elseSystem.out.println("取钱失败");}}}同步方法public class Account {public synchronized void draw(double drawAmount){if(account.getBalance()>= drawAmount){System.out.println("取钱成功");}elseSystem.out.println("取钱失败");}}3. 请使用jdbc和SQL语法完成如下任务1) 创建学生表student(字段:逻辑主键id,学号studentId,姓名studentName,年龄age,性别sex-0表示女生-1表示男生),并给studentName字段创建索引。