java复习题.docx
- 文档编号:12187459
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:29
- 大小:33.16KB
java复习题.docx
《java复习题.docx》由会员分享,可在线阅读,更多相关《java复习题.docx(29页珍藏版)》请在冰豆网上搜索。
java复习题
一、单选题:
(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k的值是(B)。
intm=3,n=6,k=0;
while((m++)<(--n))++k;
A)0B)1C)2D)3
2.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。
A)i=i+2B)a[0]=7;
C)i++---j;D)a(0)=66;
3.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
4.设有定义inti=6;,则执行以下语句后,i的值为(C)。
i+=i-1;
A)10B)121C)11D)100
5.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
6.若已定义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)。
charch1='A',ch2='W';
if(ch1+2 A)'A'B)'B'C)'C'D)B 8.下列语句序列执行后,i的值是(D)。 inti=8,j=16; if(i-1>j)i--;elsej--; A)15B)16C)7D)8 9.关于JAVA语言的叙述,下面哪个是不正确的? ( B ) A、java语言提供的编译器不针对特定的操作系统进行编译。 B、字节码就是机器指令。 C、java虚拟机负责解释、运行字节码。 D、java内置对多线程的支持。 10.下面语句执行后,i的值是(B)。 for(inti=0,j=1;j<5;j+=3)i=i+j; A)4B)5C)6D)7 11.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。 A)x>y||x>zB)x! =y C)z>(y+x)D)x (x 12.下列语句序列执行后,i的值是(D)。 inti=16; do{i/=2;}while(i>3); A)16B)8C)4D)2 13.以下由for语句构成的循环执行的次数是(B)。 for(inti=0;true;i++); A)有语法错,不能执行B)无限次 C)执行1次D)一次也不执行 14.定义类头时能使用的修饰符是(C)。 A)privateB)staticC)abstractD)protected 15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值, 正确的switch语句是D)。 A)switch(x+y)B)switch(ch+1) {......}{......} C)switchchD)switch(a+b); {......}{......} 16.以下关于继承和接口的叙述正确的是(D)。 A、在Java中接口不允许被继承。 B、在Java中一个类只能实现一个接口。 C、在Java中一个类不能同时继承一个类和实现一个接口。 D、在Java中类只允许单一继承。 17.下列类定义中,不正确的是(D)。 A)classx{....} B)classxextendsy{....} C)staticclassximplementsy1,y2{....} D)publicclassxextendsApplet{....} 18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是(A)。 A)staticxx1;B)publicxx1=newx(int123); C)yx1;D)xx1=x(); 19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。 A)x(intm){...}B)voidx(intm){...} C)x(intm,intn){...}D)x(inth,intm,intn){...} 20.下列方法定义中,正确的是(A)。 A)intx(){charch='a';return(int)ch;} B)voidx(){...returntrue;} C)intx(){...returntrue;} D)intx(inta,b){returna+b;} 21.用于定义类成员的访问控制权的一组关键字是(D)。 A)class,float,double,public B)float,boolean,int,long C)char,extends,float,double D)public,private,protected 22.下面哪个函数是public void exam(){...}的重载函数? (B)。 A、public String exam( ){...}B、public void exam( int m, float f){...} C、public void exam(){...}D、public int exam(){...} 23.下列程序段执行后b3的结果是(D)。 booleanb1=true,b2,b3; 24=b1? b1: b2; A)0B)1C)trueD)false 25关于包的叙述,下面哪个是不正确的? ( A ) A、一个.java的源程序文件中可以有多条声明包的语句。 B、一个包中的多个类之间不可以重名,不同包中的类名可以相同。 C、声明包用关键字package。 D、一个包中可以包含多个类。 26.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。 A)j=i;B)j=(long)i;C)i=(int)j;D)i=j; 27.以下哪个是java的原始数据类型(C) A、IntB、BooleanC、floatD、String 28.哪些是将一个十六进制值赋值给一个long型变量[D] A.longnumber=345L; B.longnumber=0345; C.longnumber=0345L; D.longnumber=0x345L; 29.当Frame的大小被改变时,Frame中的按钮的位置也可能被改变,请问此时使用的是什么布局管理器[B] A.BorderLayout B.FlowLayout C.CardLayout D.GridLayout 30.下面的哪些答案可以用以表示八进制值8? [A] A.010 B.0x10 C.08 D.0x8 E.void 31.下面无效的标识符为: (A) A、nullB、lengthC、$Boy26D、_code 32.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的(B)。 A、ArrayListmyList=newObject()B、ListmyList=newArrayList() C、ArrayListmyList=newList()D、ListmyList=newList() 33.main()方法的返回类型是什么? [B] A.int B.void C.boolean D.static 34.给出以下关于一个使用适当的字符间距的字体的TextField的表达式 TextFieldt=newTextField("theyaregood",40);//40指的是像素 哪些叙述是对的? [D] A.被显示的字符串可以使用多种字体。 B.一行中最大的字符数是40 C.显示的宽度正好是40个字符宽。 D.用户可以编辑字符。 35关于垃圾收集的哪些叙述是对的? [B] A.程序开发者必须自己创建一个线程进行内存释放的工作。 B.垃圾收集将检查并释放不再使用的内存。 C.垃圾收集允许程序开发者明确指定并立即释放该内存。 D.垃圾收集能够在期望的时间释放被java对象使用的内存。 36.给出下面的代码 1publicclassTest{ 2intm,n; 3publicTest(){} 4publicTest(inta){m=a;} 5publicstaticvoidmain(Stringarg[]){ 6Testt1,t2; 7intj,k; 8j=0;k=0; 9t1=newTest(); 10t2=newTest(j,k); 11} 12} 在编译时哪行将导致一个错误? [D] A.第3行 B.第5行 C.第6行 D.第10行 37.Thread的方法resume()负责恢复哪些线程的执行? [D] A.通过调用stop()方法而停止的线程。 B.通过调用sleep()方法而停止运行的线程。 C.通过调用wait()方法而停止运行的线程。 D.通过调用suspend()方法而停止运行的线程。 //已经过期了 38.JDK提供的编译器是(D) A、java.exeB、javaw.exeC、javap.exeD、javac.exe 39.下面的哪些赋值语句是错的? [A] A.floatf=11.1; B.doubled=5.3E12; C.doubled=3.14159; D.doubled=3.14D; 40.给出下面的不完整的类代码 classPerson{ Stringname,department; intage; publicPerson(Stringn){name=n;} publicPerson(Stringn,inta){name=n;age=a;} publicPerson(Stringn,Stringd,inta){ //完成Person(Stringn,inta)的逻辑 department=d; } } 下面的哪些表达式可以加到构造方法中的注释处? [C] A.Person(n,a); B.this(Person(n,a));//构造函数的名字不能当方法名调用; C.this(n,a); D.this(name,age);//构造方法的参数也不能直接传实例变量名 41.给出下面的代码 publicclassTest{ voidprintValue(intm){ do{ System.out.println("Thevalueis"+m); }while(--m>10); } publicstaticvoidmain(Stringarg[]){ inti=10; Testt=newTest(); t.printValue(i); } } 输出将是什么? [C] A.8 B.9 C.10 D.11 42.类的设计要求它的某个成员变量不能被外部类直接访问。 应该使用下面的哪些修饰符获得需要的访问控制? [D] A.public B.不加修饰符 C.protected D.private//面向对象编程P196页的表格,private一行有错误 43.有如下数据声明: intx;Strings="123"; 将s转化为int型数据的语句,正确的是(A) A、x=Interger.parseInt(s);B、x=s.parseInt(s); C、x=x.valueof(s);D、x=String.parseInt(s); 44.给出下面的代码 publicclassPerson{ intarr[]=newint[10];//非静态属性 publicstaticvoidmain(Stringa[]){ System.out.println(arr[1]);//静态方法不能访问非静态属性 } } 哪些叙述是对的? [A] A.编译时出错。 B.编译时正确而运行时出错。 C.输出0。 D.输出null。 45.下面(B)是合法的Java标识符。 A、#_poundB、_underscoreC、5InterstateD、class 2.下面(D)赋值语句不会出现编译警告或错误。 A、floatf=1.3;B、charc="a";C、byteb=257;D、inti=10; 46.编译一个定义了两个类和三个方法的Java源程序文件,总共会产生(D)个字节码文件。 A、5个字节码文件,以“.java”为扩展名B、2个字节码文件,以“.java”为扩展名 C、5个字节码文件,以“.class”为扩展名D、2个字节码文件,以“.class”为扩展名 47.关于下面程序,(A)的结论是正确的。 classJ_SubClassextendsJ_Test{} publicclassJ_Test{ J_Test(inti){ System.out.println(i); } publicstaticvoidmain(String[]args){ J_SubClassa=newJ_SubClass(); } } A、不能通过编译,因为类J_Test没有定义无参数的构造方法 B、不能通过编译,因为类J_SubClass没有定义无参数的构造方法 C、不能通过编译,因为没有实现J_SubClass(inti)的构造方法 D、可以成功通过编译 48.关于java中的类及其成员的访问控制权限,以下说法不正确的是(C) A、java为类提供两种访问控制权限: public和缺省。 B、java为类中成员提供4种访问控制权限: public、缺省、private、protected。 C、被private修饰的成员只能被同一个包中的类访问和修改。 D、被protected修饰的成员可被三种类所引用: 该类自身、同一个包中的其他类、在其他包中的该类的子类。 49.下面(B)是合法的Java标识符。 A、#_poundB、_underscoreC、5InterstateD、class 50.下面(D)赋值语句不会出现编译警告或错误。 A、floatf=1.3;B、charc="a";C、byteb=257;D、inti=10; 51.编译一个定义了两个类和三个方法的Java源程序文件,总共会产生(D)个字节码文件。 A、5个字节码文件,以“.java”为扩展名B、2个字节码文件,以“.java”为扩展名 C、5个字节码文件,以“.class”为扩展名D、2个字节码文件,以“.class”为扩展名 52.有关类的说法,正确的是(B)。 A、类具有封装性,所以类的数据是不能被访问的 B、类具有封装性,但可以通过类的公共接口访问类中的数据 C、声明一个类时,必须使用public修饰符 D、每个类中必须有main方法,否则程序无法运行 53.执行完下面程序片段后,(B)的结论是正确的。 inta,b,c; a=1; b=2; c=(a+b>3? a++: b++); A、a的值是2,b的值是3B、a的值是1,b的值是3 C、a的值是1,b的值是2D、c的值是false 54.将类的成员的访问权限设置为默认的,则该成员能被(A)。 A、同一包中的类访问B、其他包中的类访问 C、所有的类访问D、所有的类的子类访问 55.下面的方法重载,正确的是(C)。 A、intfun(inta,floatb){}B、floatfun(inta,floatb){} floatfun(inta,floatb){}floatfun(intx,floaty){} C、floatfun(floata){}D、floatfun1(inta,floatb){} floatfun(floata,floatb){}floatfun2(inta,floatb){} 56.下面关于继承的说法,正确的是(D)。 A、超类的对象就是子类的对象B、一个类可以有几个超类 C、一个类只能有一个子类D、一个类只能有一个超类 57.下面关于多态性的说法,正确的是(C)。 A、一个类中不能有同名的方法13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。 A、java.io.RandomAccessFileB、java.io.PrintWriter C、java.io.PrintStreamD、java.io.PrintOutputStream 58.关于事件监听,正确的是(C)。 A、一个事件监听器只能监听一个组件 B、一个事件监听器只能监听处理一种事件 C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上 D、一个组件只能引发一种事件 } A、上面程序含有编译错误B、上面程序在运行时会产生一个运行时异常 C、上面程序会正常运行,但不产生任何输出D、上面程序输出“1” 59.用“newFileOutputStream(“data.txt”,true)”创建一个FileOutputStream实例对象,则下面(B)说法是正确的。 A、如果文件“data.txt”存在,则将抛出IOException异常 B、如果文件“data.txt”存在,则将在文件的末尾开始添加新内容 C、如果文件“data.txt”存在,则将覆盖掉文件中已有的内容 D、如果文件“data.txt”不存在,则将抛出IOException异常 60.改变当前容器的布局方式,(A)。 A、调用方法setLayout B、容器一旦生成,它的布局方式就不能改变 C、调用方法setLayoutManager D、调用方法updateLayout 二.填空题 1.构造函数_没__有返回值。 2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和___double_______两种具体类型。 3.创建类对象的运算符是__new。 4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__if(n%13! =0){renturnfalse;}_________。 5.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。 6.定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述。 7.在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。 8.表达式3/6*5的计算结果是____0____。 9.下面是一个类的定义: publicclassMyclass___________ { intx,y; Myclass(inti,___=0____)//构造函数 { x=i; y=j; } } 10.下面是一个JavaApplication的主类的定义,其功能是输出所有命令行参数。 importjava.io.*; publicclassMyClass { publicstaticvoidmain(Stringargs[]) { if(args.length! =_0__) for(inti=0;i System.out.println(_"i="+i__________); elseSystem.out.println(没有命令行参数); } } 11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名: importjavaawt.*; importjavaapplet.*; publicclassmyprogramextendsApplet//定义小程序的主类 { Aa;Bb; public_____myprogram___init() {a=newA();b=___new__B();} } 12.Java的复合数据类型有: 类、数组和___接口____等。 Java的简单数据类型有: 数值类型(整形和浮点类型),自负类型和布尔类型 13.表达式3/6*5的计算结果是_0_______。 14.定义初值为10的10次方的长整型变量lvar的语句是: _______longlvar=1*e10___________________。 15.顺序结构、分支结构(或称选择结构)、__循环结构__________是结构化程序设计的三种基本流程控制结构。 16.以下方法m的功能是求两参数之积的整数部分。 intm(floatx,floaty) {_______k=(int)x*y___________;} 17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。 18.下面的程序段定义了一个Circle类,成员方法area完成圆形面积的计算,构造方法完成圆形宽度的设置,请完成该程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 复习题