Java程序设计复习资料.doc
第一部分 模拟试题第一题 单项选择题1、在下列说法中,选出最正确的一项是( )。 A、Java语言是以类为程序的基本单位的 B、Java语言是不区分大小写的 C、多行注释语句必须以/开始 D、在Java语言中,类的源文件名和该类名可以不相同6、在Java语言中,那一个是最基本的元素?( ) A、方法 B、包 C、对象 D、接口7、如果有2个类A和B,A类基于 B类,则下列描述中正确的一个是( )。 A、这2个类都是子类或者超类 B、A是B超类的子类 C、B是A超类的子类 D、这2个类都是对方的子类8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?( ) A、abstract B、private C、protected D、不使用保留字9、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么?( ) A、13个字节码文件,扩展名是.class B、1个字节码文件,扩展名是.classC、3个字节码文件,扩展名是.java D、3个字节码文件,扩展名是.class10、下列属于Java语言的特点的一项是( )。 A、运算符重载 B、类间多重继承 C、指针操作 D、垃圾回收13、下列关于Java程序结构的描述中,不正确的一项是( )。 A、一个Java源文件中可以包括一个package语句B、一个Java源文件中可以包括多个类定义,但是只能有一个public类C、一个Java源文件中可以有多个public类D、源文件名与程序类名必须一致14、下列说法正确的一项是( )。A、java.1ang.Integer是接口 B、java.1ang.Runnable是类 C、Doulble对象在iava.1ang包中 D、Double对象在java.1ang.Object包中15、下列关于类、包和源文件的描述中,不正确的一项是( )。 A、一个包可以包含多个类 B、一个源文件中,可能有一个公共类C、属于同一个包的类在默认情况下可以相互访问 D、系统不会为源文件创建默认的16、下列关于类、包和源文件的说法中,错误的一项是( )。 A、一个文件可以属于一个包 B、一个包可包含多个文件C、一个类可以属于一个包 D、一个包只能含有一个类19、Java语言是以哪一种语言为基础的?( ) A、Basic B、Smalhalk C、C D、C+20、下列选项中,不属于JDK文件目录中的子目录的是( )。 A、bin子目录 B、include子目录 C、jre D、lib子目录21、下列选项中,不属于java核心包的一项是( )。 A、javax.swing B、java.io C、java.util D、java.1ang22、下列属于Java核心包的一项是( )。 A、javax.naming B、javax.rmi C、javax.sound D、java.math24、下列关于注释语句的描述中,正确的一项是( )。 A、以/开始的是多行注释语句 B、以/*开始,*/结束的是单行注释语句C、以/*开始,*/结束的是可以用于生成帮助文档的注释语句 D、以/*开始,*/结束的是单行注释语句25、对于类的说法中,不正确的一项是( )。 A、一般类体的域包括常最、变量、数组等独立的实体 B、类中的每个方法都由方法头和方法体构成C、Java程序中可以有多个类,但是公共类只有一个 D、java程序可以有多个公共类26、定义类时,不可能用到的保留字是( )。A、private B、class C、extends D、implements27、下列关于类和对象的描述中,不正确的一项是( )。 A、现实世界中,可以把每件事物都看做是一个对象B、一组对象构成一个程序,对象之间通过发消息通知彼此该做什么C、有共同属性的对象可以抽象为一个类D、一个类只能实例化一个对象28、下列说法中,不止确的一项是( )。 A、Java程序有两类:Application和Applet B、类的方法只能由public修饰C、面向对象的程序设计的优点有:可重用性、可扩展性、可管理性D、Java语言通过接口支持多重继承29、定义主类的类头时可以使用的访问控制符是( )。 A、public B、protected C、private D、private protected30、下列描述中,不正确的是( )。 A、Java不支持多线程 B、一个Java源程序中不允许有多个公共类C、Java程序可以划分为两大类:Application和Applet D、Java通过接口支持多重继承31、java语言的类间的继承关系是( )。 A、多重的 B、单重的 C、线程的 D、不能继承32、下列哪个不是面向对象程序设计方法的特点?( ) A、抽象 B、继承 C、多态 D、结构化33、下列描述中不正确的一项是( )。A、Java是纯面向对象语言,不兼容以往的任何语言 B、c+不是纯面向对象的,它兼容c语言C、在1ava语言中,使用对象时必须先声明 D、Java语言和c+一样有指针35、下列整型的最终静态属性i的定义中,正确的是( )。A、final i; B、static int i; C、static final int i=234:D、finall float i=3.14f;36、下列语句中,正确的给出初始值为222.111的单精度浮点数f的定义的一个是( )。A、float f=222.111f:B、float f=222.111; C、float f=222.111d D、float f=222.111;37、下列关于数据类型的类包装的说法中,不正确的一个是( )。 A、char类型被包装在Character类中 B、int类型被包装在Integer类中C、包装类有己的常用方法和常数 D、包装类可以被其他的类继承38、下列关于浮点型数据的说法中,不正确的一个是( )。 A、浮点型数据属于实犁数据 B、浮点型数据由数据和小数组成C、浮点型数据小数位数越少越精确 D、浮点数据包括实型常量和实变量39、现有一个双精度浮点变量声明为double dValue;下列赋值语句不正确的一个是( )。 A、dValue=Fhoat.POSITIVE_INFINITY; B、dValue=Float.NaN;C、dValue=Double.POSITIVE_INFINITY; D、dValue=(double)|true;40、现有2个byte类型的变量bb1=126、bb2=5,当执行bbl=(byte)(bb1+bb2);语句之后,bb1的值应该是( )。 A、-128 B、131 C、-125 D、语句在编泽中出错41、现在有一个int类型的变量a和一个char类型的变量b,关于它们之间类型转换的说法中,正确的一个是( )。 A、a必须性制转换为b B、a可以自动转换为b C、b必须强制转换为a D、它们不可以相互转换42、下列关于short类型数据的说法中正确的一个是( )。 A、short类型数据的长度为8位 B、short类型只能动转换为byte类犁C、short类型被包装在类java.1ang.Character中 D、short类型存储数据的顺序是先高后低43、下列单精度浮点数fValue的赋值语句中,不正确的一个是( )。 A、fValue=(double)-23.234f; B、fValue=(char)-12.34f;C、fValue=(char)-56.78d; D、fValue=(int)23.234f;44、现有一个char类型的变量CC和一个int类型的变量ii,下列语句中不正确的一个是( )。 A、 CC=d+11: B、CC=(char)(CC+ii);C、 CC=(char)11.23d; D、CC=CC+(char)ii;char类型相加可能会丢失精度45、下列关于byte类型的说法中,正确的一个是( )。 A、byte类型的长度为8位 B、byte类型可以自动转换为所有的简单类型C、128是合法的byte类型数值 D、byte存储顺序是从高到低46、下列说法中错误的一个是( )。 A、$1_abc是合法的Java标识符 B、局部变量必须先声明后使用C、void是合法的Java保留字 D、在Java中,类不是用标识符命名的47、下列标识符中,正确的是( )。 A、1_Back B、$_Money C、$-money D、2-Foward48、下列标识符中,合法的一个是( )。 A、$#!$ B、$-$ C、2$2 D、$22$49、下列说法中,正确的一个是( )。 A、接口属于复合数据类型 B、接口属于简单数据类型C、标识符的总的字符个数是有限的 D、标识符就是保留字50、设有类型定义short i=32;long j=64;下面赋值语句中不正确的一个是( )。 A、j=i; B、i=j; C、i=(short)j; D、j=(long)i;51、以下字符常量中不合法的一个是( )。 A、an B、r C、t D、¥52、下列数据表示十六进制数的一个是( )。 A、02l B、123 C、23 D、0xa3453、现有1个char类型的变量cl=66和1个整型变量i2=2;与执行c1=cl+(char)i2;语句之后,cl的值应该是( )。 A、 d B、D C、68 D、语句在翻译时出错54、下列关于Unicode-字符的说法中,不正确的一项是( )。 A、Unicode字符集比ASII字符集丰富 B、Unicode字符是16位无符号数C、字符常量a以八进制数表示为142 D、字符常量a以八进制数表示为14l55、下列哪一个是合法的char类型数据( )? A、14l B、rn C、u00 D、u0xC056、下列说法中,正确的一项是( )。 A、字符串“abce”的长度是6 B、False是Java的保留字C、324.23L代表单精度浮点数 D、False是合法的Java标识符58、下列数据中是八进制数的一个是( )。 A、0X214 B、231 L C、00 D、1059、下列哪个属于java语言的保留字?( )A、$_final B、long C、size D、union60、现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是( )。 A、int类型 B、double类型 C、float类型 D、long类型61、下列关于float类型的说法中,正确的一个是( )。 A、float类型不能自动转换为其他的简单类型 B、float类型可以自动转换为double类型C、float类型和long类型在计算机中占的存储空间一样大 D、3.342E2D是合法的float类型数值。63、下列Java语句中,不正确的一个是( )。 A、Double dValue=(float)1233.213f; B、double dValue=(float)1.213E2f;C、char ch=(char)-1; D、char ch=66:64、下列哪一个语句是合法的?( ) A、byte=128; B、Boolean=true: C、long l=0x23EFL; D、double=0.1453d:65、以下的变量定义语句,合法的是( )。 A、float_*5=123.456F; B、byte $_bl=156782; C、int_long_=324233L; D、double a=Double.MAX_ VALUE:66、下列关于类型转换的说法中,正确的一项是( )。 A、double类型可以自动转换为int类型 B、double类型只能强制转换为int和long类型C、double类型可以通过强制转换为boolean类型 D、double不可以自动转换为int类型67、下列哪一个是合法的标识符?( ) A、int B、t C、0xeeee D、integer68、下列哪一个不是合法的标识符?( ) A、INTEGER B、Char C、u0002 D、Void69、数Float.MAX_VALUE是由哪个包装类提供的?( ) A、java.1ang.Integer B、java.1ang.Long C、java.1ang.Float D、java.1ang.Double70、设有定义int a=12;则执行以下语句后,a的值为( )。a*=12; A、144 B、12 C、24 D、071、算术表达式1+2/3-4*5的值为( ) A、1 B、-19 C、-5 D、073、整型变量a、b定义如下,表达式+a= =b的值是( )。int a=3;int b=4; A、 4 B、3 C、1 D、以上均不正确74、设有定义int x=5;则执行以下语句后,x的值为( )。X*=x+5; A、10 B、15 C、20 D、2575、执行如下语句之后,输出的结果是( )。public class ex6public static void main(String args) int x= -6,Y=6; x=x+Y-; System.out.println(x); A、12 B、-12 C、-1 D、076、下列语句序列执行后,输出的结果是( )。public class ex7public static void main(String args) int a=13; a=a/5; System.out.println( a); A、1 B、13 C、55 D、1577、执行下列程序段之后,输出的结果为( )。 public class ex8 public static void main(Stringargs) int a=5; int b=4; int c=10; c/=+ a(b-); System.out.println( c); A、0 B、5 C、10 D、1578、设有定义int x= A;,则执行下列语句之后,x的值为( )。 x= A; A、0 B、A C、a D、6579、设i、j为int类型变量,a为float类型变量,以下选项中,正确的赋值语句是( )。 A、i=i+2 B、a=7; C、i+-j; D、a=66.0;80、对于一个三位的十进制正整数x,求它的十位数字Y(Y为整型)的表达式是( )。 A、Y=x/10%10 B、Y=(x-x/10*10)%10 C、Y=x%10 D、Y=x/1081、下列语句序列执行后,输出的结果是( )。public class exl7public static void main(String args) int x=15; x/=x%5+x*(x-x%10); System.out.println(x); A、0 B、5 C、10 D、1582、执行下列代码之后,输出的结果为( )。public class ex23public static void main(String args) int x=7; int y=15; boolean bb=(127 |x)>7&&(-128y)<15; System.out.println(bb); A、 true B、0 C、false D、183、执行下列代码之后,输出的结果为( )。public class ex24public static void main(String args) int a=2; int b=3; int c=7; int d=a>c?a:c; d=d>>2>b?d:b; System.out.println(d); A、 2 B、3 C、5 D、784、下列语句序列执行后,输出的结果是( )。 public elltS$ex30 public static void main(String args) int al=3; int a2=4; int xl=5; if(+al<a2) xl=x1+l; System.out.println(x1); A、3 B、4 C、5 D、685、下面哪一个是符合Java语言语法的语句?( ) A、int a=0; B、int a=0; C、double i=1.3*%12; D、int a=0;boolean b=a!=7; int b=2; int b=2; int e=12; int 12=7; a=12+b+e!=4; a =a+12=c+b; 86、假设int类型的变量x、y和z,它们的初始值分别为10、20和30,则布尔表达式x<101&&Y>l0&&z<10的值为( )。 A、false B、true C、1 D、无法判断87、下列代码段执行之后,输出的结果为( )。public ClaSS ex38;public static void main(String args) long a=128; long b=10; double c=1234: boolean bb; bb=c>=a>>b; System.out.println(bb); A、true B、false C、l D、088、下面程序的输出结果是( )。public class ex2public static void main(Stringargs) for(int cnt=0;cnt<10;cnt+) if (cnt= =5) break; System.out.print(cnt); A、0 1 2 3 4 B、6 7 8 9 C、0 1 2 3 4 6 7 8 9 D、590、为了定义3个整型数组a1、a2、aL3,下面声明正确的语句是( )。 A、int Array a1,a2; B、int a1,a2; int a3 =1,2,3,4,5 ; int a3 =1,2,3,4,5; C、int a1,a2 ; D、int a1,a2; int a3=1,2,3,4,5; int a3=(1,2,3,4,5);91、下面的是关于类及其修饰符的一些描述,不正确的是( )。 A、abstract类只能用来派生子类,不能用来创建abstract类的对象B、abstract不能与final同时修饰一个类 C、final类不但可以用来派生子类,也可以用来创建final类的对象 D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法92、为了使包ch4在当前程序中可见,可以使用的语句是( )。 A、import ch4.*; B、package ch4.*; C、ch4 imporl,; D、ch4 package;93、在使用interface声明一个接口时,只可以使用哪一个修饰符修饰该接口?( D ) A、private B、protected C、private protected D、public95、若有定义:byte x=11,22,33,-66;其中0k3,则对x数组元素错误的引用是( )。 A、x5-3 B、xk C、xk+5 D、x096、main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项母合法的? A、public static void main( ) B、public static void main(String args )C、public static int main(Stnng arg) D、public void main(Stnng arg )97、若需要定义一个静态域,应使用哪一个修饰符?( ) A、static B、synchronized C、private D、protected98、下列描述中不属于 Java异常处理机制优点的一项是( D )。A、把错误处理代码从正常代码中分离出来 B、按错误类型和差别分组 C、对无法预测的错误的捕获和处理 D、能够处理任何类型的错误第二题 填空题1、Java程序可以分为2大类:_和_。2、Object类是一个特殊类,它在编译时由_自动生成,并伴随每一个类。3、System类是一个特殊的类,主要提供了标准I/O和 的访问和设置。4、每个Java Application程序可以包括许多方法,但是必须有且只能有一个_方法,统一格式为_ _,它是程序执行的入口。5、程序设计语言分为三类,分别是面向机器的语言,面向_的语言和面向_的语言,Java语言是面向_的语言。6、Java源程序文件和字节码文件的扩展名分别为 和 。7、如果在Java程序中,需要使用java.util包中的所有类,则应该在程序开始处加上 语句。8、Java语言的_特性实现了模块化和信息隐藏,_特性实现了代码重用,方便用户建立自定义数据类型和创建自定义的类库。9、面向对象技术中的对象具有 ,行为和标识等三个基本属性。10、在Java语言中,由*开始,以*/结束的注释语句可以用于生成_。11、一般Java程序的类体由两部分组成:一部分是 ,另一部分是 。12、Java语言的类型检查机制要求对于没有返回值的方法,在其前面必须加 进行说明。13、double类整的包装类定义了常值变量 ,使用户口可以通过它来获取负无限值。 14、数据类型为布尔型的保留字是 ,占用的比特数为 。15、作用域是整个类的变量是 ,作用域是其作为参数的整个方法或构造方法的变量是 。16、强制类型转换通常使用_语句求实观。17、实型常量书写格式包括2种:十进制数格式和 _。18、Java 中的字符使用的是16位的_编码。19、Java语言中的简单类型的_都被声明为final属性,不可以被其他的子类继承。20、字符串“a”的长度是_。 21、Java语言为长整型数据提供了一个常值变量_ _表示长整型的最大值。22、在Java语言中,将位数多的数据类型向位数少的数据类型转换时,只能采用_ _ 。23、在不产生溢出的情况下左移运算相当于_ _运算。24、_ _ _一般可以和布尔逻辑运算符相结合,用于流程控制语句的 _。25、表达式(3 !=0)/(3000<=20)的值为_ _。26、按照操作数的个数分类,关系运算符<=属于_ _。27、移位运算符包括算术右移运算符_ _、算术左移运算符_ _和逻辑右移运算符_ _。28、算术右移一位相当于_ _算术运算。29、在对一个复杂表达式进行运算时,按照运算符的优先级次序进行,若是同级运算符,则按照其在表达式中的位置_ _的顺序进行。30、假设i=10,J=20,k=30,则表达式!(i<j+k)|!(i+10<=J)的值为_ _。31、表达式76*5的计算结果是_ _。32、在Java语言中,用来分配内存的运算符是_ _。33、在Java语言中,表达式的类型是由_ _及参与运算的_ _的类型共同决定的。34、在二元算术运算表达式的操作数中,一个是float类型,一个是int类型,则整个表达式的结果的类型应该是_ _类型。35、关系表达式由两个操作数和_ _构成。36、对于运算符/,如果一个操作数为true,则表达式的值为_ _。37、表达式6533 12的值为_ _。38、在Java语言中,保留字instanceof是_ _运算符。39、表达式12 !=12的值为_ _。40、在比较两个对象的值是否相同时,可以调用_ _方法。41、在循环语句中,反复执行的单一语句或者复合语句被统一称做循环语句的_ _部分。42、在java的循环语句中,执行while循环时,首先是_ _,而执行dowhile循环时,首先是_ _。43、在for循环的迭代部分可以使用_ _来进行多个操作。44、 _ _ 语句的功能包括:跳过循环体内部下面未执行的语句,回到循环体开始位置,继续下次循环。45、多重循环是指往一个循环体内嵌入另一个完整的_ _。46、递归调用的过程可以简单描述为:先逐级递归调用,当到达_ _时再逐级返回,直到求出最终解。47、循环语句包括for循环、_ _和_ _。48、 _ _ 语句的功能是从当前方法中退出,返回到调用该方法的地方继续执行下面的语句。49、递归主要包括两个部分:定义_ _和定义如何从同性质的简化问题求出最终问题的解。50、在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会紧接着执行后面的_ _语句块。51、递归方法虽然可以使程序简洁,但是随着递归层次的_ _,占用系统的内存也会增加。52、若需要在PhoneCard200类中声明变量additoryFee为浮点双精度型的静态域并初始化其值为01,则应在类PhoneCard200的定义中加入一条定义语句:_ _。53、_ _ 方法是不能被当前类的子类重新定义的方法。54、当子类的成员变量与父类的成员变量名字相同时,子类的成员变量会_ _父类的成员变量。55、顺序执行下面两个语句,输出的结果是:_ _。 String s= “Hello!”; System.out.println(S1ength( );56、在Java语言中,体现多态性有两个方面:_ _和_ _。57、在java个类的内部嵌套定义的类称为_ _。59、构造方法是类中的一种特殊方法,它用来定义对象的_ _。60、抽象类不能_ _。65、用户定义异常是通过扩展_ _类及_ 类来刨建的。66、在Java编程语言中,用_ _, _,_ _语句来处理异常。67、在Java语言中,_ _是依靠以catch语句为标志的 _语句块来实现捕获和处理的。68、由于 系统不能识别和创建用户_ _,所以需要在程序的合适位置创建_ _,并使用throw语句将该新异常对象抛出。69、Java语言的异常处理机制中_ _子句或_ _子句可省略,但二者不能同时省略。70、若抛出的异常类的对象不在catch之列,或者catch子句中包含_ _语句,则执行finally子句中的代码之后返_ _。第三题 简答题1、作用域pu