您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > JAVA试题及答案-2
一、单项选择填空(每小题2分,共50分)1.下列不属于main方法的修饰词的是()A.publicB.voidC.staticD.final2.Java源程序经过编译后的文件类型是()A.字节码文件B.可执行文件C.目标文件D.中间文件3.下列关于运算符的结合性说法正确的是()A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++的前缀和后缀不一样B.单目运算符是左结合C.关系运算符是左结合D.赋值运算符是左结合4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A.继承性B.抽象性C.封装性D.多态性5.下面哪个是合法的布尔值()A.”false”B.falseC.0D.f6.下面哪个是Java语言中的关键字?()A.sizeofB.abstractC.InstanceOfD.Native7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?()A.do-while循环B.for循环C.while循环D.以上都不是8.以下哪个选项用以确定字符串的长度?()A.sizeB.lengthC.max_valueD.length()9.下面的语句哪个是正确的?()A.char=’abc’;B.longl=0xfff;C.floatf=0.23需加上f;D.double=0.7e-3;10.下列哪个类的声明是错误的?()A.finalabstractclassAB.finalclassAC.protectedclassAD.publicclassA11.下面程序段的执行结果是什么?()publicclassFoo{publicstaticvoidmain(String[]args){try{return;}finally{System.out.println(“Finally!”);}}}A.程序正常运行,但不输出任何结果B.程序正常运行,并输出FinallyC.编译能通过,但运行时会出现例外D.因为没有catch语句块,所以不能通过编译12.设a=0,b=-3,则表达式(a=1)&&++a=12?b:a的结果为()A.1B.2C.0D.-313.Java语言中,下列常量中是字符型常量的为()A.’\0xFFFF’B.’\u’C.’\\’转义字符D.”ABC”14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。()若是字节就是2个A、8B、16C、32D、6415.下面哪个选项是Java语言中的关键字?()A.toStringB.ClassC.instanceofD.Int16.以下哪个选项是字符串对象的长度?()A.sizeB.lengthC.max_valueD.length()17.下面程序段的执行结果是什么?()publicclassExp{publicstaticvoidmain(String[]args){try{intf=12;return;}catch(Exceptione){System.out.println(e.getMessage());}finally{System.out.println(“Finally!”);}}}A、程序正常运行,但不输出任何结果B、程序正常运行,并输出FinallyC、编译能通过,但运行时会出现例外D、因为catch语句块不对应,所以不能通过编译18.classMethodOverload{publicvoidsetValue(inta,intb,floatc){}}下列哪个方法定义是setValue的重载方法:()A.publicvoidsetValue(inta,intc,floatb){}B.publicvoidsetVar(inta,intb){}C.publicintsetValue(inta,floatc,intb){returna;}D.publicfloatsetValue(inta,intc,floatb){returna;}19.下列叙述中哪个是不正确的?()A、final类不可以有子类B、abstract类不可以有abstract的静态方法C、不可以同时用final和abstract修饰一个方法D、abstract类中可以有非abstract方法,但该方法不可以用final修饰20.阅读下列代码,publicclassPerson{int[]arr[]=newint[10][];publicstaticvoidmain(Stringargs[]){arr[1]=newint[10];System.out.println(arr[1][0]);}}根据上面的代码,下列正确的说法是()A、编译错误,提示无法从静态上下文中引用非静态变量arrB、编译时正确,运行时将产生错误C、输出0D、输出空21.下面对于字符串初始化的方法不正确的是?()A、Strings=”HelloWord!”;B、Strings=newString(“HelloWorld!”);C、ChardataStr[]={‘H’,‘e’,‘l’,‘l’,‘o’};Strings=newString(dataStr);D、Strings=’Helloworld!’;22.Swing与AWT的区别不包括:()A、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面23.容器JFrame及JPanel默认的布局管理器分别是()A、FlowLayout和GridLayoutB、BorderLayout和FlowLayoutC、FlowLayout和FlowLayoutD、CardLayout和BorderLayout24.在开发一个JAVAGUI程序时,通常都要对按键事件作出响应和处理,一般需要在程序的开头写上()语句。A、importjava.awt.*;B、importjava.applet.*;C、importjava.io.*;D、importjava.awt.event.*;25.每个使用Swing组件的程序必须有一个()A、按钮B、标签C、菜单D、容器二、填空题(每空1分,共21分)1.JAVA源程序是由包定义语句、导入语句、类定义、方法定义和执行语句等五部分组成的。2.JAVA程序可以分为两类,一类是JAVA应用程序,另一类是JAVA小应用程序。3.面向对象程序设计的三个基本特征分别是封装、继承、多态。4.算术运算异常、下表数组越界异常类都源于Exception这个父类。5.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承。6.多种异常处理是通过在一个try块后声明若干个catch语句(块)来实现的。7.方法的重载是指在同一个类中,声明方法名称相同但参数不同的多个方法。8.Java语言的各种数据类型之间提供两种转换:自动转换和强制转换。9.在类的构造方法和实例方法中,使用关键字this可以解决局部变量与实例变量同名的问题。10.this关键字代表当前对象,而super关键字是指当前的父类。11.抽象方法不能使用修饰符final和static修饰。12.在进行JavaGUI程序设计时,一般都要用到swing特性,因此必须在程序的开头写上__importjavax.swing.*;_______________语句。13.在Java语言中,包是组织Java程序中类的一种手段,其作用与Windows系统中的目录类似。三、简答题(第1、2题各3分,第3题4分,第4、5题各5分,共20分)1、简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别。For循环确定循环次数用此语句;Whiledo不确定循环次数,且先判断再执行;Doloop先执行再判断;2、简述静态成员与非静态成员的区别。静态是被所有对象共享。怎么访问静态,可以通过类名访问。非静态不能访问静态3、简述Java程序设计中四种权限修饰符的作用。Public共有类4、简述Java开发图形用户界面程序的流程。5、任意列举五个以上的关键字,并简要说明其作用。四、写程序结果(每题3分,共9分)1、classB{intx=100,y;publicvoidsetX(intx){this.x+=x;}publicvoidsetY(inty){y+=y;}publicintgetXYSum(){returnx+y;}}publicclassA{publicstaticvoidmain(String[]args){Bb=newB();b.setX(-100);b.setY(-200);System.out.println(“sum=”+b.getXYSum());}}程序结果为:sum=02、publicclassabc{publicstaticvoidmain(Stringargs[]){ABs=newAB(Hello!,IloveJAVA.);System.out.println(s.toString());}}classAB{Strings1;Strings2;AB(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}程序结果为:Hello!IloveJAVA.3、classMyExceptionextendsException{Stringmessage;MyException(Stringstr){message=str;}publicStringgetMessage(){returnmessage;}}abstractclassA{abstractintf(intx,inty)throwsMyException;}classBextendsA{intf(intx,inty)throwsMyException{if(x99||y99)thrownewMyException(“乘过操作99”);returnx*y;}}publicclassE{publicstaticvoidmain(Stringargs[]){Aa=newB();try{System.out.println(a.f(25,8));System.out.println(a.f(20,101));}catch(MyExceptione){System.out.println(e.getMessage());}}}程序结果为:200乘过操作99
本文标题:JAVA试题及答案-2
链接地址:https://www.777doc.com/doc-5950936 .html