JAVA程序设计复习题
- 格式:doc
- 大小:107.50 KB
- 文档页数:16
“Java语言程序设计”期末复习题(含答案)一.判断题由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
(× )注释的作用是使程序在执行时在屏幕上显示//之后的内容。
(×)Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(×)Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
(× )创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
(×)静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√ )设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。
(× )在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
(×)无论Java源程序包含几个类的定义,若该源程序文件以B.java 命名,编译后生成的都只有一个名为B的字节码文件。
(×)即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。
(√)Java的各种数据类型所占用的内存长度与具体软硬件环境有关。
(×)在Java的方法中定义一个常量要用const关键字。
(×)Java的类不允许多重继承,但接口支持多重继承。
(√)所谓抽象类就是包含有抽象方法的类。
(×)在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch 语句。
面向对象复习1.以下关于抽象类和接口的说法错误的是()A、接口中的方法都必须加上public关键字。
B、在抽象类中可以没有抽象方法C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。
接口中的方法都不能被实现D、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
2.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号3下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来4.Java中,在如下所示的Test类中,共有(2)个构造方法。
public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}5 变量命名规范说法正确的是(F)E、变量由字母、下划线、数字、$符号随意组成;F、变量不能以数字作为开头;G、A和a在java中是同一个变量;H、不同类型的变量,可以起相同的名字;6为一个boolean类型变量赋值时,可以使用(I)方式I、boolean = 1;J、boolean a = (9 >= 10);K、boolean a="真";L、boolean a = = false;7以下(O)不是合法的标识符M、STRINGN、x3x;O、v oidP、de$f2、表达式(11+3*8)/4%3的值是(D)A、31B、0C、1D、23、(A)表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、count = = i;4、运算符优先级别排序正确的是(C)A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;5、以下程序的运行结果是:(B)public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.6766、下列值不为true的表达式有(C)。
Java程序设计复习题31、下列关于Java Application 与Applet 的说法中,正确的是( A )。
A)都包含main() 方法B)都通过“appletviewer”命令执行C)都通过“javac”命令编译D)都嵌入在HTML 文件中执行2、当启动Applet 程序时,首先调用的方法是( B )。
A)stop()B)init()C)start()D)destroy()3、对于可以独立运行的Java应用程序,下列( D )说法是正确的。
A) 无须main方法B) 必须有两个main方法C) 可以有多个或零个main方法D) 必须有一个main方法4、现有一整型数组a[4],它的所有数组元素是( B)。
A) a0, a1, a2, a3B) a[0], a[1], a[2], a[3]C) a[1], a[2], a[2], a[4]D) a[0], a[1], a[2], a[3], a[4]5、Character流与Byte流的区别是CA) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是块读写,后者是字节读写D) 二者没有区别,可以互换使用6、若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是( )。
A) 它们的返回值类型的不同B) 它们的名称的不同C) 它们的参数表的不同D) 它们的修饰符不同7、在Java语言中,不允许使用指针体现出Java特性是()A) 可移植B) 解释执行C) 健壮性D) 安全性8、下列哪个属于容器的构件?AA) JFrameB) JButtonC) JPnelD) JApplet9、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?A) BoxLayoutB) GridLayoutC) BorderLayoutD) FlowLouLayout10、下面叙述正确的是__C____。
A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对11、在某个类A中存在方法void GetSort(int x)以下能作为这个方法的重载的声明是A) Void GetSort(float x)B) int GetSort(int y)C) double GetSort(int x,int y)D) void Get(int x,int y)12、有一个类A,以下为其构造函数的声明,其中正确的是( )。
JAVA语言程序设计考试试卷及部分答案一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是( B )。
int m=3, n=6, k=0。
while( (m++) < ( -- n) ) ++k。
A) 0 B) 1 C) 2 D) 32.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。
A) i = i + 2 B) a[0] = 7。
C) i++ - --j。
D) a(0) = 66。
3.Java语言的类间的继承关系是( B )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承4.设有定义 int i = 6 。
,则执行以下语句后,i 的值为( C )。
i += i - 1。
A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。
A)interface B) package C) extends D) class6.若已定义 byte[ ] x= {11,22,33,-66} 。
其中0≤k≤3,则对x数组元素错误的引用是( C )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后,ch1 的值是( B )。
char ch1='A',ch2='W'。
if(ch1 + 2 < ch2 ) ++ch1。
A) 'A' B) 'B' C) 'C' D) B8.下列语句序列执行后,i 的值是( D )。
int i=8, j=16。
9.下列语句序列执行后,k 的值是( C )。
int i=10, j=18, k=30。
switch( j - i ){ case 8 : k++。
Java语言程序设计复习题(new)一、选择1 Java源程序文件的扩展名为:A 。
()A..java B..jar C..class D..txt2 下列选项中,反映了Java程序并发机制的特点。
( B )A.安全性B.多线程C.跨平台D.可移植3 下列描述中,错误的是。
(A )A.Java要求编程者管理内存B.Java的安全性体现在多个层次上C.Java是面向对象程序设计语言D.Java有多线程机制4 JDK提供的java编译器为。
(B )A.java.exe B.javac.exe C.javaprof.exe D.javap.exe 5 下列语句中,属于多分支语句的是 A 。
( )A.if语句B.for语句C.switch语句D.while 语句6 下列选项中, 不合法的标识符为 D 。
()A.MyGame B._isHers C._$doc D.2japro7线程生命周期中正确的状态是 C 。
()A.新建状态、运行状态和死亡状态B.新建状态、运行状态、阻塞状态和死亡状态C.新建状态、就绪状态、运行状态、阻塞状态和死亡状态D.新建状态、就绪状态、运行状态、恢复状态和死亡状态8 下列不属于Swing GUI组件的是。
()A.Jbutton B.Menu C.Jslider D.JT abbedPan 9 若特快订单是一种订单,则特快订单类和订单类的关系是C。
()A.使用关系B.包含关系C.继承关系D.无关系10Java语言使用的字符码集是。
( D )A.ASCII B.BCD C.DCB D.Unicode 11 程序运行时若引发一个可识别的错误,就会产生一个异常类对象,该过程称为A。
()A.捕获异常B.抛出异常C.声明异常D.嵌套异常12 设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是A 。
()A.3 B.3.5 C.4 D.513不是类及类成员的访问控制符的是C 。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
java程序设计考试试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?()A. classB. publicC. privateD. static答案:A2. 下列哪个选项是Java语言的特性?()A. 多线程B. 编译型C. 动态链接D. 所有选项答案:D3. 在Java中,哪个修饰符用于声明一个方法只能由类本身和子类访问?()A. publicB. protectedC. privateD. static答案:B4. Java中,下列哪个关键字用于声明一个接口?()A. classB. interfaceC. publicD. abstract答案:B5. 在Java中,下列哪个关键字用于创建一个抽象类?()A. abstractB. finalC. staticD. interface答案:A6. 下列哪个选项是Java集合框架中的主要接口?()A. ListB. SetC. MapD. 所有选项答案:D7. Java中,下列哪个关键字用于声明一个方法没有返回值?()A. voidB. returnC. nullD. none答案:A8. Java中,下列哪个关键字用于声明一个方法可以被重写?()A. overrideB. extendsC. implementsD. abstract答案:D9. 在Java中,下列哪个关键字用于声明一个变量是静态的?()A. staticB. finalC. transientD. volatile答案:A10. Java中,下列哪个关键字用于声明一个变量是常量?()A. finalB. staticC. transientD. volatile答案:A二、填空题(每题2分,共20分)1. Java程序的执行入口点是________方法。
答案:main2. 在Java中,________关键字用于声明一个变量的值不能被修改。
JAVA程序设计复习题一、单项选择题1.在基于UDP的通信方式下,实现接收数据包的类是A.Socket类 B.ServerSocket类 C.DatagramPacket类 D.DatagramSocket类2.下面哪些是java语言中的关键字?A.sizeof B.abstract C.NULL D.Native3.paint()方法使用的参数是A.Graphics B.Graphics2D C.String D.Color4.下面语句哪个是正确的?A.char='abc'; B.long l=oxfff; C.float f=0.23; D.double=0.7E-3; 5.方法的重载必须满足的条件是:A.参数的个数不同,或者是参数的类型不同 B.参数的顺序不同C.方法的名字不同 D.返回类型不同6.Object类所属的包是A.包java.util B.包ng C.包java.system D.包java.Object 7.通过建立Dialog 的子类来建立一个A.文本框类 B.列表类 C.文件对话框类 D.对话框类8.创建新线程对象之后,进入线程的生命周期的A.新建 B.中断 C.运行 D.死亡9.有关类Demo,哪句描述是正确的?public class Demo extends Base{private int count;public Demo(){System.out.println("A Demo object has been created");}protected void addOne() {count++; }}A.当创建一个Demo类的实例对象时,count的值为0。
B.当创建一个Demo类的实例对象时,count的值是不确定的。
C.超类对象中可以包含改变count 值的方法。
D.Demo的子类对象可以访问count。
10.Frame 类是Container 类的间接子类,可使用FrameA.创建一个菜单对象 B.创建一个窗口对象C.创建一个对话框对象 D.创建一个文件对象11.所有输出流都是.A.OutputStream或Writer的子类 B.OutputStream的子类C.Writer的子类 D.Output的子类12.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?A.public B.private C.protected D.transient13.可以对对象加互斥锁的关键字是A.transient B.synchronized C.serialize D.static14.在使用interface声明一个接口时,可使用的修饰符是A.private B.protected C.private protected D.public15.下面哪种注释方法能够支持javadoc命令:A./**...**/ B./*...*/ C.// D./**...*/16.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合? A.FileInputStream in=new FileInputStream("file.dat");in.skip(9); int c=in.read();B.FileInputStream in=new FileInputStream("file.dat");in.skip(10); int c=in.read();C.FileInputStream in=new FileInputStream("file.dat");int c=in.read();D.RandomAccessFile in=new RandomAccessFile("file.dat");in.skip(9); int c=in.readByte();17.请问所有的例外类皆继承哪一个类?A.java.io.Exception B.ng.ThrowableC.ng.Exception D.ng.Error18.要观察一个字符在unicode 表中的顺序位置,显式转换时必须使用的数据类型是A.boolean B.int 类型 C.char D.unicode19.只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法,应采用的修饰符是:A.static B.private C.protected D.public20.下面程序段的执行结果是什么?public class Foo{public static void main(String[] args){try{return;}finally{System.out.println("Finally");}}}A.程序正常运行,但不输出任何结果。
B.程序正常运行,并输出 "Finally"。
C.编译能通过,但运行时会出现一个例外。
D.因为没有catch语句块,所以不能通过编译。
21.编译Java Application 源程序文件产生的字节码文件的扩展名为( )。
A.java B.class C.html D.exe22.java.awt 包的类Panel 是用来建立A.多行文本 B.标签 C.面板 D.文本框23.GridLayout对应的布局将容器中的组件按照A.将容器的空间分为东、西、南、北、中五个区域,中间的区域最大B.加入的先后顺序从左向右排列C.划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中D.由用户定制24.下列哪个是合法的Java标识符?A.&2 B.123.9 C._2# D.public25.设有下面两个类的定义:class Person { long id; //身份证号String name; // 姓名 }class Student extends Person { int score; // 入学总分int getScore() { return score; } } 问:类Person和类Student的关系是?A.包含关系 B.继承关系 C.关联关系 D.无关系,上述类定义有语法错误26.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A.private B.protected C.private protected D.public27.在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if – else B.switch C.try D.throw28.下列描述正确的是:A.多态性就是指子类的某个方法被其父类重写时,可以各自产生自己的功能行为。
B.多态性就是指子类的某个方法被其父类重写时,不能各自产生自己的功能行为。
C.多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。
D.以上都不对29.Date 类属于A.java.time 包 B.java.util 包 C.java.tool 包 D.java.system 包31.paint()方法使用哪种类型的参数?A.Graphics B.Graphics2D C.String D.Color32.指出正确的表达式A.byte=128; B.Boolean=null; C.long l=0xfffL; D.double=0.9239d; 33.运行Java Applet 的工具是:A.javac B.java C.javadoc D.浏览器34.创建文本区的监视器的类必须要实现的接口是A.ItemListener B.ChoiceListener C.TextListener D.ActionListener 35.类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制()?A.public B.default C.protected D.private36.当编译和运行下列程序段时,会发生什么?class Base {}class Sub extends Base {}class Sub2 extends Base {}public class CEx{public static void main(String argv[]){Base b = new Base();Sub s = (Sub) b;}}A.通过编译和并正常运行。
B.编译时出现例外。
C.编译通过,运行时出现例外。
37.下面语句段的输出结果是什么?int i = 9;switch (i) {default:System.out.println("default");case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two"); }A.default B.default, zero C.error default clause not defined D.no output displayed 38.以下程序测试String 类的各种构造方法,试选出其运行效果。
class STR{public static void main(String args[]){String s1=new String();String s2=new String("String 2");char chars[]={'a',' ','s','t','r','i','n','g'};String s3=new String(chars);String s4=new String(chars,2,6);byte bytes[]={0,1,2,3,4,5,6,7,8,9};StringBuffer sb=new StringBuffer(s3);String s5=new String(sb);System.out.println("The String No.1 is "+s1);System.out.println("The String No.2 is "+s2);System.out.println("The String No.3 is "+s3);System.out.println("The String No.4 is "+s4);System.out.println("The String No.5 is "+s5);}}A.The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is stringThe String No.5 is a stringB.The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is tringThe String No.5 is a stringC.The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is strinThe String No.5 is a stringD.以上都不对39.下面的哪个选项是正确的?class ExSuper{String name;String nick_name;public ExSuper(String s,String t){name = s;nick_name = t;}public String toString(){return name;}}public class Example extends ExSuper{public Example(String s,String t){super(s,t);}public String toString(){return name +"a.k.a"+nick_name;}public static void main(String args[]){ExSuper a = new ExSuper("First","1st");ExSuper b = new Example("Second","2nd");System.out.println("a is"+a.toString());System.out.println("b is"+b.toString());}}A.编译时会出现例外。