java复习题.ppt
单项选择题单项选择题填空题填空题程序分析题程序分析题(程序阅读与理解填空题程序阅读与理解填空题 )编程题编程题试题类型试题类型一、选择题一、选择题 1、Java语言的许多特点中,下列语言的许多特点中,下列 特点是特点是C+语言所不具备的。语言所不具备的。( ) A. 高性能高性能 B. 跨平台跨平台 C.面向对象面向对象 D.有类库有类库 教材第教材第1章章Java与与C/C+的比较。的比较。2、Java源文件中最多只能有一个源文件中最多只能有一个( )类,其他类的个数不限。类,其他类的个数不限。 A. abstract B. public C. final D. interface 第第1章应用程序和小应用程序特点。章应用程序和小应用程序特点。3、如果一个、如果一个Java源程序文件中定义有源程序文件中定义有4个类,则使用个类,则使用Sun公司的公司的SDK编译器编译器javac.exe编译该源程序文件,将产生编译该源程序文件,将产生 ( ) 个文个文件名与类名相同而扩展名为件名与类名相同而扩展名为.class的字节码文件。的字节码文件。 A. 1 B. 2 C. 3 D. 4 javac.exe 编译器编译器 java.exe 解释器解释器BBD4、下列命令中,、下列命令中, ( ) 命令是命令是Java的解释命令。的解释命令。 A. javac B. java C. javadoc D. appletviewer5、Java Application源程序文件的扩展名为源程序文件的扩展名为 ( ) A. .java B. .class C. .html D. .exe6、Java语言中,字符变量以语言中,字符变量以char类型表示,它在内存中占类型表示,它在内存中占 ( )位位bit。 A.8 B. 16 C. 32 D.2 基本数据类型基本数据类型P12。7、main方法是方法是Java Application程序执行的入口点,下列程序执行的入口点,下列 ( ) main方法原型是不正确的。方法原型是不正确的。 A. public static void main(String args) B. public static void main(String args) C. public static void main(String a) D. public static void main(string args)BADB8、下列哪个修饰符不是、下列哪个修饰符不是main方法的修饰符:方法的修饰符:( ) A public B static C String D void 9、编译、编译Java Application 源程序文件将产生相应的字节码文件,源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为这些字节码文件的扩展名为( )。 A .java B .class C .html D .exe2210、下列命令中,(、下列命令中,( )命令是)命令是Java的编译命令。的编译命令。Ajavac Bjava Cjavadoc Dappletviewer11、执行一个、执行一个Java应用程序和应用程序和Java小程序分别采用的命令是小程序分别采用的命令是( )。)。 A Java和和AppletViewer B Javac和和AppletViewer C AppletViewer和和Java D AppletViewer和和Javac CBAA12、如下、如下 字符串是字符串是Java中合法的用户自定义标识符。中合法的用户自定义标识符。 A. super B. 3number C. #number D.$number java语言命名规则。语言命名规则。P1113、已知如下的命令执行:、已知如下的命令执行: java MyTest aa bb cc则下面则下面 个语句是正确的。个语句是正确的。 A. args0 = MyTest aa bb cc B. args0 = MyTest C. args0 = aa D. args1=aa“14、以下、以下 约束符可用于定义成员常量。约束符可用于定义成员常量。 A. static B. final C. abstract D. const 15、下列代码的执行结果是、下列代码的执行结果是 。public class A public static void main(Stringargs)int a=4,b=6,c=8;String s=abc;System.out.println(a+b+s+c); A. ababcc B. 464688 C. 46abc8 D. 10abc8 DCBD16、下列叙述中正确的是(、下列叙述中正确的是( ) A. Java是不区分英文字母大小写的,源文件名与程序类名不允是不区分英文字母大小写的,源文件名与程序类名不允许相同许相同 B. Java语言以方法为程序的基本单位语言以方法为程序的基本单位 C. Applet是是Java的一类特殊应用程序,它嵌入的一类特殊应用程序,它嵌入HTML中,随主中,随主页发布到互联网上页发布到互联网上 D. 以以/符开始的为多行注释语句符开始的为多行注释语句 Java注释注释17、请问下面的运算符哪一个不是双目运算符(、请问下面的运算符哪一个不是双目运算符( )。)。 A. + B. * C. instanceof D. ? :18、在定义一个类的时候,下面哪一个不能用来修饰关键字、在定义一个类的时候,下面哪一个不能用来修饰关键字class( )。)。 A. public B. 默认的默认的 C. protected D. final19、下列哪一个运算符是正确的(、下列哪一个运算符是正确的( ) A & B C if D := CDCA20、下面的代码段中,执行之后、下面的代码段中,执行之后i 和和j 的值是什么的值是什么?( ) int i = 1;int j;j = i+; A1, 1 B1, 2 C2, 1 D2, 2 第三章自增自减运算符的使用。第三章自增自减运算符的使用。21、下面表达式的结果是(、下面表达式的结果是( )。)。 92; A. 1 B. 2 C. 3 D. 4 移位运算符的使用移位运算符的使用P26。22、java中中int型的变量占(型的变量占( )个字节数。)个字节数。 A. 1 B. 2 C. 3 D. 423、设有数组定义:、设有数组定义:int a=1,2,3,4;int s=0;for(int i=0;ia.length;i+)s+=ai; System.out.println(s);则顺序执行上述几个语句后的输出结果则顺序执行上述几个语句后的输出结果为(为( ) A. 0 B. 1 C. 10 D. 1234 赋值运算符、循环语句、数组的综合运用。赋值运算符、循环语句、数组的综合运用。CBDC24、已知表达式、已知表达式int m = 0, 1, 2, 3, 4, 5, 6 ;下面哪个表达式的值;下面哪个表达式的值与数组下标量总数相等?(与数组下标量总数相等?( ) Am.length() Bm.lengthCm.length()+1 Dm.length+125、已知、已知 s 为一个为一个 String 对象,对象,s=“abcdefg”,则,则 s.charAt(1)的返的返回值为(回值为( )。)。 A. a B. b C. f D. g P105页页,字符串常用的方法:,字符串常用的方法:length()求长度,求长度, charAt(int i)求字符串某个位置的字符求字符串某个位置的字符 concat(String str)将将str的字符串追加到原字符串末尾。的字符串追加到原字符串末尾。 indexOf(int ch)查找当前字符串中某个字符出现的位置。查找当前字符串中某个字符出现的位置。 equals()、compareTo()比较两个字符串比较两个字符串26、为了定义三个整型数组、为了定义三个整型数组 a1a2a3,下面声明正确的语句是下面声明正确的语句是( )。)。 A intArray a1,a2; int a3 =1,2,3,4,5; B int a1,a2; int a3 =1,2,3,4,5; C int a1,a2 ; int a3=1,2,3,4,5; D int a1,a2; int a3=(1,2,3,4,5); BBB27、设有下面两个类的定义:、设有下面两个类的定义:class Personlong id;String name;class Student extends Personint score;int getScore()return score;则类则类Person和类和类Student的关系是(的关系是( ) A. 包含关系包含关系 B. 继承关系继承关系 C. 关联关系关联关系 D. 无关系无关系28、若在某一个类定义中定义有方法:、若在某一个类定义中定义有方法:abstract void f();则该类是则该类是( ) A. public类类 B. final类类 C. 抽象类抽象类 D. 不能确定不能确定29、对于构造方法,下列叙述正确的是(、对于构造方法,下列叙述正确的是( ) A. 构造方法的方法名必须与类名相同构造方法的方法名必须与类名相同 B. 构造方法必须用构造方法必须用void声明返回类型声明返回类型 C. 构造方法可以被程序调用构造方法可以被程序调用 D. 若编程人员没在类中定义构造方法,程序将报错若编程人员没在类中定义构造方法,程序将报错 P43页页,构造方法的特殊性。,构造方法的特殊性。BCA30、关于被私有访问控制符、关于被私有访问控制符private修饰的成员变量,以下说法正修饰的成员变量,以下说法正确的是(确的是( )A 可以被三种类所引用:该类自身、与它在同一个包中的其他类、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类在其他包中的该类的子类B 可以被两种类访问和引用:该类本身、该类的所有子类可以被两种类访问和引用:该类本身、该类的所有子类C 只能被该类自身所访问和修改只能被该类自身所访问和修改D 只能被同一个包中的类访问只能被同一个包中的类访问31、关于被保护访问控制符、关于被保护访问控制符protected修饰的成员变量,以下说法修饰的成员变量,以下说法正确的是(正确的是( )A 可以被三种类所引用:该类自身、与它在同一个包中的其他类、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类在其他包中的该类的子类B 可以被两种类访问和引用:该类本身、该类的所有子类可以被两种类访问和引用:该类本身、该类的所有子类C 只能被该类自身所访问和修改只能被该类自身所访问和修改D 只能被同一个包中的类访问只能被同一个包中的类访问Java的修饰符。的修饰符。CA32、关键字、关键字super的作用是(的作用是( ) A. 用来访问父类被隐藏的成员变量用来访问父类被隐藏的成员变量 B. 用来调用父类中被重载的方法用来调用父类中被重载的方法 C. 用来调用父类的构造方法用来调用父类的构造方法 D. 以上都是以上都是 33、如果子类中覆盖了父类中的同名方法,则在子类中调用父类、如果子类中覆盖了父类中的同名方法,则在子类中调用父类中的同名方法时应使用关键字(中的同名方法时应使用关键字( ) A. this B. super C. implements D. extends 34、下列关于方法形参的叙述中,(、下列关于方法形参的叙述中,( )是正确的。)是正确的。 A. 必须有多个必须有多个 B.至少有一个至少有一个 C. 可以没有可以没有 D.只能是简单变量只能是简单变量 P42页,方法的参数及方法的返回值。页,方法的参数及方法的返回值。DBC35、若有下面程序、若有下面程序class Test static int num=0; Test() num = num + 1; public static void main(String args) Test myTest1 = new Test(); Test myTest2 = new Test(); System.out.print(myTest2.num);请问最后的输出结果是(请问最后的输出结果是( )。)。A、0 B、1 C、2 D、3static关键字的使用。关键字的使用。C36、对抽象类的描述错误的是(、对抽象类的描述错误的是( ) A. 必须被继承使用必须被继承使用 B. 方法必须被重写方法必须被重写 C. 不能实例化不能实例化 D. 用用final修饰符修饰修饰符修饰 abstract修饰符的使用。修饰符的使用。37、下列叙述中不正确的是(、下列叙述中不正确的是( ) A. abstract不能与不能与final并列修饰同一个类并列修饰同一个类 B. abstract类中不可以有类中不可以有private的成员的成员 C. abstract方法必须在方法必须在abstract类中类中 D. static方法中能直接处理非方法中能直接处理非static的属性的属性 DD 38、下列关于继承的叙述中,、下列关于继承的叙述中, 是正确的。是正确的。 A. 子类能继承父类的所有方法和状态子类能继承父类的所有方法和状态 B. 子类能继承父类的非私有方法和状态子类能继承父类的非私有方法和状态 C. 子类只能继承父类的子类只能继承父类的public方法和状态方法和状态 D. 子类只能继承父类的方法,而不继承状态子类只能继承父类的方法,而不继承状态 教材第教材第4章类的继承。章类的继承。39、下面下面 函数是函数是public void example(int k).的重载函数。的重载函数。 A. public void example( int m). B. public int example(int k). C. public void example2(int k). D. public int example( int m, float f). 方法的重载方法的重载P42。40、在、在Java语言中,语言中, 包是自动导入的。包是自动导入的。 A. java.lang B. java.awt C. java.applet D. java.io 教材教材P60页页BDA41、下列类定义中不正确的是(、下列类定义中不正确的是( ) A. public class A extends B B. public class A extends B,D C. public class A implements B,D D. public class A extends B implements C,D,E42、为了区分同一个类中重载的各个同名方法,要求、为了区分同一个类中重载的各个同名方法,要求 ( ) A. 采用不同的形式参数列表(形式参数的个数、类型、顺序不采用不同的形式参数列表(形式参数的个数、类型、顺序不完全相同)完全相同) B. 返回值的数据类型不同返回值的数据类型不同 C. 调用时用类名或对象名做前缀调用时用类名或对象名做前缀 D. 形式参数名不同形式参数名不同43、在使用、在使用interface声明一个接口时,只可以使用(声明一个接口时,只可以使用( )修饰符)修饰符修饰该接口。修饰该接口。 A. public B. protected C. private和和protected D. private P80页。页。BAA44、下列关于接口的叙述中,下列关于接口的叙述中, 是正确的。是正确的。 A. 接口与抽象类是相同的概念接口与抽象类是相同的概念 B. 接口之间不能有继承关系接口之间不能有继承关系 C. 一个类只能实现一个接口一个类只能实现一个接口 D. 接口中只含有抽象方法和常量接口中只含有抽象方法和常量 P80页。页。45、下列、下列Java源文件代码片段中,源文件代码片段中, 是不正确的。是不正确的。 A. package t;public class A B. import java.io.*;package t;public class A C. import java.io.*;class Apublic class B D. import java.io.*;import java.awt.*;public class A P60页包的创建。页包的创建。BD 1、设、设 x = 2 ,则表达式,则表达式 ( x + + )3 的值的值是是 。 2、 方法是一种仅有方法头,没有具体方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中体和操作实现的方法,该方法必须在抽象类之中定义。定义。 方法是不能被当前类的子类重新定方法是不能被当前类的子类重新定义的方法。义的方法。 0抽象方法抽象方法最终方法最终方法3、设有数组定义:、设有数组定义:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70; 则执行以下几个语句后的输出结果则执行以下几个语句后的输出结果是是 。 int s = 0 ; for ( int i = 0 ; i A) /提示:提示:我我值值 A 值值 y=爱爱; z=情情;else y=我我;z=你你;System.out.print(+x+y+z); 答案:我爱你答案:我爱你public class zifuchuanpublic static void main(String args)String La=hello world, Lb=java,s1,s2,s3;s1=La.concat(Lb);s2=La.substring(6,11);s3=s1.replace(j,k);System.out.println(s1);System.out.println(s2);System.out.println(s3);s1=hello worldjavas2=worlds3=hello worldkava String s=“we are students”, tom=“我们是学生我们是学生”; int n1,n2; n1=s.length(); n2=tom.length();n1=15,n2=5s=“Java是面向对象的语言是面向对象的语言,JavaScript是脚本语言是脚本语言;n3=s.indexOf(Java);n4=s.lastIndexOf(Java);n3=0,n4=13s=“Java是面向对象的语言是面向对象的语言;n5=s.indexOf(Java);n6=s.lastIndexOf(Java);n5=0,n6=03、public class A public static void main(String args) A a=new A(); a.method(8); void method(int i) System.out.println(“int: “+i); void method(long i) System.out.println(“long: “+i); 程序可以编译运行,输出结果为 int:8 1编写一个求编写一个求 1!+2!+3!+ +10!public class Jiecheng public static void main(String arg) int i,j,sum=0,s=1; for(i=1;i10;i+) s=s*i; sum=sum+s; System.out.println(1!+2!+3!.+10!=+sum); class Xiti1_2 public static void main(String args) double sum=0,a=1,i=1; do sum=sum+a; i+; a=(1.0/i)*a; while(i=20); System.out.println(使用使用do-while循环计算的循环计算的sum=+sum); for(sum=0,i=1,a=1;i=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println(使用使用for循环计算的循环计算的sum=+sum); 2计算计算1+1/2!+1/3!+1/4!+的前的前20项和。项和。3、定义了一个学生的类、定义了一个学生的类 Student, (1)包括成员变量)包括成员变量“学号学号” 、 “班号班号” 、 “姓名姓名” 、 “性别性别” 、 “年龄年龄” 。 (2) 成员方法:成员方法: “获得学号获得学号” 、 “获得班号获得班号” 、 “获得性别获得性别” 、 “获得姓名获得姓名” 、 “获得年龄获得年龄” 。 (3)请为)请为 Student 类定义构造函数初始化所有的成员变类定义构造函数初始化所有的成员变量。量。 (4)增加一个方法)增加一个方法 public String toString()把把 Student 类类对象的所有信息组合成一个字符串。对象的所有信息组合成一个字符串。 (5)创建一个学生对象利用)创建一个学生对象利用toString输出该学生信息。输出该学生信息。1定义了一个学生的类定义了一个学生的类 Student,包括成员变量包括成员变量“学号学号” 、 “班号班号” 、 “姓名姓名” 、 “性别性别” 、 “年龄年龄” , 成员方成员方法:法: “获得学号获得学号” 、 “获得班号获得班号” 、 “获得性别获得性别” 、 “获得姓名获得姓名” 、 “获得年龄获得年龄” 。请为。请为 Student 类定义构类定义构造函数初始化所有的成员变量。增加一个方法造函数初始化所有的成员变量。增加一个方法 public String toString()把把 Student 类对象的所有信息组合成一类对象的所有信息组合成一个字符串。个字符串。程序源码程序源码public class StudentDemo public static void main(String args) Student s1= new Student(20050101,92,m,李军,20); System.out.println(s1.toString(); class Student private String studentId; private int classId; private String studentName; private char studentGender; private int studentAge; String getStudentId() 4、定义、定义Sphere类,完成对球操作。(类,完成对球操作。(P33)具体要求如下:)具体要求如下:(1)常量)常量PI,表示圆周率;,表示圆周率; 变量变量r,表示球的半径。,表示球的半径。(2)成员方法:)成员方法:getVolume(),功能为返回球的体积。,功能为返回球的体积。(3)构造方法:通过构造方法设置球的半径值。)构造方法:通过构造方法设置球的半径值。(4)创建一个类对象,设置半径值,通过调用)创建一个类对象,设置半径值,通过调用getVolume(),计算出体积并输出。计算出体积并输出。class Spherefinal float PI=3.14F;float r;Sphere(float r)this.r=r;float getVolume()float volume=4/3*PI*r;return volume;public static void main(String args)Sphere sp=new Sphere(10);System.out.println(the sphere volume is:+sp.getVolume();