java复习题集范围学生.docx
《java复习题集范围学生.docx》由会员分享,可在线阅读,更多相关《java复习题集范围学生.docx(15页珍藏版)》请在冰豆网上搜索。
java复习题集范围学生
选择题:
1.System.out.println("5"+2);的输出结果应该是(A)。
A.52B.7C.2D.5
2.下列关于构造函数的句子中,正确的是(D)。
A.定义类类型时,其构造函数不可省略
B.类的构造函数不必与类名相同
C.一个类类型,只能定义一个构造函数
D.在用new运算符生成类的一个对象时,构造函数被调用执行
3.下面对继承的说法,正确的是(A)。
A.子类能继承父类的所有方法和状态
B.子类能继承父类的非私有方法和状态
C.子类只能继承父类的public方法和状态
D.子类只能继承父类的方法,而不继承状态
4.在Java中用什么关键字修饰的方法可以直接通过类名来调用?
(A)
A.staticB.finalC.privateD.void
5.以下哪个不是Java的关键字?
(A)。
A.FALSEB.throwC.thisD.void
6.在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是(C)。
A.interfaceAextendsB,C
B.interfaceAimplementsB,C
C.classAimplementsB,C
D.classAimplementsB,implementsC
7.以下有关构造方法的说法,正确的是:
(A)。
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用。
D.构造方法可以和类同名,也可以和类名不同
8.如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰(A)。
A.privateB.protectedC.privateprotectedD.public
9.下列标识符不合法的是(C)。
A.%portB.thisC.intD.myCount
10.以下哪项是接口的正确定义?
(D)
A.interfaceB
{voidprint(){};}
B.abstractinterfaceB
{voidprint();}
C.abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口
{abstractvoidprint(){};}
D.interfaceB
{voidprint();}
11.下面语句在编译时不会出现警告或错误的是(A)。
A.floatf=3.14;B.charc="c";C.Booleanb=null;D.inti=10.0;
12.Java类可以作为(C)。
A.类型定义机制B.数据封装机制
C.类型定义机制和数据封装机制D.上述都不对
13.整型数据类型中,需要内存空间最少的是(D)。
A.shortB.longC.intD.byte
14.布尔型变量真值表示为(A)。
A.trueB.falseC.tD.f
15.执行完以下代码int[]x=newint[10];后,以下哪项说明是正确的(A)。
A.x[9]为0B.x[9]未定义C.x[10]为0D.x[0]为空
16.在Java的异常处理模型中,无论是否发生异常,(B)块中的代码都会被执行。
A.tryB.finallyC.catchD.throw
17.设x为int型变量、则执行以下语句以后,x的值为(B)。
x=10;x+=x-=x-x
A.10B.20C.40D.30
x+=x-=0
再计算x-=0x=10
x+=10x最后为20
18.设有对象x具有属性a则访问该属性的方法为(C)。
A.a.xB.a.x()C.x.aD.x.a()
19.Java类可以作为(C)。
A.类型定义机制B.数据封装机制
C.类型定义机制和数据封装机制D.上述都不对
20.continue语句(C)。
A.只中断最内层的循环B.只中断最外层的循环
C.只中断所在层循环中的当次循环D.只中断某一层的循环
21.假设现在有一个“Test.java”源文件,编译完成后运行该程序,则可能的命令是(A)
A.javacTest.javaB.javaTest
C.javacTestD.javacTest.java
22.在Java中,"456"属于(A)类的对象。
A.intB.StringC.IntegerD.Number
23.下面哪一行代码正确地声明了一个类方法(静态方法)?
(C)
A.publicintmethod(inti)
B.protectedmethod(inti)
C.publicstaticmethod(Strings)
D.protectedstaticvoidmethod(Integeri)
24.有以下方法的定义,请选择该方法的返回类型(B)。
ReturnTypemethod(bytex,doubley){
return(short)x/y*2;
}
A.byteB.shortC.intD.double
25.下列哪一个关键字用于实现接口来定义类?
(D)
A.extendsB.implementsC.abstractD.interface
26.执行完以下代码int[]x=newint[10];后,以下哪项说明是正确的(A)。
A.x[9]为0B.x[9]未定义C.x[10]为0D.x[0]为空
27.下列选项中,不属于Java语言的关键字的是(B)。
A.importB.mallocC.extendsD.new
28.下述概念中不属于面向对象方法的是(B)。
A.对象、消息B.继承、多态C.类、封装D.过程调用
29.整型数据类型中,需要内存空间最少的是(D)。
A.shortB.longC.intD.byte
30.下面哪一个是合法的数组声明和构造语句(C)。
A.int[]grade=[100];B.intgrade=newint[100];
C.int[]grade=newint[100];D.int()grade=newint(100);
31.下面不是合法标识符的是(A)。
A.9ofBSB.toMesC.whereQuizD.$d1999_
32.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)。
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
33.下面声明数组的写法错误(A)。
A.inta[];B.int[]a;C.int[3][]a;D.int[][3]a;
34.以下声明合法的是(C)。
A.defaultStringsB.publicfinalstaticnativeintw()
C.abstractdoubledD.abstractfinaldoublehyperbolicCosine()
35.下面关于数组声明和初始化的语句那个有语法错误?
(B)
A.inta1[]={3,4,5};
B.Stringa2[]={"string1","string1","string1"};
C.Stringa3[]=newString(3);
D.int[][]a4=newint[3][3];
36.为了使包ch4在当前程序中可见,可以使用的语句是(B)。
A.importch4.*;B.packagech4.*;
C.ch4import;D.ch4package;
37.下列哪一种叙述是正确的(B)。
A.abstract修饰符可修饰字段、方法和类
B.抽象方法的body部分必须用一对大括号{}包住
C.声明抽象方法不可写出大括号
D.声明抽象方法,大括号可有可无
38.类与对象的关系是(C)。
A.对象是类的子类B.对象是类的抽象
C.类是对象的抽象D.类是对象的具体实例
39.以下哪个不是Java的原始数据类型(B)。
A.intB.BooleanC.floatD.char
40.以下关于继承的叙述正确的是(A)。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
41.下面哪个是非法的(D)。
A.intI=32;B.floatf=45.0f;
C.doubled=45.0;D.charc=‘u’;
42.下列哪个类的声明是正确的?
(D)
A.abstractfinalclassHI{}B.abstractprivatemove(){}
C.protectedprivatenumber;D.publicabstractclassCar{}
43.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。
A.privateB.protectedC.privateprotectedD.public
44.下列不可作为Java语言修饰符的是(D)。
A.ab2B.$a2C._a2D.2a2
45.Java中(C)。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
46.在调用方法时,若要使方法改变实参的值,可以(B)。
A.用基本数据类型作为参数B.用对象作为参数
C.A和B都对D.A和B都不对
47.下面哪个函数是publicvoidexample(){...}的重载函数?
(B)
A.publicvoidexample(intm){...}
B.publicintexample(){...}
C.publicvoidexample2(){...}
D.publicintexample(intm,floatf){...}
48.下面关键字中,哪一个不是用于异常处理语句(B)。
A.tryB.breakC.catchD.finally
49.A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:
1)Aa0=newA();
2)Aa1=newB();
3)Aa2=newC();
问以下哪个说法是正确的?
A.只有第1行能通过编译(D)。
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
50.下列关于构造方法的叙述中,错误的是(C)。
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
51.下列哪个是合法的Java标识符?
(D)
A.Tree&GlassesB.FirstJavaAppletC.*theLastOneD.273.5
52.编译Java程序的命令是:
(B)。
A.appletviewerB.javacC.javaD.javadoc
53.下列那个是反斜杠的正确表示?
(A)
A.\\B.*\\C.\'D.\'\'
54.下列哪些语句关于Java内存回收的说明是正确的?
(C)。
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
55.结构化程序设计所规定的三种基本控制结构是(C)。
A.输入、处理、输出B.树形、网形、环形
C.顺序、选择、循环D.主程序、子程序、函数
56.提供Java存取数据库能力的包是(A)。
A.java.sqlB.java.awtC.java.langD.java.swing
57.下列方法头中哪一个不与其他方法形成重载(overload)关系?
(D)
A.voidmmm()B.voidmmm(inti)C.voidmmm(Strings)D.intmm()
58.不能构成循环的语句是(C)。
A.for语句B.while语句
C.switch语句D.do__while语句
59.Java编程所必须的默认引用包为(D)。
A.java.sys包B.java.lang包C.java.util包D.以上都不是
60.Java语言中创建一个对象使用的关键字为(C)。
A.classB.interfaceC.newD.create
61.执行语句inti=1,j=++i;后i与j的值分别为(D)。
A.1与1B.2与1C.1与2D.2与2
++i是先计算i的值,然后再使用这个值,而i++是先使用i,然后再计算i++.
这里是先++i得到i=2,然后将2赋给j,所以i和j都是2.
62.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
63.以下哪个约束符可用于定义成员常量?
(B)
A.staticB.finalC.abstractD.Nomodifiercanbeused
64.在类的定义中构造函数的作用是(D)。
A.保护成员变量B.读取类的成员变量
C.描述类的特征D.初始化成员变量
65.设有定义inti=6;,则执行以下语句后,i的值为(C)。
i+=i-1;
A.10B.121C.11D.100
66.请问所有的异常类皆继承哪一个类?
(B)。
A.java.io.ExceptionB.java.lang.Throwable
C.java.lang.ExceptionD.java.lang.Error
67.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。
(C)
A.publicintMAX_LENGTH=100;
B.finalintMAX_LENGTH=100;
C.finalpublicintMAX_LENGTH=100;
D.publicfinalintMAX_LENGTH=100;
68.下面哪一个是Java中不合法的标识符(D)。
A.$personsB.twoNumC._myVarD.*point
69.以下关于构造函数的描述错误的是(A)。
A.构造函数的返回类型只能是void型。
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C.构造函数的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造函数。
70.在创建对象时必须(C)。
A.先声明对象,然后才能使用对象
B.先声明对象,为对象分配内存空间,然后才能使用对象
C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D.上述说法都对
71.若在某一个类定义中定义有如下的方法:
abstractvoidperformDial();该方法属于(C)。
A.接口方法B.最终方法C.抽象方法D.空方法
72.对于一个Java源文件,import,class定义以及package正确的顺序是(A)。
A.package,import,classB.class,import,package
C.import,package,classD.package,class,import
73.关于Java中数据类型叙述正确的是:
(B)。
A.整型数据在不同平台下长度不同
B.boolean类型数据只有2个值,true和false
C.数组属于简单数据类型
D.Java中的指针类型和C语言的一样
74.哪个关键字可以抛出异常?
(C)
A.transientB.finallyC.throwD.static
75.若需要定义一个类域或类方法,应使用哪种修饰符?
(A)
A.staticB.packageC.privateD.public
76.下面说法不正确的是(C)。
A.一个子类的对象可以接收父类对象能接收的消息
B.当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同
C.父类比它的子类的方法更多
D.子类在构造函数中可以使用super()来调用父类的构造函数
77.main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?
(B)
A.publicstaticvoidmain()
B.publicstaticvoidmain(String[]args)
C.publicstaticintmain(String[]arg)
D.publicvoidmain(Stringarg[])
78.Java语言的类间的继承关系是(B)。
A.多重的B.单重的C.线程的D.不能继承
79.关于类和对象的叙述正确的是:
(A)。
A.Java的类分为两大部分:
系统定义的类和用户自定义的类
B.类的静态属性和全局变量的概念完全一样,只是表达形式不同
C.类的成员至少有一个属性和一个方法
D.类是对象的实例化
80.类与对象的关系是(A)。
A.类是对象的抽象B.对象是类的抽象
C.对象是类的子类D.类是对象的具体实例
81.有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)。
A.a1.javaB.a1.classC.a1D.都对
82.定义类头时能使用的修饰符是(C)。
A.privateB.staticC.abstractD.protected
83.在编写JavaApplet程序时,需在程序的开头写上(B)语句。
A.importjava.awt.*;B.importjava.applet.Applet;
C.importjava.io.*;D.importjava.awt.Graphics;
84.声明一个类的方法是最终的,即不能被其子类覆盖该方法,应使用(D)修饰符。
A.abstractB.publicC.protectedD.final
85.以下由for语句构成的循环执行的次数是(B)。
for(inti=0;true;i++);
A.有语法错,不能执行B.无限次C.执行1次D.一次也不执行
86.下列叙述正确的是(A)。
A.在类中的构造方法的名字与类的名字相同,而且有返回类型
B.在类中的构造方法的名字与类的名字相同,而且不能重载
C.在类中的构造方法的名字与类的名字相同,但没有返回类型
D.在类中的构造方法的名字与类的名字相同,而且不能初始化
87.Javaapplication中的主类需包含main方法,main方法的返回类型是什么?
(A)。
A.intB.floatC.doubleD.void
88.给出下面代码,关于该程序以下哪个说法是正确的?
(C)
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[0]);}
}
}
A.编译时将产生错误B.编译时正确,运行时将产生错误
C.输出零D.输出空
89.若a的值为3时,下列程序段被执行后,c的值是多少?
(C)
if(a>0)
if(a>3)c=2;
elsec=3;
elsec=4;
A.1B.2C.3D.4
90.for(;;)是(A)。
A.循环结构B.分支结构C.顺序结构
简答题
1.Java的实例方法和静态(类)方法的区别?
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。
实例方法只有使用"对象名.方法名"的方式。
也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法。
实例方法允许访问静态成员(即静态成员变量和静态方法)和实例成员变量和实例方法。
2.在什么情况下需要使用super和this关键字?
3.Java的构造方法和实例方法的区别?
4.Java中命名标识符有什么规则?
∙由26个英文字母大小写,数字:
0-9符号:
_$组成
∙标识符应以字母、_、$开头。
∙标识符不能是关键字。
∙Java中严格区分大小写
5.Java的接口和抽象类的有哪些相同?
哪些不同?
6.基本数据类型和对象作为参数传递有何不同?
7.Java的访问控制符有哪些?
各有什么作用?
8.Java平台分为几类,它们的适用范围是什么?
9.Java语言有哪8种简单的数据类型?
布尔数据类型(boolean)1位
字符类型(char)2字节
整数类型(integer)byte1字节
short2字节
int4字节
long8字节
浮点数类型(float)float4字节
double8字节