收藏 分享(赏)

《JAVA程序设计》期末考试试题汇总及答案.doc

上传人:精品资料 文档编号:8914007 上传时间:2019-07-16 格式:DOC 页数:35 大小:218KB
下载 相关 举报
《JAVA程序设计》期末考试试题汇总及答案.doc_第1页
第1页 / 共35页
《JAVA程序设计》期末考试试题汇总及答案.doc_第2页
第2页 / 共35页
《JAVA程序设计》期末考试试题汇总及答案.doc_第3页
第3页 / 共35页
《JAVA程序设计》期末考试试题汇总及答案.doc_第4页
第4页 / 共35页
《JAVA程序设计》期末考试试题汇总及答案.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、一、单选择题1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。A. java B. .classC. html D. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( )。A. 3 B. 3. 5C. 4 D. 53、不允许作为类及类成员的访问控制符的是( )。A. public B. privateC. static D. protected4、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为( )。A. stat

2、ic void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )二、填空题1、开发与运行 Java 程序需要经过的三个主要步骤为 编辑源程序 、编译生成字节码 和 解释运行字节码 。2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。3、设 x = 2 ,则表达式 ( x + + )3 的值是 0 。4、若 x = 5,y = 10,则

3、x = y 的逻辑值分别为 true 和 false 。5、 抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终(final) 方法是不能被当前类的子类重新定义的方法。6、创建一个名为 MyPackage 的包的语句是 package MyPackage ; ,该语句应该放在程序的位置为: 应该在程序第一句 。7、设有数组定义:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70; 则执行以下几个语句后的输出结果是 120 。int s = 0 ;for (int i = 0 ; i

4、) 。6、在 Java 中定义一个字符串类型的变量 str 的语句是:( String str;) ,定义一个具有 10个元素的整型数组 a 的语句是:(int arr = new int10;) 。7、导入 mypackage 包中的所类的命令是 ( import mypackage.*; ) 。8、当声明一个数组 int arr = new int5; 时,这代表这个数组所保存的变量类型是( int) ,数组名是(arr) ,数组的大小为(5) ,数组元素下标的使用范围是( 0 到 4) 。9、假设 x=13,y=4 ,则表达式 x%y != 0 的值是(true) ,其数据类型是( bo

5、olean) 。10、异常处理是由(try) 、 (catch)和 finally 块三个关键所组成的程序块。11、以下程序段的输出结果是(三角形)int x = 5, y = 6, z = 4;if (x + y z elseSystem.out.println(“不是三角形“);12、下面程序段的执行结果是(6 5 4 3 2)int a = 2, 3, 4, 5, 6 ;for (int i = a.length - 1; i = 0; i-)System.out.print(ai + “);三、程序阅读题2、以下程序的输出结果为_课程号:101 课程名:ASP 学分 :3_。publi

6、c class Course private String cNumber;private String cName;private int cUnit;public Course(String number, String name, int unit) cNumber = number;cName = name;cUnit = unit;public void printCourseInfo() System.out.println(“课程号:“ + cNumber + “ 课程名:“ + cName + “ 学分:“ + cUnit);class CourseTest public st

7、atic void main(String args) Course c;c = new Course(“101“, “ASP“, 3);c.printCourseInfo();3、以下程序的输出结果为_汤姆猫体重:20.0 斤_。public class Tom private float weight;private static String name;public void setWeight(float weight) this.weight = weight;private void out() System.out.println(name + “体重:“ + weight +

8、“斤“);public static void main(String args) Tom.name = “汤姆猫“;Tom cat = new Tom();cat.setWeight(20);cat.out();5、下列程序的运行结果是_12345_。public class MyClass int a = 1, 2, 3, 4, 5 ;void out() for (int j = 0; j max)max =xi;System.out.println(max);A) 125 B) 5 C) 98 D) 168 12、程序 Test.java 编译运行后输出的结果是 ( )。public

9、class Test String s1=“java“; public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A) java2 B)2 C)没有输出结果 D)java 13、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。String s1=“0.5“, s2=“12“; double x=Double.parseDouble(s1);int y=Integer.parseInt(s2);System.out.println(x+y);A) 12

10、.5 B) 120.5 C) 12 D) “12.5” 14、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据,假设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序运行 3 次,则文件test.txt 的内容是( )。import java.io.*;public class Test public static void main(String args) try String s=“ABCDE“;byte b=s.getBytes();FileOutputStream file=new FileOutputStream

11、(“test.txt“,true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 15、下面那些方法不是接口 Collection 中已声明的方法( )?A)添加元素的 add(Object obj) 方法B)删除元素的 remove(Object obj)方法C)得到元素个数的 length()方法D)返回迭代器的 iterator()方法,迭代器用于元素遍历 二、多选题1、下面 m

12、ain()方法的定义哪些是正确的( )?A) public static void main(String args) B) public static void main(String) C) public static void main(String args) D)public static void main(String x) 2、线程对象的生命周期中,通常经历下面哪些状态( ) 。A)新建 B)运行 C)就绪 D)死亡 3、下面说法正确的是( )。A) final 可修饰类、属性(变量)、方法。 B) abstract 可修饰类、方法。C) 抽象方法只有方法头,没有方法体。 D)

13、 关键字 final 和 abstract 不能同时使用。4、下面关于 java 中输入/输出流的说法正确的是( )。A) FileInputStream 与 FileOutputStream 类用读、写字节流。 B) Reader 与 Writer 类用来读、写字符流。C) RandomAccessFile 既可以用来读文件,也可以用来写文件。 D) File 类用来处理与文件相关的操作。5、下面说法正确的是( )。A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。B)如果源文件包含 import 语句,则该语句必须是除空行和注释行外的第一个语句行。C)如果某源文件包含

14、 package 语句,则该语句必须是第一个非空、非注释行。D)接口中的方法必定是抽象方法,但可以不用关键字 abstract 修饰。 6、下面关于 Java 中异常处理 try 块的说法正确的是( )?A) try 块后通常应有一个 catch 块,用来处理 try 块中抛出的异常。 B) catch 块后必须有 finally 块。C)可能抛出异常的方法调用应放在 try 块中。 D)对抛出的异常的处理必须放在 try 块中7、下面关于进程、线程的说法正确的是( )。A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程多线程,形成多条执行线索。B)线程是比进程更小的执

15、行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C)Java 多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取 CPU 或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。8、关于 BufferedReader 类的 readLine()方法,以下说法正确的是() 。A)方法 readLine()每次读取一行数据。 B)方法 readLine()每次读取一个字节。C)该方法可能抛出 IOException 异常,调用该方法时通常应将它放到 try 块中,并通过catch

16、 块处理异常。D)如果读到流的末尾,该方法返回的结果为 null。三、程序阅读题1、阅读下面的程序,回答问题(问 3 分,问 3 分,共 6 分) 。import java.awt.*;import javax.swing.*;public class T extends JFrame public T ( ) super(“GridLayout“);Container con=this.getContentPane();con.setLayout(new GridLayout(2,3);con.add(new JButton(“a“); con.add(new JButton(“b“);co

17、n.add(new JButton(“c“); con.add(new JButton(“d“);con.add(new JButton(“e“);con.add(new JButton(“f“);setSize(200, 80);setVisible(true);public static void main(String args) new T(); 画图表示程序运行后的图形界面。如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?答案:接口名:ActionListener接口中的方法:public void actionPerformed(ActionEv

18、ent e)2、阅读下面的程序,回答问题(问 3 分,问 3 分,共 6 分) 。 。import java.util.*;public class T public static void main(String args) Set set = new TreeSet();set.add(new Integer(10); set.add(new Integer(5); set.add(new Integer(15);set.add(new Integer(5); set.add(new Integer(10);System.out.println(“size = “ + set.size()

19、;Iterator it=set.iterator();while(it.hasNext()System.out.print(it.next()+“ “); 程序运行后输出的结果如何?说明 java 中的集合(Set 接口)和映射(Map 接口) 的主要区别。答案:size = 35 10 15Set 接口是不包含重复元素的集合; Map 接口将键映射到值,键可以重复,但每个键最多只能映射一个值。3、阅读下面的程序,并回答问题(问 3 分,问 3 分,共 6 分) 。import java.io.*;public class Test public static void main(Strin

20、g args) throws IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in); while(true) String str=buf.readLine();if(str.equals(“quit“)break;int x=Integer.parseInt(str);System.out.println(x*x); 编译运行上面的程序:从键盘输入 5,回车后输出的结果如何?从键盘输入 quit,回车后程序执行情况如何?答案:25 终止应用程序的运行。JAVA 程序设计期末考试试题

21、 (五)一、 单选题 1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( ) 。A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。File file1=new File(“d:xxxyyyzzz“);file1.mkdirs();A)在当前目录下生成子目录:xxxyyyzzz B)生成目录: e:xxxyyyzzzC)在当前目录下生成文件 xxx.yyy.zzz D)以上说

22、法都不对 3、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。String s = “xxxxxxxxxxxxxxx#123#456#zzzzz“;int n = s.indexOf(“#“);int k = s.indexOf(“#“, n+1);String s2 = s.substring(n+1, k);System.out.println(s2);A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序 Test.java 说法正确的是( )。public class Test String x=“1“; int y

23、;public static void main(String args) int z=2; System.out.println(x+y+z); A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。int b=1, 1, 1, 2,2, 3;int sum=0;for(int i=0; ib.length; i+) for(int j=0; jbi.length; j+) sum+=bij; System.out.println(“sum=“+sum);A) 10 B)6 C) 9 D) 13 6、应用程序的 main 方法

24、中有以下语句,则执行后输出的结果是 ( )。int x = 125,21,5,168,98;int min = x0;for (int i=1; ix.length; i+)if(xi min)min = xi;System.out.println(min);A) 125 B) 5 C) 98 D) 168 7、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。Hashtable hashtable=new Hashtable();hashtable.put(“100“,“aaa“);hashtable.put(“200“,“bbb“);hashtable.put(“300“,“

25、ccc“); System.out.println(hashtable.get(“300“).toString()+ hashtable.get(“200“).toString()+ hashtable.get(“100“).toString(); A) aaa B) bbb C) ccc D) cccbbbaaa 8、以下关于 java 异常说法不正确的是( ) 。A) Throwable 类是 Java 语言中 Error 类和 Exception 类的父类。B)当异常对象是 Exception 类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过

26、 trycatchfinally 处理。C)如果只用一个 catch 块捕捉多个异常对象,则 catch 子句中的参数类型应是所有异常对象的父类。D)以上说法都不对。9、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据,假设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序运行 3 次,则文件test.txt 的内容是( )。import java.io.*;public class Test public static void main(String args) try String s=“ABCDE“;byte b=s

27、.getBytes();FileOutputStream file=new FileOutputStream(“test.txt“, true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE 10、下面说法不正确的是( )?A)列表 (List)、集合(Set)和映射(Map)都是 java.util 包中的接口。B)List 接口是可以包含重复元素的有序集合。C)Set 接口是不包含重

28、复元素的集合。D)Map 接口将键映射到值,键可以重复,但每个键最多只能映射一个值。二、多选题1、下面哪些关键字能用来控制对类成员的访问( )?A) public B) protected C) private D) default 2、下面关于 Java 中异常处理 try 块的说法正确的是( )?A) try 块后通常应有一个 catch 块,用来处理 try 块中抛出的异常。 B) catch 块后必须有 finally 块。C)可能抛出异常的方法调用应放在 try 块中。 D)对抛出的异常的处理必须放在 try 块3、线程对象的生命周期中,通常经历下面哪些状态( ) 。A)新建 B)运

29、行 C)就绪 D)死亡 4、定义如下的二维数组 b,下面的说法正确的是( )。int b=1, 2, 3, 4, 5,6, 7, 8;A)b.length 的值是 3。 B)b1.length 的值是 3。C)b11的值是 5。 D) 二维数组 b 的第一行有 3 个元素 5、类 B 是一个抽象类,类 C 是类 B 的非抽象子类,下列创建对象 x1 的语句中正确的是( )。A) B x1= new B( ); B) B x1= new C( ); C) C x1=new C( ); D) C x1= new B( );6、下面关于进程、线程的说法正确的是( )。A)进程是程序的一次动态执行过程

30、。一个进程在其执行过程中,可以产生多个线程多线程,形成多条执行线索。B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C)Java 多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取 CPU 或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。A)内部类可以直接访问外部类的成员B)外部类可以直接访问内部类的成员C)外部类不能访问内部类的成员D)外部类可通过创建内部类的实例来访问内部

31、类的成员JAVA 程序设计期末考试试题 (六)一、填空题1定义类的保留字是( class ),定义接口的保留字是( interface )。2Socket 通常也称为 ( 套接字 ),用于描述( IP 地址 ) 和 ( 端口 )。 3线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。4构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。5Java 语言只允许单继承,指每个类只能有一个 ( 父类 )。6Java 源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class ) 。7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访

32、问临界资源的代码( 临界代码 )。8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。二、选择题1关于选择结构下列哪个说法正确? ( )Aif 语句和 else 语句必须成对出现Bif 语句可以没有 else 语句对应Cswitch 结构中每个 case 语句中必须用 break 语句Dswitch 结构中必须有 default 语句2while 循环和 dowhile 循环的区别是: ( )A没有区别,这两个结构任何情况下效果一样Bwhile 循环比 dowhile 循环执行效率高Cwhile 循环是先循环后判断,所以循环体至少被执行一次Ddowhile 循环是先

33、循环后判断,所以循环体至少被执行一次3关于 for 循环和 while 循环的说法哪个正确? ( )Awhile 循环先判断后执行,for 循环先执行后判断。Bwhile 循环判断条件一般是程序结果,for 循环的判断条件一般是非程序结果C两种循环任何时候都不可以替换D两种循环结构中都必须有循环体,循环体不能为空4下列修饰符中与访问控制无关的是 ( )Aprivate BpublicCprotected Dfinal5 void 的含义: ( )A方法没有返回值 B 方法体为空C没有意义 D. 定义方法时必须使用6 return 语句: ( )A只能让方法返回数值 B方法都必须含有C方法中可以

34、有多句 return D不能用来返回对象7关于对象成员占用内存的说法哪个正确? ( )A同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存D以上都不对8下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量9下列说法哪个正确? ( )A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用10关于方法 main()的说法哪个正确?( )A方法 main()只能放在公共类中B main()的头

35、定义可以根据情况任意更改C一个类中可以没有 main()方法D所有对象的创建都必须放在 main()方法中11构造函数何时被调用? ( )A、创建对象时 B、类定义时C、使用对象的方法时 D、使用对象的属性时12 抽象方法: ( )A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法 13关于继承的说法正确的是: ( )A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类 public 方法和属性D、子类只继承父类的方法,而不继承属性14关于构造函数的说法哪个正确? ( )A、一个类只能有一个构造函数B、一个类可以

36、有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数15 this 和 super:A、都可以用在 main()方法中B、都是指一个内存地址C、不能用在 main()方法中D、意义相同16关于 super 的说法正确的是:A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在 main()方法中17覆盖与重载的关系是 ( )A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal 修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回事18关于接口哪个正确?

37、( )A、实现一个接口必须实现接口的所有方法B一个类只能实现一个接口C接口间不能有继承关系D接口和抽象类是同一回事19异常包含下列哪些内容? ( )A程序执行过程中遇到的事先没有预料到的情况B程序中的语法错误 C程序的编译错误D以上都是20 对于已经被定义过可能抛出异常的语句,在编程时: ( )A、必须使用 trycatch 语句处理异常,或用 throws 将其抛出B如果程序错误,必须使用 trycatch 语句处理异常C可以置之不理D只能使用 trycatch 语句处理21 字符流与字节流的区别在于( )A前者带有缓冲,后者没有B前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用

38、D. 每次读写的字节数不同22下列流中哪个不属于字节流 ( )AFileInputStreamBBufferedInputStreamC. FilterInputStreamD. InputStreamReader三、程序填空题1.public class Sumpublic static void main(String args)int j=10;System.out.println(“j is : “+j);calculate(j);System.out.println(“At last, j is : “+j);static void calculate (int j)for (int

39、 i = 0;i10;i+)j+;System.out.println(“j in calculate() is: “+j);输出结果为:j is : (1) j in calculate() is : (2)At last j is : (3)答案:(1) 10; (2) 20; (3) 10。2. 按要求填空abstract class SuperAbstractvoid a()abstract void b();abstract int c(int i);interface AsSupervoid x();abstract class SubAbstract extends SuperA

40、bstract implements AsSuperpublic void b()abstract String f();public class InheritAbstract extends SubAbstractpublic void x()public int c(int i ) public String f()public static void main(String args)InheritAbstract instance=new InheritAbstract();instance.x();instance.a();instance.b();instance.c(100);

41、System.out.println(instance.f(); 在以上这段程序中:抽象类有:SuperAbstract 和 (1) (写出类名)非抽象类有: (2) (写出类名)接口有: (3) (写出接口名)AsSuper 中的 x()方法是(4)方法,所以在 InheritAbstract 中必须对它进行(5) 答案:(1) SuperAbstract;(2) InheritAbstract;(3) AsSuper;(4) 抽象;(5) 覆盖和实现。3. 按注释完成程序public class Leaf private int i = 0; /此属性值用于检验Leaf increment

42、() /定义方法 increment(),返回值是 Leaf 类的对象i+;return (1) ;/将当前对象的地址作为返回值返回void print() System.out.println(“ i = “ + i);public static void main(String args)Leaf x = (2); /创建 Leaf 类的对象 xx.increment().increment().increment().print();/多次调用方法 increment(),返回的都是 x 的地址,i 值表示调用次数输出结果为 i = (3) 答案:(1) this;(2) new Lea

43、f();(3) 34. 按注释提示完成文件复制的程序/FileStream 源代码如下:import java.io.*;class FileStream public static void main(String args ) try File inFile = new File(“file1.txt“); /指定源文件File outFile = new File(“file2.txt“); /指定目标文件FileInputStream fis =(1);FileOutputStream fos = new FileOutputStream(outFile);int c; /逐字节从源文

44、件中输入,再输出到 fos 流while (c = fis.read ()!=-1)(2);fis.close(); fos.close();catch (Exception e) System.out.println(“FileStreamsTest: “+e);答案:(1) new FileInputStream(inFile);(2) fos.write(c);5. 阅读程序,给出结果:/ AbstractClassDemo.java 源代码如下:abstract class Shape /定义抽象类 Shape 和抽象方法 displayabstract void display();class Circle extends Shape void display() /实现抽象类的方法System.out.println(“Circle“);class Rectangle extends Shape void display() /实现抽象类的方法System.out.println(“Rectangle“);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报