JAVA程序设计期末考试题(多套含答案)

合集下载

《JAVA语言程序的设计》期末考试题与答案3

《JAVA语言程序的设计》期末考试题与答案3

《JAVA语言程序设计》期末考试试题及答案3一、单项选择题1、如下哪个是Java中的标识符()A、publicB、superC、3numberD、width2、如下哪个是Java中的标识符( )A、fieldnameB、superC、3numberD、#number3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( )A、s += "books";B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;4、如下哪个是Java中有效的关键字()A、nameB、helloC、falseD、good5、下面的代码段执行之后count的值是什么( )int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);A、5B、1C、15D、166、定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()A、p.add(b);B、p.add(b,"North");C、p.add(b,"South");D、b.add(p,"North");9、声明并创建一个按钮对象b,应该使用的语句是()A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayoutB、BorderLayoutC、CardLayoutD、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;12、下面哪一个import命令可以为我们提供编写网络应用程序的类()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter二、填空题1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.cla某{....}B.taticcla某implementy1,y2{....}D.cla某e某tendy{....} C.publiccla某e某tendApplet{....}3.下列语句序列执行后,k 的值是Bintm=3,n=6,k=0;while((m++)<(--n))++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。

如i=1,则表达式(i++)的值等于1,而i的值变为2。

++ii先自增1,再把自增后的值赋给表达式(++i)。

如i=1,则表达式(++i)的值等于2,i的值也为2,A.0B.1C.2D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k的值是Cinti=10,j=18,k=30;witch(j-i){cae8:k++;cae9:k+=2;cae10:k+=3;default:k/=j;}A.31B.3C.2D.337.设有定义float某=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是CA.某>y||某>zB.z>(y+某)C.某!=yD.某<y&!(某<z)8.下列修饰符中,定义类头时能使用的修饰符是CA.privateB.taticC.abtractD.protected9.设i、j、k为类某中定义的int型变量名,下列类某的构造函数中不正确的是BA.某(intm){...}B.void某(intm){...}D.某(inth,intm,intn){...}C.某(intm,intn){...}10.下列对封装性的描述中,错误的是DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型D.包有有名包和无名包两种C.包是使用package语句创建的12.下列关于Applet程序的描述中,错误的是CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是A.DialogB.FrameCC.LitD.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.haNe某t()B.ne某t()16.主线程属于A.守护线程C.remove()D.ne某tElement()(C)B.Thread线程C.用户线程D.Runnable线程二、填空题1.2.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案1. 简答题1.1 什么是Java程序设计?答:Java程序设计是指使用Java编程语言进行软件开发的过程。

它包括了编写、测试和维护Java程序的各个步骤。

1.2 Java程序的开发环境有哪些?答:Java程序的开发环境包括Java Development Kit(JDK)、集成开发环境(IDE)等工具。

2. 编程题2.1 编写一个Java程序,实现两个整数相加的功能。

答:```javapublic class AddTwoNumbers {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("两个整数相加的结果为:" + sum);}}```2.2 编写一个Java程序,实现对一个整数数组进行冒泡排序。

答:```javapublic class BubbleSort {public static void main(String[] args) {int[] numbers = {5, 2, 8, 1, 9};int temp;for (int i = 0; i < numbers.length - 1; i++) {for (int j = 0; j < numbers.length - i - 1; j++) {if (numbers[j] > numbers[j+1]) {temp = numbers[j];numbers[j] = numbers[j+1];numbers[j+1] = temp;}}}System.out.println("冒泡排序后的数组为:");for (int number : numbers) {System.out.print(number + " ");}}}```3. 填空题3.1 Java中的访问修饰符有_____,______,______和______。

2024年JAVA语言程序设计期末考试试题及答案应考必备题库

2024年JAVA语言程序设计期末考试试题及答案应考必备题库

《JAVA语言程序设计》期末考试试题及答案4(应考必备题库)一、单项选择题1、下列程序段执行后的成果是( )。

String s =new String("abcdefg");for (int i=0; i<s.length(); i+=2){ System.out.print(s.charAt(i));}A) aceg B) ACEG C) abcdefgD) abcd 二、单项选择题1、下列程序段执行后的成果是( )。

String s= new String("abcdefg");for (inti=0; i<s.length();i+=2){ System.out.print(s.charAt(i));} B) A)aceg B) ACEG C)abcdefg D) ab 2、有整型数组:int[] x={12,35,8,7,2};,则调用措施Arrays.sort(x)后,数组x中的元素值依次是( ).A) 2 7 8 12 35 ﻩﻩB)12 35 8 7 2 C) 35 12 8 7 2 ﻩﻩﻩD)8 7 12 35 23、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文献夹下的文献1.txt。

File结构函数中正确的途径和文献名的表示是( )。

File f = new File(填代码处);file =newFileReader(f);in=new BufferedReader(file);A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt" 4、应用程序的main措施中有如下语句,则输出的成果是( )。

 String s1=new String("abc"); String s2=new String("abc"); booleanb1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+" "+b2);A)true false B)false true C) truetrue D)falsefalse 5、应用程序的main措施中有如下语句,则输出的成果是( )。

JAVA期末试题及答案

JAVA期末试题及答案

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[];(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)finally7.类与对象的关系是()。

(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( )源文件和编译后的文件扩展名分别为()(A) .class和 .java (B).java和 .class(C).class和 .class (D) .java和 .java12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

java程序设计期末考试题及答案

java程序设计期末考试题及答案

java程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个类是所有Java类的根类?A. ObjectB. SystemC. StringD. Math答案:A3. 下列哪个数据类型是Java中的原始数据类型?A. StringB. IntegerC. intD. ArrayList答案:C4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void5. 下列哪个选项是Java中的合法标识符?A. 2variableB. variable2C. $variableD. variable-答案:B6. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案:A7. Java中的集合框架中,哪个接口提供了添加和删除元素的方法?A. ListB. SetC. MapD. Queue答案:A8. 在Java中,下列哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C9. Java中,哪个关键字用于声明一个线程?B. runnableC. synchronizedD. volatile答案:B10. 在Java中,下列哪个选项是正确的字符串连接操作?A. "Hello" + 5B. "Hello" + "World"C. 5 + "Hello"D. "Hello" * 3答案:B二、填空题(每题2分,共20分)1. Java中的________关键字用于声明一个接口。

答案:interface2. Java中的________关键字用于实现一个接口。

《JAVA语言程序设计》期末考试试卷附答案

《JAVA语言程序设计》期末考试试卷附答案

《JAVA语言程序设计》期末考试试卷附答案一、判断(每小题2分,共10分)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

()2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

()3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。

()4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。

()5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。

()二、单选(每小题3分,共60分)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.Public C.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语言程序设计》期末考试试题及答案

大学《JAVA语言程序设计》期末考试试题及答案

JAVA语言程序设计期末考试试题及答案3应考必备题库一、单项选择题1、如下哪个是Java中的标识符A、publicB、superC、3numberD、width2、如下哪个是Java中的标识符A、fieldnameB、superC、3numberD、number3、已知如下定义:String s = "story"; 下面哪个语句不是合法的A、s += "books";B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;4、如下哪个是Java中有效的关键字A、nameB、helloC、falseD、good5、下面的代码段执行之后count的值是什么int count = 1;for int i = 1; i <= 5; i++ {count += i;}System.out.printlncount;A、5B、1C、15D、166、定义一个类,必须使用的关键字是A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是A、publicB、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是A、p.addb;B、p.addb,"North";C、p.addb,"South";D、b.addp,"North";9、声明并创建一个按钮对象b,应该使用的语句是A、Button b=new Button;B、button b=new button;C、Button b=new b;D、b.setLabel“确定”;10、Frame对象默认的布局管理器是A、FlowLayoutB、BorderLayoutC、CardLayoutD、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象A、import java.sql.;B、import java.util.;C、import java.io.;D、import java.;12、下面哪一个import命令可以为我们提供编写网络应用程序的类A、import java.sql.;B、import java.util.;C、import java.io.;D、import java.;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter二、填空题1、如果将类MyClass声明为public,它的文件名称必须是MyClass.java才能正常编译;2、Java程序中的单行注释符是// ,多行注释符是/ / ;3、Java中布尔类型的常量有两种,它们是true和false;4、Java中用于定义小数的关键字有两个:float和double,后者精度高于前者;5、Java中用于两个数相等比较的运算符是:==,用于不相等比较的运算符是<>;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,其数据类型是boolean;10、异常处理是由try、catch和finally块三个关键所组成的程序块;11、以下程序段的输出结果是三角形int x = 5, y = 6, z = 4;if x + y > z && x + z > y && z + y > xSystem.out.println"三角形";elseSystem.out.println"不是三角形";12、下面程序段的执行结果是6 5 4 3 2int a = { 2, 3, 4, 5, 6 };for int i = a.length - 1; i >= 0; i--System.out.printai + "";三、程序阅读题1、以下程序的输出结果为_Peter is 17 years old___;public class Person {String name;int age;public PersonString name, int age { = name;this.age = age;}public static void mainString args {Person c = new Person"Peter", 17; + " is " + c.age + " years old";}}2、以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___;public class Course {private String cNumber;private String cName;private int cUnit;public CourseString number, String name, int unit {cNumber = number;cName = name;cUnit = unit;}public void printCourseInfo {System.out.println"课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit;}}class CourseTest {public static void mainString 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 + "斤";}public static void mainString args { = "汤姆猫";Tom cat = new Tom;cat.setWeight20;cat.out;}}4、以下程序的输出结果__;public class Father {String name, address, tel;int age;public FatherString name, int age { = name;this.age = age;}void out {System.out.print"姓名:" + name;System.out.print" 年龄:" + age;}void outOther {System.out.print" 家庭住址:" + address;System.out.print" 电话:" + tel;}}class Son extends Father {String school;public SonString name, int age {super name, age;}void out {super.out;super.outOther;System.out.println" 学校:" + school;}public static void mainString args {Son son = new Son"Tom", 15;son.address = "金水区";son.school = "九中";son.tel = ;son.out;}}5、下列程序的运行结果是__12345____; public class MyClass {int a = { 1, 2, 3, 4, 5 };void out {for int j = 0; j < a.length; j++System.out.print a j + "";}public static void mainString args {MyClass my = new MyClass;my.out;}}四、简答题1、简述Java中异常处理的机制答:首先Java的异常是面向对象的;一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里;Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally;1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成;其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等;不管try块中的代码如何退出,都将执行 finally块;2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者;Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个;2、什么是继承答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系;3、请简述重载和重写的区别答:方法的重写Overriding和重载Overloading是Java多态性的不同表现;重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现;如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写Overriding;子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了;如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载Overloading;Overloaded的方法是可以改变返回值的类型;五、程序设计题1、按以下要求编写程序1 创建一个Rectangle类,添加width和height两个成员变量2 在Rectangle中添加两种方法分别计算矩形的周长和面积3 编程利用Rectangle输出一个矩形的周长和面积解答:public class Rectangle {float width, height;public Rectangle float width, float height {this.width = width;this.height = height;}public float getLength{return this.width + this.height 2;}public float getArea{return this.width this.height;}public static void mainString args {Rectangle rect = new Rectangle10, 20;System.out.println"周长是:" + rect.getLength;System.out.println"面积是:" + rect.getArea;}}2、按以下要求编写程序1 编写Animal接口,接口中声明run 方法2 定义Bird类和Fish类实现Animal接口3 编写Bird类和Fish类的测试程序,并调用其中的run方法解答:public interface Animal {void run;}class Bird implements Animal {public void run {System.out.println"鸟儿在飞...";}}class Fish implements Animal {public void run {System.out.println"鱼儿在游...";}}public class TestAnimal {public static void mainString args {Bird bird = new Bird;bird.run;Fish fish = new Fish;fish.run;}}3、编写一个Frame框架应用程序,要求如下:1 在窗口设置两个菜单“文件”、“编辑”2 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”3 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”4 点击关闭菜单项时,使程序关闭;解答:importimportimportimportimportimportimportimportimport/主窗体/public class MyFrame extends Frame {private static final long serialVersionUIDprivate Frame frmMain; // 窗体MenuBar mb; // 菜单栏Menu mnuFile; // "文件"菜单Menu mnuEdit; // "编辑"菜单MenuItem miOpen; // "打开"菜单项MenuItem miSave; // "保存"菜单项MenuItem miClose; // "关闭"菜单项MenuItem miCopy; // "复制"菜单项MenuItem miPaste; // "粘贴"菜单项public MyFrame {frmMain = new Frame"主窗体";// 创建菜单栏mb = new MenuBar;// 创建菜单mnuFile = new Menu"文件";mnuEdit = new Menu"编辑";// 创建菜单项miOpen = new MenuItem"打开";miSave = new MenuItem"保存";miClose = new MenuItem"关闭";miCopy = new MenuItem"复制";miPaste = new MenuItem"粘贴";}public void showFrame {frmMain.setSize800, 600;frmMain.setLocation100, 100;frmMain.setBackgroundColor.white;frmMain.setVisible true;frmMain.setLayout null;frmMain.addWindowListener new WindowHandler; // 注册窗口监听器// 将菜单栏放入窗体中frmMain.setMenuBar mb;// 将菜单放入菜单栏中mb.add mnuFile;mb.add mnuEdit;// 将菜单项放入菜单中mnuFile.add miOpen;mnuFile.add miSave;mnuFile.add miClose;mnuEdit.add miCopy;mnuEdit.add miPaste;// 注册动作事件监听器miClose.setActionCommand"miClose_Clicked";miClose.addActionListener new MenuHandler;}// 定义一个内部类,在这个类中编写窗口关闭事件处理程序;private class WindowHandler extends WindowAdapter {public void windowClosingWindowEvent e {System.exit0; // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止;}}// 定义一个内部类,在这个类中编写动作事件处理程序;private class MenuHandler implements ActionListener {public void actionPerformedActionEvent e {if e.getActionCommand == "miClose_Clicked" {System.exit0; // 退出应用程序}}}}public class TestMyFrame {public static void mainString args {// 启动主窗体MyFrame guiWindow = new MyFrame;guiWindow.showFrame;} }。

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。

答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。

答案:final3. 在Java中,______关键字用于声明一个类是抽象的。

JAVA语言程序设计期末考试试题及答案

JAVA语言程序设计期末考试试题及答案

JAVA语言程序设计考试试题及部分答案一、单选题:每题1分下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内;1.下列语句序列执行后,k 的值是B ;int m=3, n=6, k=0;while m++ < -- n ++k;A 0B 1C 2D 32.设i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是B ;A i = i + 2B a0 = 7;C i++ - --j;D a0 = 66;3.Java语言的类间的继承关系是B ;A 多重的B 单重的C 线程的D 不能继承4.设有定义int i = 6 ;,则执行以下语句后,i 的值为C ;i += i - 1;A 10B 121C 11D 1005.下列选项中,用于在定义子类时声明父类名的关键字是C ;Ainterface B package C extends D class6.若已定义byte x= {11,22,33,-66} ;其中0≤k≤3,则对x数组元素错误的引用是C ;A x5-3B xkC xk+5D x07.下列语句序列执行后,ch1 的值是B ;char ch1='A',ch2='W';ifch1 + 2 < ch2 ++ch1;A 'A'B 'B'C 'C'D B8.下列语句序列执行后,i 的值是D ;int i=8, j=16;if i-1 > j i--; else j--;A 15B 16C 7D 89.下列语句序列执行后,k 的值是C ;int i=10, j=18, k=30;switch j - i{ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A 31B 32C 2D 3310.下面语句执行后,i 的值是B ;for int i=0, j=1; j < 5; j+=3 i=i+j;A 4B 5C 6D 711.设有定义float x=, y=, z=;则以下的表达式中,值为true的是B ;A x > y || x > zB x = yC z > y + xD x < y & x < z12.下列语句序列执行后,i的值是D ;int i=16;do { i/=2; } while i > 3 ;A 16B 8C 4D 213.以下由for 语句构成的循环执行的次数是B ;for int i = 0; true ; i++ ;A 有语法错,不能执行B 无限次C 执行1次D 一次也不执行14.定义类头时能使用的修饰符是C ;A privateB staticC abstractD protected15.设int 型变量a、b,float 型变量x、y,char 型变量ch 均已正确定义并赋值, 正确的switch语句是D ;A switch x + yB switch ch + 1{ ...... } { ...... }C switch chD switch a + b ;{ ...... } { ...... }16. 下列最终属性i 的定义中,正确的是;A static final int i=100;B final int i=;C final i='w';D final char i;17. 下列类定义中,不正确的是C ;A class x { .... }B class x extends y { .... }C static class x implements y1,y2 { .... }D public class x extends Applet { .... }18. 设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是;A static x x1;B public x x1=new xint 123;C y x1;D x x1=x ;19. 设i、j、k 为类x 中定义的int 型变量名,下列类x 的构造函数中不正确的是B ;A x int m{ ... }B void x int m{ ... }C x int m, int n{ ... }D x int h,int m,int n{ ... }20. 下列方法定义中,正确的是A ;A int x { char ch='a'; return intch; }B void x { ...return true; }C int x { ...return true; }D int x int a, b{ return a+b; }21. 用于定义类成员的访问控制权的一组关键字是D ;A class, float, double, publicB float, boolean, int, longC char, extends, float, doubleD public, private, protected22. 不能构成循环的语句是C ;A for 语句B while 语句C switch 语句D do__while 语句23. 下列程序段执行后b3 的结果是D ;boolean b1=true, b2, b3;24= b1 b1 : b2;A 0B 1C trueD false25 下面数据结构中,属于非线性的是B ;A 线性表B 树C 队列D 堆栈11. 设有定义int i=123; long j=456; 下面赋值不正确的语句是D ;A j=i;B j=longi;C i=intj;D i=j;二、填空题:每空1分1. 构造函数_没__有返回值;2. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和___ double _______两种具体类型;3. 创建类对象的运算符是__ new;4. 当整型变量n的值不能被13除尽时,其值为false 的Java语言表达式是__n%13==0___________ ;5. 在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数;6. 定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述;7. 在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用;8. 表达式3/6 5的计算结果是____0____ ;9.下面是一个类的定义:public class _int Myclass___________{int x, y;Myclass int i, ___=0____ 面是一个Java Application 的主类的定义,其功能是输出所有命令行参数;import .;public class MyClass{public static void mainString args{if =_0__forint i=0; i < ; i++}}11下面是一个小程序的主类myprogram的定义, 其中A、B是该主类所在源程序中已定义的另两个类的类名:import java awt.;import java applet.;public class myprogram extends AppletJava的复合数据类型有: 类、数组和___接口____等; Java的简单数据类型有: 数值类型整形和浮点类型,自负类型和布尔类型13. 表达式3/6 5的计算结果是_0_______ ;14.定义初值为10的10次方的长整型变量lvar 的语句是:_______long lvar=1e10___________________;15. 顺序结构、分支结构或称选择结构、__循环结构__________是结构化程序设计的三种基本流程控制结构;16. 以下方法m 的功能是求两参数之积的整数部分;int m float x, float y{ _______k=intxy___________; }17. Java 源程序文件编译后产生的文件称为____字节码____文件,其扩展名为; 18.Java 和c++都是面向对象的程序设计语言;三、程序分析:每题4分1. 下面是一个排序的程序:import .;public class Test56_Sort{public static void mainString args {int a={42,99,5,63,95,36,2,69,200,96}; ShowArraya;Sorta;ShowArraya;}public static void Sortint x{int w;forint i=1; i<; i++{forint j=0; j<; j++ifxj>xj+1{ w=xj; xj=xj+1; xj+1=w; }/ ifi==1||i==2 ShowArrayx;ifi==2 break; /}}public static void ShowArrayint b{forint i=0; i<; i++}}问题:如果将方法Sort 中的一对注释符/ /去掉,程序输出的结果是什么排序前的数据序列:b0=42b1=99b2=5b3=63b4=95b5=36b6=2b7=69b8=200b9=96 b0=42b1=5b2=63b3=95b4=36b5=2b6=69b7=99b8=96b9=200 b0=5b1=42b2=63b3=36b4=2b5=69b6=95b7=96b8=99b9=200 排序后的数据序列:b0=5b1=42b2=63b3=36b4=2b5=69b6=95b7=96b8=99b9=200 2. 请写下程序的输出结果:public class Test52{String str1="Hello, Java world \t";String str2="Hello, students" ;public static void mainString args{}}输出结果:3. 请写下程序的输出结果:public class T2_4 {public static void mainString args{int i,j;char c='';fori=0;i<5;i++{forj=0;j<=i;j++}}}输出结果:4、请写下程序的输出结果:public class ex2_2{public static void main String args{int x , y ;byte b = 6;float z = ;double w = ;boolean flag;x = 12 ;y = 300;flag=x>y;flag=z>w;}}四、问答题:每题5分,1. Java的接口和C++的虚类的相同和不同处;由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求;与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码;当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口;2. 垃圾回收的优点和原理;并考虑2种回收机制;Java语言中一个显着的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理;由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域";垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存;垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收;回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收;3,谈谈final, finally, finalize的区别;Final-修饰符关键字如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承;因此一个类不能既被声明为abstract的,又被声明为final的;将变量或方法声明为final,可以保证它们在使用中不被改变;被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改;被声明为final的方法也同样只能使用,不能重载;Finally-再异常处理时提供finally 块来执行任何清除操作;如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块如果有的话;Finalize-方法名;Java 技术允许使用finalize方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作;这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的;它是在Object 类中定义的,因此所有的类都继承了它;子类覆盖finalize 方法以整理系统资源或者执行其他清理工作;finalize方法是在垃圾收集器删除对象之前对这个对象调用的;4,数组有没有length这个方法String有没有length这个方法举例说明使用方法数组没有length这个方法,有length的属性;String有有length这个方法;5. Java中的异常处理机制的简单原理和应用;当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常;违反语义规则包括2种情况;一种是JAVA类库内置的语义检查;例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JA五、程序设计:每题11分,共33分1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串; 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个";2、编程求解:所有两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和;3、设计一个程序求解e的值;精度达到,4、请设计一个对N个数进行排序的程序一、选择题每道题只有一个正确答案,每小题2分,共30分15道题1、关于Java语言叙述错误的是:CA.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:B 的确台aA.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型叙述正确的是:BA、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样4、设int x=1,float y=2,则表达式x / y的值是:DA.0B.1C.2D.以上都不是5、以下语句有语法错的是:AA.int x=1;y=2;z=3B.for int x=10,y=0;x>0;x++;C.while x>5;D.for; ;;6、关于类和对象的叙述正确的是:AA.Java的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的是:AA.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:DA.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、下列属于容器的组件有:BB.JPaneC.CanvasD.JTextArea10、void 的含义:CA.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算11、关于Java中异常的叙述正确的是:D A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的12、所有的异常类皆继承哪一个类C owable13、下面哪个不是java语言中的关键字B A.longB.sizeofC.instanceof14、为实现进程之间的通信,需要使用下列那种流才合适DA.Data streamB.File streamC.Buffered streamD.Piped stream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口D A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener二、填空题每空1分,共20分1、面向对象程序设计所具有的基本特征是:___抽象性___,_封装性___,_继承性__,_多态性__2、数组x定义如下int x =new int32则x..length 的值为____3________,x0.length 的值为_____2_______;3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有列出四种即可__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______5、Applet常用的方法是:__init_、__run__、__stop__和destroy;三、阅读程序,写出程序的输出结果每题5分,共20分1、class A{private int privateVar;Aint _privateVar{privateVar=_privateVar;}boolean isEqualToA anotherA{if ==return true;elsereturn false;}}public class B{public static void mainString args{A a = new A1;A b = new A2;}}程序的输出结果为:____false_____2、class A {double fdouble x, double y {return x y;}}class B extends A {double fdouble x, double y {return x + y;}}public class Test {public static void mainString args {B obj = new B;}}程序的输出结果为:__ The program output is 10_ 3、public class Unchecked {public static void mainString args {try {method;} catch Exception e {} finally {}}static void method {try {wrench;} catch ArithmeticException e { } finally {}}static void wrench {throw new NullPointerException; }}程序的输出结果为:EAB4、public class Test {public static void mainString args {int x;int a = { 0, 0, 0, 0, 0, 0 };calculatea, a5;}static int calculateint x, int y {for int i = 1; i < ; i++if y < xi = xi - 1 + 1; return x0; }}程序的输出结果为:the value of a0 is 0the value is a5 is 51. 下面哪些是short型的取值范围CA. -27 – 27-1B. 0 – 216-1C. -215 – 215-1D. -231 – 231-12. 下面哪些是合法的标识符ABEA. $personsB. TwoUsersC. pointD. thisE. _endline3. 哪些是将一个十六进制值赋值给一个long型变量DA. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L;4. 下面的哪些程序片断可能导致错误; BDA.String s = "Gone with the wind";String t = " good ";String k = s + t;B.String s = "Gone with the wind";String t;t = s3 + "one";C.String s = "Gone with the wind";String standard = ;D.String s = "home directory";String t = s - "directory";5. 在i = m;B. i = b;C. i = ;D. i = 30;E. i = ;6. 当Frame的大小被改变时, Frame中的按钮的位置也可能被改变,请问此时使用的是什么布局管理器BA. BorderLayoutB. FlowLayoutC. CardLayoutD. GridLayout7. 给出下面的代码片断1 public void create {2 Vector myVect;3 myVect = new Vector;4 }下面的哪些陈述是正确的ADEA. 第二行的声明不会为变量myVect分配内存空间; 己理解就好;B. 第二行的声明分配一个到Vector对象的引用的内存空间;C. 第二行语句创建一个Vector类对象;D. 第三行语句创建一个Vector类对象;E. 第三行语句为一个Vector类对象分配内存空间;下面的哪些答案可以用以表示八进制值8 AA. 010B. 0x10C. 08D. 0x89. 哪些不是Java关键字ABA. TRUEB. sizeofC. constD. superE. void10. 下面的哪些叙述为真; ADA. equals方法判定引用值是否指向同一对象; == 操作符判定两个分立的对象的内容和类型是否一致;C. equals方法只有在两个对象的内容一致时返回true;D. 类File重写方法equals在两个分立的对象的内容和类型一致时返回true; 下面关于继承的哪些叙述是正确的; ADA. 在java中只允许单一继承;B. 在java中一个类只能实现一个接口;C. 在java中一个类不能同时继承一个类和实现一个接口;D. java的单一继承使代码更可靠;12. 第十行的声明将调用哪些方法. D1 class Person {2 public void printValueint i, int j { }3 public void printValueint i{ }4 }5 public class Teacher extends Person {6 public void printValue { }7 public void printValueint i {}8 public static void mainString args{9 Person t = new Teacher;10 10;11 }12 }A. 第2行的方法B. 第3行的方法C. 第6行的方法D. 第7行的方法13. 下面哪些不是java的原始数据类型BCA. shortB. BooleanC. unitD. float14. 下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的BA. transientB. synchronizedC. serializeD. static15. main方法的返回类型是什么BA. intB. voidC. booleanD. static16. 给出以下关于一个使用适当的字符间距的字体的TextField的表达式TextField t = new T extField"they are good",40;被显示的字符串可以使用多种字体;B. 一行中最大的字符数是40C. 显示的宽度正好是40个字符宽;D. 用户可以编辑字符;17. 关于垃圾收集的哪些叙述是对的 BA. 程序开发者必须自己创建一个线程进行内存释放的工作;B. 垃圾收集将检查并释放不再使用的内存;C. 垃圾收集允许程序开发者明确指定并立即释放该内存;D. 垃圾收集能够在期望的时间释放被java对象使用的内存;18. 给出下面的代码1 public class Test {2 int m, n;3 public Test {}4 public Testint a { m=a; }5 public static void mainString arg {6 Test t1,t2;7 int j,k;8 j=0; k=0;9 t1=new Test;10 t2=new Testj,k;11 }12 }在编译时哪行将导致一个错误DA. 第3行B. 第5行C. 第6行D. 第10行19. Thread的方法resume负责恢复哪些线程的执行DA. 通过调用stop方法而停止的线程;B. 通过调用sleep方法而停止运行的线程;C. 通过调用wait方法而停止运行的线程;D. 通过调用suspend方法而停止运行的线程; 有关线程的哪些叙述是对的BDA. 一旦一个线程被创建,它就立即开始运行;B. 使用start方法可以使一个线程成为可运行的,但是它不一定立即开始运行;C. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面;一个线程可能因为不同的原因停止并进入就绪状态;给出下面的不完整的方法12 { success = connect;3 if success==-1 {4 throw new TimedOutException;5 }6 }已知TimedOutException 不是一个RuntimeException;下面的哪些声明可以被加入第一行完成此方法的声明BCA. public void methodB. public void method throws ExceptionC. public void method throws TimedOutExceptionD. public void method throw TimedOutExceptionE. public throw TimedOutException void method22. 给出下面的代码class Person {String name,department;public void printValue{Syst}}public class Teacher extends Person {int salary;public void printValue{printValue;B. ;C. ;D. ;23. 下面的哪些赋值语句是错的AA. float f = ;B. double d = ;C. double d = ;D. double d = ;24. 给出下面的不完整的类代码class Person {String name, department;int age;public PersonString n{ name = n; }public PersonString n, int a{ name = n; age = a; }public PersonString n, String d, int a {Personn,a;B. thisPersonn,a; thisn,a;D. thisname,age; 下面关于变量及其范围的陈述哪些是对的ACDA. 实例变量是类的成员变量;B. 实例变量用关键字static声明;C. 在方法中定义的局部变量在该方法被执行时创建D. 局部变量在使用前必须被初始化;26. 给出下面的代码public void test {try {oneMethod;} catch ArrayIndexOutOfBoundsException e {} catchException e {} finally {}}在oneMethod方法运行正常的情况下将显示什么ADA. condition 1B. condition 2C. condition 3D. finally27. 给出下面的代码public class Test {void printValueint m{do {s"+m;}while --m > 10 ;}public static void mainString arg {int i=10;Test t= new Test;i;}}输出将是什么CA. 8B. 9C. 10D. 1128. 下面的有关声明的哪些叙述是对的BCA. 对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间;B. 对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间;C. 非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存;D. 非原始数据类型例如String,Vector的变量的声明会为该对象分配内存;类的设计要求它的某个成员变量不能被外部类直接访问;应该使用下面的哪些修饰符获得需要的访问控制DA. publicB. 不加修饰符C. protectedD. private 给出下面的代码片断1 String str = null;2 if str = null && > 10 {4 }5 else if str = null & < 5 {第1行B. 第2行C. 第5行D. 第8行31. 下面有关java代码安全性的叙述哪些是对的BCDA. 字节码校验器加载查询执行需要的所有类;B. 运行时解释器执行代码;C. 在运行时,字节码被加载,验证然后在解释器里面运行;D. 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性;32. 给出下面的代码public class Person{int arr = new int10;编译时出错;B. 编译时正确而运行时出错;C. 输出0;D. 输出null;33. 给出下面的代码public class Parent {public int addValue int a, int b {int s;s = a+b;return s;}}class Child extends Parent {}哪些方法可以加入类Child中BC int addValue int a, int b {.}B. public void addValue {.}C. public int addValue int a {.}D. public int addValue int a, int b throws Exception {.}34. 公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100,定义这个变量的代码为CDA. public int MAX_LENGTH=100;B. final int MAX_LENGTH=100;C. final public int MAX_LENGTH=100; public final int MAX_LENGTH=100;35. 下面的哪些java源文件代码片断是对的ACDA. package testpackage;public class Test{.}B. import .;package testpackage;public class Test{.}C. import .;class Person{.}public class Test{.}D. import .;import .;public class Test{}36. 给出下面的类public class Sample{long length;public Samplelong l{ length = l; }public static void mainString arg{Sample s1, s2, s3;s1 = new Sample21L;s2 = new Sample21L;s3 = s2;long m = 21L;}}哪个表达式返回true BA. s1 == s2;B. s2 == s3;C. m == s1;D. m;37List l = new List6,true;在没有其它的约束的条件下该列表将有6行可见;B. 一行的最大字符数是6C. 列表将允许用户多选D. 列表只能有一项被选中38. 给出下面的代码class Parent {String one, two;public ParentString a, String b{one = a;two = b;}public void print}public class Child extends Parent {public ChildString a, String b{supera,b;}public void print{;}public static void mainString args{Parent p = new Parent"south", "north";Parent t = new Child"east", "west";;;}}下面的哪些情况或输出的结果正确EA. 编译时出错B. southeastC. south to northeast to westD. south to northeastE. southeast to west39. 类Teacher和Student都是类Person的子类Person p;Teacher t;Student s;若p,t和s都是非空值ift instanceof Person { s = Studentt; }这个语句导致的结果是什么C 将构造一个Student对象B. 表达式合法C. 编译时非法D. 编译时合法而在运行时可能非法40. 给出下面的代码String s= "hello";String t = "hello";char c = {'h','e','l','l','o'};下列选项里,哪些返回true ACDA. t;B. c;C. s==t;D. new String"hello";E. t==c;一、单选题本大题15小题,每小题2分,共30分1.下列语句执行后,变量a、c的值分别是;int x=182;int a,c;c=x/100;a=x%10;A 1,2B 2,1C , 2D 100,82 答案B2.下面哪个表达式可用得到x和y的最大值A x>yy:xB x<yy:xC x>yx+y:x-yD x==yy:x; 答案B3.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary2,则输出的结果是;static void printBinaryint i {forint j = 31; j >=0; j--if1 << j & i = 0;else}A 00000000000000000000000000000001B 00000000000000000000000000000010C 00000000000000000000000000001111 D00000000000000000000000000000000 答案B4. 应用程序的main方法中有以下语句,则输出的结果是;String s1="",s2="12";double x=s1;int y=s2;A B C 12 D “”答案A5. 应用程序的main方法中有以下语句,则输出的结果是;double x=;DecimalFormat form1 = new DecimalFormat"";A PI=B PI=1234C PI=D PI= 答案A6.下列程序段执行后的结果是;String s=new String"abcdefg";forint i=0;i<;i+=2{}A acegB ACEGC abcdefgD abcd 答案A7. 应用程序的main方法中有以下语句,则输出的结果是;int x={122,33,55,678,-987};int max=x0;forint i=1;i<;i++{ifxi>maxmax=xi;}A 678B 122C -987D 33 答案A8.下列语句序列执行后,k 的值是;int x=2, y=5, k=0;switch x%y {case 0: k=x+y; break;case 1: k=x-y; break;case 2: k=xy; break;default: k=x/y; break;}A 2B 5C 10D 0 答案C9. 下面的程序输出的结果是public class A implements B {public static void mainString args {int i;A c1 = new A;i= ;}}interface B {int k = 10;}A i=0B i=10C 程序有编译错误D i=true答案B10.应用程序的main方法中有以下语句,则输出的结果是;int b={{1, 2, 3}, {4,5}, {6,7}};int sum=0;forint i=0;i<;i++ {forint j=0;j<bi.length;j++ {sum+=bij;}}A 28 B6 C 9 D 13 答案A11. 有整型数组:int x={12,35,8,7,2};,则调用方法x后,数组x中的元素值依次是 .A 2 7 8 12 35B 12 35 8 7 2C 35 12 8 7 2D 8 7 1235 2答案A12.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是 .public class A {public static void mainString args throws IOException{BufferedReader buf=new BufferedReadernew InputStreamReader;String str=;int x=str;}}A 45 B5 C 123 D 12345 答案C13.下面的程序段执行后输出的结果是;StringBuffer buf=new StringBuffer"Beijing2008";7,"";A Beijing2008B Beijing2008C Beijing2008D Beijing2008 答案A14. 下面的程序编译运行后输出的结果是;public class A implements Runnable {public static void mainString argv {A a = new A;Thread t = new Threada;;}public void run {whiletrue {try{.sleep1000;}catchInterruptedException e{}}}}A 在屏幕上重复输出"looping while";B 在屏幕上输出一次"looping while";C 没有结果输出;D 以上说法都错误; 答案A15.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件;File构造函数中正确的路径和文件名的表示是;File f=new File填代码处;file=new FileReaderf;in=new BufferedReaderfile;A ""B "d:\\my\\1"C "d:\\my\\"D "d:\ my\"答案C二、多选题本大题10小题,每小题2分,共20分1.下面的说法正确的是;A Java 语言是面向对象的、解释执行的网络编程语言;B Java 语言具有可移植性,是与平台无关的编程语言;C Java 语言可对内存垃圾自动收集;D Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境;答案ABCD2.下面main方法的定义哪些是正确的Apublic static void mainString args {} Bpublic static void mainString {} Cpublic static void mainString args {} Dpublic static void mainString x {} 答案ACD3.定义变量如下:char c='w'; int i=8; long L=15; float f=;以下赋值语句正确的是;A i=c+i;B c=c+i;C L=f+L;D f=i+L+f;答案AD4.下面哪些关键字能用来控制对类成员的访问Apublic Bprotected Cprivate Ddefault答案ABC5.面向对象程序设计的基本特征是;A抽象B封装C继承D多态答案ABCD6.下面关于类的说法正确的是;A类是Java 语言中的一种复合数据类型; B类中包含数据变量和方法;C类是对所有具有一定共性的对象的抽象; D Java 语言的类只支持单继承; 答案ABCD7. 编译并运行下面的程序,运行结果为 .public class T1 {public static void main String args{T1 a=new T1;8;;}void methodfloat i {}void methodlong i {}}A程序有编译错误,因为两个method方法必须定义为静态static的;B程序可以编译运行,输出结果为:long: 8float:C程序可以编译运行,输出结果为:float:long: 8D 程序中定义的两个参数不同的method方法称为方法重栽; 答案BD8.下面是在命令行运行Java应用程序A,怎样才能在mainString args方法中访问单词"first"java A the first snow , the first snow came.Aargs0 Bargs1 Cargs2 Dargs5答案BD9.编译并运行下面的程序,运行结果为 .public class A {public static void main String args {A a=newB ;;}void test {}}class B extends A {void test {;ln"B";}}A子类B定义了与父类A中同名的方法test,java中称为方法的覆盖; B代码可以编译运行,并输出结果:AB;C代码可以编译运行,并输出结果:A; D子类B定义了与父类A中同名的方法test,java 中称为方法的重载;答案AB10.下面哪个说法正确A如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字;B如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行;C如果某源文件包含package语句,则该语句必须是第一个非空、非注释行;D接口中的方法必定是抽象方法,但可以不用关键字abstract修饰; 答案ABCD三、填空题本大题10小题,每小题1分,共10分1. 创建类的对象时,使用运算符___________给对象分配内存空间;2. 定义类的构造方法不能有返回值类型,其名称与_____名相同;3. Java语言中关键字_____表示双精度类型;4. 若有定义:float b={, , };,则的值是_______;5.若有类定义:class B extends A{…}则类B是类A的______;6.接口中的成员只有静态常量和______;7. 在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法;8. 关键字______用于导入包中的类到程序中,供程序中使用;9. Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常;10. 程序中实现多线程的方法有两种:继承_____类和实现Runnable接口;答案2.类 4. 3 5.子类 6. 抽象方法8. import 9. catch10. Thread四、阅读程序,回答问题本大题5小题,每小题5分,共25分1. 5分1: public class Output1 {2: public static void mainString arge {3: int i=0;4: for char ch = 97; ch<113; ch++,i++ {5: if i % 8 == 08: }9: }10: }1程序第5、6行的if语句的功能是什么2分2程序输出的结果有几行3分答案1每打印8个字符,则换行;2输出的结果有2行;2. 5分2:3: public class SortArray {4: public static void mainString args {5: String str = {"size", "abs","length","class"};6: str;7: for int i=0; i<; i++9: }10: }1写出程序运行后的结果;2分2方法调用str0.length的返回结果是多少3分答案1 abs class length size 2 43. 5分1: ;5:6: public class TestKeyListener extends Applet {7:8: Color clr;9:10: public void init {11:12: addKeyListener13: new KeyAdapter {14: public void keyTyped KeyEvent e { 15: if=='r'||=='R'16: clr=;17: else if=='g'||=='G'18: clr=;19: else if=='b'||=='B'20: clr=;21: else22: clr=;23: setBackgroundclr;24: }25: };26: }27: }1程序第15、16行实现的功能是什么2分2编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的浏览器打开网页;如果敲击键盘的‘b’键,有什么结果3分答案1 如果敲击键盘的‘r’键,则将颜色对象的值赋为红色;2 小程序的背景颜色变为兰色;4.定义类A和类B如下. 5分class A{int a=1;double d=;void show{}}class B extends A{float a=;String d="Java program.";void show{;}}1 若在应用程序的main方法中有以下语句:A a=new A;;则输出的结果如何2分2 若在应用程序的main方法中定义类B的对象b:A b=new B;;则输出的结果如何3分答案1 Class A: a=1 d=2 Class A: a=1 d=Class B: a= d=Java program.5. 5分import .;public class W {。

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案Java程序设计期末考试试题汇总及答案在学习Java程序设计的过程中,期末考试是一个重要的评估学生掌握程度的方式。

为了帮助同学们更好地复习和准备考试,本文将汇总一些常见的Java程序设计期末考试试题,并提供相应的答案和解析。

一、基础知识题1. 什么是Java?答案:Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。

它具有跨平台的特性,可以在不同的操作系统上运行。

2. Java的特点有哪些?答案:Java具有简单、面向对象、跨平台、安全、高性能、可移植等特点。

3. Java的基本数据类型有哪些?答案:Java的基本数据类型包括byte、short、int、long、float、double、char 和boolean。

4. Java中的循环结构有哪些?答案:Java中的循环结构有for循环、while循环和do-while循环。

5. 什么是异常处理?答案:异常处理是指在程序运行过程中,如果出现异常情况,可以通过捕获和处理异常来保证程序的正常运行。

二、编程题1. 编写一个Java程序,求1到100之间所有偶数的和。

答案:```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum); }}```2. 编写一个Java程序,判断一个字符串是否是回文字符串。

答案:```javapublic class Palindrome {public static void main(String[] args) {String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {isPalindrome = false;break;}}if (isPalindrome) {System.out.println(str + "是回文字符串");} else {System.out.println(str + "不是回文字符串");}}}```三、综合应用题1. 编写一个Java程序,实现一个简单的学生信息管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和修改学生信息。

Java程序设计期末考试试题及答案

Java程序设计期末考试试题及答案

2021级网络技术班Java程序设计考试一、单选题(将答案写到后面的()中)1. 下列各选项中,( A)是有效的标识符。

A. _maxB. classC. Abc#D. interface2. Java语言中while和do-while循环的主要区别是( B )。

A. while的循环控制条件比do-while的循环控制条件严格B. do-while的循环体会至少执行一次C. do-while的循环体不能是复合语句D. do-while允许从外部转到循环体内3.为表示关系x>y或x<=z,应使用Java语言表达式( C )A. (x>y)&(x>=z)B. (x>=y)||(x<z)C. (x>y)|(x<=z)D. (z>=x>y)4.请先阅读下面的代码public class Test {public Test(){System.out.println("构造方法一被调用了");}public Test(int x){this();System.out.println("构造方法二被调用了");}public Test(boolean b){this(1);System.out.println("构造方法三被调用了");}public static void main(String[] args) {Test test = new Test(false);}}上面程序的运行结果为下列哪一项?BA、构造方法一被调用了B、构造方法一被调用了构造方法二被调用了构造方法三被调用了C、构造方法三被调用了构造方法二被调用了构造方法一被调用了D、构造方法三被调用了5. int a[ ]={10,9,8,7};(C )A. 将4个初值依次赋给a[2]至a[5]B. 因为数组长度与初值的个数不相同,所以此语句不正确C. 将4个初值依次赋给a[0]至a[3]D. 将4个初值依次赋给a[1]至a[4]6、已知类的继承关系如下:class Person;class Teacher extends Person;class Student extends Person; B则以下语句能通过编译的有哪些?A、 Teacher t=new Person();B、Person s=new Student();C、 Student s=new Person();D、Student s=new Teacher ();7. 下面关于布尔类型变量的定义中,正确的是( A )A. boolean a=false;B. boolean d='true';C. boolean c=True;D. Boolean e=FALSE;8. do while语句的循环体中不能包含的语句是( D )A. while语句B. 方法调用语句C. switch语句D. 方法定义语句9. 下面浮点型数据的定义中,错误的是(C )A. double d=1.23;B. float f='c';C. float f=1.234;D. double d=1.23E7;10. 下面的代码执行完以后,j的值是?Dint i=3,j=4;while(i<=7){j=j*2;i=i+2;}A. 4B. 8C. 6D. 32二、填空题(将答案写在【】中)1. 执行一个java程序的.class字节码文件的命令是【 java 】(2分)2. java中的双分支判断语句的关键字分别是【 if 】【 else 】(4分)。

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)一.判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。

(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。

(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。

(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。

(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。

(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。

(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

(×)二.单项选择题1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、 String argsB、String ar[]C、Char argD、StringBuffer args[]2.以下关于继承的叙述正确的是()。

A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3.paint()方法使用哪种类型的参数? ()A、GraphicsB、Graphics2DC、StringD、Color4.以下哪个不是Java的原始数据类型()A、intB、BooleanC、floatD、char5.以下哪项可能包含菜单条()。

java程序设计期末试题及答案

java程序设计期末试题及答案

java程序设计期末试题及答案# 一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. package- D. import2. 在Java中,哪个关键字用于抛出异常?- A. try- B. catch- C. throw- D. finally3. Java中,以下哪个不是控制流程语句?- A. if- B. switch- C. continue- D. return4. Java中,以下哪个是合法的变量名?- A. 2variable- B. variable2- C. $variable- D. variable-variable5. 以下哪个是Java的访问修饰符?- A. public- B. protected- C. private- D. 全部都是6. 在Java中,哪个关键字用于实现多态?- A. class- B. interface- C. extends- D. implements7. Java中,以下哪个不是基本数据类型?- A. int- B. float- C. String- D. double8. 在Java中,以下哪个方法用于获取对象的哈希码? - A. equals()- B. hashCode()- C. toString()- D. getClass()9. Java中,以下哪个关键字用于定义接口?- A. class- B. interface- C. package- D. abstract10. 在Java中,以下哪个是正确的字符串字面量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"# 二、填空题(每空1分,共10分)1. Java是一种______语言,它支持面向对象的编程范式。

《JAVA语言程序设计》期末考试试题及答案

《JAVA语言程序设计》期末考试试题及答案

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. javaB. .classC. htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。

A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( )。

A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static 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,则x < y和x >= y的逻辑值分别为true和false。

5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

最终(final)方法是不能被当前类的子类重新定义的方法。

6、创建一个名为 MyPackage 的包的语句是package MyPackage ; ,该语句应该放在程序的位置为:应该在程序第一句。

7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

Java程序设计期末考试试题3套含答案.docx

Java程序设计期末考试试题3套含答案.docx

华南农业大学期末考试试卷(A卷)2011-2012学年第1学期考试科目:Java程序设计考试类型:(闭卷)考试考试时间:120 分钟学号______________ 姓名 __________ 年级专业______________________考试说明:所有答案必须填写在答卷上,考试结束时答卷和试卷都上交。

一、单项选择题(本大题共25小题,每小题2分,共50分)1.下列有关Java程序的说法中正确的是________ :A.由于Java程序是解释执行的,所以执行前不需要进行编译B.一个.java源程序编译后将产生一个.class的字节码文件C.安装了JDK后,安装程序会自动配置系统的环境变Spath和classpathD.面向对象的解释型高级编程语言2.下列为合法变量名的是 ________ °A.falseB. Oxa beC. iStude ntD. cow's3.对于构造方法,下列叙述不正确的是_________ 。

A.构造方法是类的一种特殊函数,它的方法名必须与类名相同B.构造方法没有返回值类型C.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

D.子类在创建构造方法是必须把调用父类构造方法放在第一条语句4.下列关于接口的说明正确的是 _______ oA.接口和抽象类是同一冋事B. 一个类不可以实现多个接口C.接口间不能有继承关系D.实现一个接口必须实现接口的所有方法5.Java为移动设备提供的平台是 _______ oA.J2MEB. J2SEC. J2EE D・ JDK5.06.下列语句中,属于多分支语句的是_________ 。

A.if语句B. switch语句C. do while语句D. fo「语句在Java中,存放字符串常量的对象属于 _______ 类对象。

A.CharacterB. StringC. StringBufferD. Char下列关于继承的哪项叙述是正确________ 。

java期末考试试卷及答案1

java期末考试试卷及答案1

学年学期期末考试卷卷课程《Java程序设计》考试时间: 120 分钟班级姓名学号一、填空题(将正确答案填在横线上,每空2分,共20分)1. Class 类是由Java编译器自动生成的,它伴随每个类。

2. 任何一个Java程序都默认引入一个包,这个包的名字是ng 。

3. 在Java语言中,有一个类是所有类或接口的父类,这个类的名称是Object 。

4. 在Java中所实现的二维数组,实际上是由一维数组构成的。

5. 在Java中,字符串是作为对象出现的。

6. 接口可以看作是仅容纳和常量,而又不能直接生成对象的特殊抽象类。

7. 在编写和运行数据库程序之前需要建立起Java数据库程序的开发环境,这至少需要安装JDK.数据库和驱动程序。

8.在Java中,组件不能独立地显示出来,必须将组件放在一定的中才能显示。

9.Applet是能够嵌入到格式中的文件,并能够在浏览器中运行的Java类。

10.类的静态成员属于这个类的所有对象。

二、单项选择题(请将正确答案的代号填在答题卡内,每题2分,共40分)1.作为Java应用程序入口的main方法,其声明格式可以是()。

A. public static void main(String[] args)B. public static int main(String[] args)C. public void main(String[] args)D. public int main(String[] args)2.在一个合法的Java源程序文件中定义了3个类,其中属性为public的类可能有()个。

A.0B.1C.2D.33.下面(B )单词是Java语言的关键字。

A.sizeofB.abstractC.nullD.String4. 设有如下的程序代码,在执行完后x和y的值是多少?()int x= 8, y=2, zx=++x*yz=x/y++x=16, y=2 B. x=16, y=4 C. x=18, y=2 D. x=18, y=35. 正确定义一个初始值为25.8的float类型的变量的语句是: ()float #value=25.8ffloat value#=25.8float _value=25.8ffloat value=25.86. 以下语句不能通过编译的是()。

JAVA程序设计期末考试题(多套含答案)

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五)一、单选题1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。

A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException2、下面的程序段的功能是( )。

File file1=new File("d:\\xxx\\yyy\\zzz");file1.mkdirs();A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对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) zzzzz4、关于下面的程序Test.java说法正确的是( )。

public class Test {String x="1";int y;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; i<b.length; i++) {for(int j=0; j<b[i].length; j++) {sum+=b[i][j];}}System.out.println("sum="+sum);A) 10 B)6 C) 9 D) 136、应用程序的main方法中有以下语句,则执行后输出的结果是( )。

《java语言程序设计》期末考试试题与答案

《java语言程序设计》期末考试试题与答案

《java语言程序设计》期末考试试题与答案1. Java属于以下哪种语言?机器(正确答案)汇编高级都不是2. 下面哪种类型的文件可以在Java虚拟机中运行?A、.javaB、.jreC、.exeD、.class(正确答案)3. 如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?d:\jdk;B.d :\jdk\bin(正确答案)C.d:\jre\bin;D.d:\jre;4. ()以下选项中,哪些属于合法的标识符?A、Hello_World(正确答案)B、classC、123usernameD、username1235. ()以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问(正确答案)D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明6. ()以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问(正确答案)D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明7. ()假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个?A、0B、2C、3(正确答案)D、58. ( A )下面的运算符中,用于执行除法运算是哪个?/(正确答案)B、\C、%D、9. ( A )下列语句哪些属于循环语句?for语句(正确答案)B、if语句C、break语句D、switch语句10. ( A )下面哪种写法可以实现访问数组arr的第1个元素?arr[0](正确答案)B、arr(0)C、arr[1]D、arr(1)11. ()以下哪个选项可以正确创建一个长度为3的二维数组?A、 new int [2][3];B、 new int[3][];(正确答案)C、 new int[][3];D、以上答案皆不对12. ()请先阅读下面的代码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《JA V A程序设计》期末考试试题(五)一、单选题1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。

A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException2、下面的程序段的功能是( )。

File("d:\\xxx\\yyy\\zzz");();A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzzC)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对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) zzzzz4、关于下面的程序Test.java说法正确的是( )。

public class Test {String x="1";int y;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; i<b.length; i++) {for(int j=0; j<b[i].length; j++) {sum+=b[i][j];}}System.out.println("sum="+sum);A) 10 B)6 C) 9 D) 136、应用程序的main方法中有以下语句,则执行后输出的结果是( )。

int[] x = {125,21,5,168,98};int min = x[0];for (int i=1; i<x.length; i++){if(x[i] < min)min = x[i];}System.out.println(min);A) 125 B) 5 C) 98 D) 1687、应用程序的main方法中有以下语句,则输出的结果是( )。

Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString()+ hashtable.get("100").toString());A) aaa B) bbb C) ccc D) cccbbbaaa8、以下关于java异常说法不正确的是()。

A) Throwable 类是Java 语言中Error类和Exception类的父类。

B)当异常对象是Exception类(或其子类)的实例时,能通过Java 虚拟机或者throw 语句抛出该异常对象,并能通过try…catch…finally处理。

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.getBytes();("test.txt", true);(b);();}catch(IOException e) {System.out.println(e.toString());}}}A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE10、下面说法不正确的是( )?A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。

B)List接口是可以包含重复元素的有序集合。

C)Set接口是不包含重复元素的集合。

D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

二、多选题1、下面哪些关键字能用来控制对类成员的访问( )?A) public B) protected C) private D) default2、下面关于Java中异常处理try块的说法正确的是( )?A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。

B) catch 块后必须有finally块。

C)可能抛出异常的方法调用应放在try块中。

D)对抛出的异常的处理必须放在try块中3、线程对象的生命周期中,通常经历下面哪些状态()。

A)新建B)运行C)就绪D)死亡4、定义如下的二维数组b,下面的说法正确的是( )。

int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};A)b.length的值是3。

B)b[1].length的值是3。

C)b[1][1]的值是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)进程是程序的一次动态执行过程。

一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。

B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。

线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。

C)Java多线程的运行与平台相关。

D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。

对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。

A)内部类可以直接访问外部类的成员B)外部类可以直接访问内部类的成员C)外部类不能访问内部类的成员D)外部类可通过创建内部类的实例来访问内部类的成员三、程序阅读题1、阅读下面的程序代码,并回答问题(◆问3分,❖问3分,共6分)。

String s1 = new String("abcde");String s2 = new String("abcde");boolean b1= s1.equals(s2);boolean b2 = s1== s2;System.out.print(b1+" "+b2);◆程序段执行后,在命令行的输出结果如何?❖解释输出(1)的结果的原因?答案:◆ true false❖equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。

2、阅读下面的程序,并回答问题(◆问3分,❖问3分,共6分)。

import java.io.*;public class Test {public static void main(String 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);}}}编译运行上面的程序:◆从键盘输入10,回车后输出的结果如何?❖从键盘输入exit,回车后程序能正确执行吗?为什么?答案:◆100❖不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。

3、写出下面的程序编译、运行后的结果(6分)。

public class Test{public static void main(String args[]) {new Student("Tom", 'm', 90, 88);new Student("Jack", 'm', 66, 89);new Student("Mary", 'f', 76, 86);System.out.println("name\tsex\tchinese\tenglish");Student.print();}}class Student {protected String name;protected char sex;protected int chinese;protected int english;protected Student next;static Student list;Student (String name, char sex, int chinese, int english) {=name;this.sex=sex;this.chinese=chinese;this.english=english;this.next=list;list=this;}static void print() {Student friend=list;if (friend==null)System.out.println("The list is empty.");else {do{System.out.println(friend.toString());friend=friend.next;}while(friend!=null);}}public String toString() {return new String(name+"\t"+sex+"\t"+chinese+"\t"+english);}}答案:name sex chinese englishMary f 76 86Jack m 66 89Tom m 90 88《JA V A程序设计》期末考试试题(六)一、填空题1.定义类的保留字是(class ),定义接口的保留字是( interface )。

相关文档
最新文档