• 89.50 KB
  • 2022-09-07 发布

《java编程初步》练习测试题

  • 14页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
《JAVA编程初步》练习测试题一、选择题1、关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是()。A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问 2、以下代码段将创建()个对象。Strings1="bc";Strings2="bc";A、0B、1C、2D、33、编译并运行以下程序,以下描述哪个选项是正确的()1:classX{2:protectedStringtoString(){3:returnsuper.toString();}4:}A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错4、下列关于修饰符混用的说法,错误的是()A、abstract不能与final并列修饰同一个类B、abstract类中不可以有private的成员C、abstract方法必须在abstract类中D、static方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是()A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout6、以下标识符中哪项是不合法的()A、BigMeaninglessNameB、$intC、1stD、$17、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)C、publicstaticintmain(String[]arg)\nD、publicvoidmain(Stringarg[])1、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空2、以下代码段执行后的输出结果为()intx=3;inty=10;System.out.println(y%x);A、0B、1C、2D、310、以下哪个表达式是不合法的()A、Stringx="Hello";inty=9;x+=y;B、Stringx="Hello";inty=9;if(x==y){}C、Stringx="Hello";inty=9;x=x+y;D、Stringx=null;inty=(x!=null)&&(x.length()>0)?x.length:011、编译运行以下程序后,关于输出结果的说明正确的是()publicclassConditional{publicstaticvoidmain(Stringargs[]){intx=4;System.out.println("valueis"+((x>4)?99.9:9));}}A、输出结果为:valueis99.99B、输出结果为:valueis9C、输出结果为:valueis9.0D、编译错误12、以下声明合法的是()A、defaultStrings;B、publicfinalstaticnativeintw()C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()13、关于以下application的说明,正确的是()1:classStaticStuff2:{ 3:staticintx=10;4:static{x+=5;}5:publicstaticvoidmain(Stringargs[])6:{7:System.out.println("x="+x);8:}9:static{x/=3;}10:}\nA、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1.classHasStatic{2.privatestaticintx=100;3.publicstaticvoidmain(Stringargs[]){4.HasStatichs1=newHasStatic();5.hs1.x++;6.HasStatichs2=newHasStatic();7.hs2.x++;8.hs1=newHasStatic();9.hs1.x++;10.HasStatic.x--;11.System.out.println("x="+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、while(inti<7){i++;System.out.println("iis"+i);}B、intj=3;while(j){System.out.println("jis"+j);}C、intj=0;for(intk=0;j+k!=10;j++,k++){System.out.println("jis"+j+"kis"+k);}\nD、intj=0;do{System.out.println("jis"+j++);if(j==3){continueloop;}}while(j<10);16、类Test1定义如下:1.publicclassTest1{2.publicfloataMethod(floata,floatb){}3. 4.} 将以下哪种方法插入行3是不合法的。()A、publicfloataMethod(floata,floatb,floatc){}B、publicfloataMethod(floatc,floatd){}C、publicintaMethod(inta,intb){}D、privatefloataMethod(inta,intb,intc){}17、类Test1、Test2定义如下:1.publicclassTest12.{publicfloataMethod(floata,floatb)throws3.IOException{}4.}5.publicclassTest2extendsTest1{6.7.}将以下哪种方法插入行6是不合法的。()A、floataMethod(floata,floatb){}B、publicintaMethod(inta,intb)throwsException{}C、publicfloataMethod(floatp,floatq){}D、publicintaMethod(inta,intb)throwsIOException{}18、关于以下程序段,正确的说法是()1.Strings1="abc"+"def";2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println("==succeeded");5.if(s1.equals(s2))6.System.out.println(".equals()succeeded");\nA、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行D、行4、行6都不执行19、以下说法哪项是正确的()1.classMyListener2.extendsMouseAdapterimplementsMouseListener{3.publicvoidmouseEntered(MouseEventmev)4.{System.out.println("Mouseentered.");}5.}A、以上代码可通过编译B、不能通过编译,因为没有实现MouseListener接口中的所有方法C、不能通过编译,因为类头定义不能分行D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常20、关于以下程序段的说法,正确的是()1:classMyListenerimplements2:ActionListener,ItemListener{3:publicvoidactionPerformed(ActionEventae){4:System.out.println("Action");}5:publicvoiditemStateChanged(ItemEventie){6:System.out.println("Item");7:}8:}A、可通过编译B、第2行产生编译错误C、第3行产生编译错误D、第5行产生编译错误21、通过调用newList(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。()A、该列表不支持复选B、该列表有10个选项C、根据需要该列表可能有垂直滚动条D、该列表支持10个可见选项22、以下哪项可能包含菜单条()A、PanelB、FrameC、AppletD、Dialog23、以下代码完成画线功能,指出所画线的颜色()1.g.setColor(Color.red.green.yello.cyan);2.g.drawLine(0,0,100,100);\nA、redB、greenC、yellowD、cyan24、关于以下代码所画图形的说明,正确的是()1.g.setColor(Color.black);2.g.drawLine(10,10,10,50);3.g.setColor(Color.red);4.g.drawRect(100,100,150,150);A、一条40像素长的垂直红线,一个边长为150像素的红色四方形B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形D、一条50像素长的垂直红线,一个边长为150像素的红色四方形25、编译并运行以下程序(命令:javaAB1),关于运行结果的描述以下哪个选项是正确的()classAB{publicstaticvoidmain(String[]args){longi=0;try{i=Integer.parseInt(args[0]);}catch(Exceptione){}switch(i){case0:System.out.println("0");case1:System.out.println("1");default:System.out.println("default");}}}A、编译出错B、打印出“0”C、打印出“1”D、打印出“default”26、若JAVA程序中定义了3个类,编译后可生成(   )个字节码文件。 A、4        B、3      C、2      D、127、下列不是合法标识符的是  (      )  A、$false    B、def        C、_object      D、a-class28、JAVA中采用Unicode编码,一个Unicode编码占用(  )字节。 A、16    B、1      C、2      D、429、不是构造函数特点的是(      )A、构造函数与类名相同        B、构造函数可带参数也可不带 C、构造函数带有返回类型      D、构造函数主要完成对类对象的初始工作\n30、下列哪一个不能加到容器(container)中  (      )A、aMenu  B、aComponent    C、aContainer      D、aPanel31、在JAVA中用于文本处理的类中,方法getText()的作用是(      )A、向文本区设置内容    B、编辑文本区的内容C、创建一个新的文本    D、取得文本中的内容32、JAVA.awt共定义了(   )种布局编辑类。A、3  B、4    C、5      D、2 33、若一个类要引用其他包中的public类,不可采用的方法是(   )A、直接引用public类    B、使用包名、类名为前缀    C、加载需要使用的类      D、加载整个包34、break中断语句,若在一个FOR语句中加入break语句,它可以  (    ) A、对FOR语句执行没有影响        B、中断本次循环,进入下一次循环C、退出FOR循环,执行FOR语句后面的语句    D、以上说法均不对35、下列变量名哪些合法,哪个不合法?() A、Ab?1B、1nameC、_intD、private36、System.out.println("Theskyisblue".substring(4,9));打印出什么结果?() A、skyis B、skyiC、skyisblueD、以上都不正确37、下面哪种StringBuffer方法类似于reverse()方法? A、append()B、insert()C、setCharAt()D、replace()38、Java不支持下面哪种继承?() A、多实现继承 B、多接口继承 C、单实现继承 D、单接口继承39、类和接口用来分别从其它类和接口派生能力地关键词是哪一个?() A、superB、extendsC、thisD、implements40、接口的方法语法格式默认为什么访问级? A、privateB、package C、publicD、protected二、填空题1、按钮图形用户界面中一个重要的基本组件,如何创建一个“操作”按钮,请写出一个语句:_______________________________。2、(int)(Math.random()*6)+1的功能是_______________________________。\n3、System.out.println(”output”+5+5);  System.out.println(5+5+”output”);这两条语句显示结果分别是______________________、___________________。4、画布是一个用来画图的矩形背景组件,它可以响应_________和__________事件。5、静态初始化器是对类进行_________,静态初始化器不是方法,所以没有方法名、返回值、参数列表。6、java程序可含多个类,每个类分_________和_________。7、创建时必须指明数组的_________,  java系统自动检查_________是否越界。8、一个JavaApplication程序有几类组成,且含有________为主类,是它是程序执行的入口点。9、Frame作为一个Application的最外层容器,向Frame窗口中添加和移出组件的方法是_________和_________。10、对象是。11、J2SE是为在基于的低端台式计算机中开发Java应用程序的解决方案。12、利用Applet小程序浏览器运行Applet文件时,在运行命令时需指定嵌入了Applet的。13、Java程序中包括注释、、成员方法定义和成员方法实现等Java应用程序构成单元。14、是指在Java虚拟机的支持下,能够利用Java解释器进行解释执行的Java语言程序。15、Java小程序Applet是运行在浏览器的中的Java应用程序。16、作为其他各种数据管理对象的公共父接口,定义了这些接口对象中具有公共特征的属性和方法。17、Java应用程序的和是衡量一个利用Java语言开发的软件系统性能的重要技术指标。18、Java应用程序的运行环境由Java虚拟机、和计算机操作系统构成。19、Java中基本数据类型封装对象的构造方法主要包括两种形式:一种是以该数据封装对象对应的Java基本数据类型为参数,另一种是以为参数。20、表示哈希表中的节点数量与当前系统能够容纳的最大节点数量的比值,它代表了平均检索时间。21、存储在中的元素在存储过程中已经按照元素的码值和排序方式对数据进行了排序。22、继承抽象列表对象、抽象集合对象和向量对象。23、通常是AWT组件对象中的原始对象类型。24、的作用是接受某个组件对象产生的事件消息,并根据实现接口中定义的方法对事件消息进行处理。\n25、实现事件监听器接口的对象必须通过监听器接口中定义的方法获取,从而可解析出事件中包含的详细信息。26、通常用于响应低层事件对象发出的事件消息。27、Swing组件对象是以为基础定义的。28、线程是应用程序执行体的一部分,必须有启动或终止。29、应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则处于下。30、线程是程序内部的具有的顺序代码流。31、上下文主要由三部分组成:处理机、CPU执行的代码和代码操作的数据。32、可利用该对象中定义的方法实现按照特定功能的线程集中式分组管理和统一状态调度。33、在对线程组的状态进行管理过程中,加入到某线程组中的所有线程对象均被视为。34、线程调度的意义在于处理机对处于可执行状态的多个线程对象进行的协调,以避免多个线程争用有限资源而导致应用系统死机或崩溃。35、Java中多个用户线程对共享资源的维护和管理是通过实现的。36、在多线程并发执行的情况下,线程保护问题是多线程应用程序设计过程中的敏感问题。37、守护线程具有的优先级,用于为系统中的其他对象和线程提供服务。38、在JDK平台中定义的技术用于在独立类型Java应用程序、JavaApplet和JavaCGI程序中对数据库进行访问。39、连接接口对象Connection表示之间的一个会话过程。40、Java语言规范将软件系统在运行中可能发生的各种错误划分为和错误,分别对应于一般性错误和致命性错误。三、判断题1、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。2、对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。3、有的类定义时可以不定义构造函数,所以构造函数不是必需的。4、类及其属性、方法可以同时有一个以上的修饰符来修饰。5、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.6、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。7、final类中的属性和方法都必须被final修饰符修饰。8、最终类不能派生子类,最终方法不能被覆盖。9、子类要调用父类的方法,必须使用super关键字。10、一个Java类可以有多个父类。\n11、如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。12、一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。13、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。14、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。15、用“+”可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。16、使用方法length()可以获得字符串或数组的长度。17、设String对象s="Hello",运行语句System.out.println(s.concat("World!"));后String对象s的内容为"Helloworld!",所以语句输出为Helloworld!18、创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。19、所有的鼠标事件都由MouseListener监听接口的监听者来处理。20、一个容器中可以混合使用多种布局策略。 21、Java中,并非每个事件类都只对应一个事件。22、一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。23、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。24、JavaApplet是由独立的解释器程序来运行的。25、JavaApplet只能在图形界面下工作。26、Java的字符类型采用的是ASCII编码。27、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关 。28、Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。29、子类的域和方法的数目一定大于等于父类的域和方法的数目。30、System类不能实例化,即不能创建System类的对象。31、用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。32、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。33、Vector类中的对象不能是简单数据类型。34、Java中的String类的对象既可以是字符串常量,也可以是字符串变量。35、容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。36、java.lang包是java语言的核心类库,包含了运行java程序必不可少的系统类。四、简答题1、Java由那些特点?2、编译后的Java程序能直接运行吗? 3、Java为什么能跨操作系统平台运行?\n4、Java和C++的不同之处有那些。5、如果在Command状态下输入:javaHelloJava出现以下结果:Badcommandorfilename可能是什么原因?若出现以下结果:Exceptioninthread"main"  java.lang.NoClassDefFoundError:HelloJava可能是什么原因?6、在HelloJava.class所在的路径下,输入命令:javaHelloJava.class看看会出现什么结果,为什么?7、Java虚拟机是实实在在的机器吗?8、如何改变Applet的背景色和前景色?9、试着将一个程序另存为另一个文件名,而程序名不变,再从新编译看看会有什么结果。为什么?10、假设有两个包含数值的字符串,分别为"10011"和"200.22",先将其转换为所代表的数值,然后相加,最后,再将其转换为字符串。11、什么是强制类型转换?在什么情况下需要用到强制类型转换?12、在使用while语句时应注意什么,为什么?13、字符串缓冲区的容量与长度之间的差别是什么?14、将StringBuffer转换成String的三种方法是什么?15、String类的concat()方法与StringBuffer中的append()方法都可以连接两字符串,它们之间有何区别?16、什么是最终类,如何定义最终类?试列举一最终类的例子。17、如何定义静态域?静态域有什么特点?如何访问和修改静态域的数据?18、什么是静态初始化器?它有什么特点?与构造函数有什么不同?19、最终域和易失域各自有何特点?如何定义它们?20、许多Java实现将包名映射为目录,你能想出实现包的其它方式吗?21、无名包是什么?22、为什么发布的包应具有唯一的包名?23、为什么Import指令只从指定包导入类型名,而不从该包的子包导入呢?例如,为什么import.java.awt.*;只从java.awt而不从java.awt.event导入类型名呢?24、如何定义方法?在面向对象程序设计中方法有什么作用?25、什么是抽象方法?它有何特点?如何定义抽象方法?如何使用抽象方法?26、如何定义静态方法?静态方法有何特点?静态方法处理的域有什么要求?27、简述最终方法、本地方法和同步方法的定义方法和使用场合。28、面向对象的程序有哪3个基本的特征?29、什么是继承?什么是父类?什么是子类?继承的特性给面向对象编程带来了什么好处?什么是单重继承,什么是多重继承?30、什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?\n31、解释this和super的意义和作用。32、父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?33、什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?34、Java程序如何实现多态?有哪些方式? 35、为什么多实现继承想法差而多接口继承地想法较好?36、什么是图形用户界面?它与字符界面有何不同?你是否曾使用过这两种界面?试列举出图形用户界面中你使用过的组件。37、简述图形界面的构成成分,它们各自的作用。38、Java程序的图形用户界面中有哪些用户自定义成分?39、图形用户界面由哪三类组成?40、设计和实现图形用户界面的工作主要有哪些?五、综合题1、编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出"WelcometoJavaWorld!"。2、编写一个JavaApplet,使之能够在浏览器中显示"WelcometoAppletworld!"的字符串信息。3、下列程序的输出结果会是什么? publicclassTest {   publicstaticvoidmain(Stringargs[])   {    System.out.println("3"+"5");System.out.println("3"+5);System.out.println(3+"5");    } }4、写出以下程序运行的结果: publicclassTest {  publicstaticvoidmain(Stringargs[])  {    floata=3.25F,b=-2.5F;    intc,d;    c=(int)(a*b);    d=(byte)386;\n    System.out.println("c="+c);    System.out.println("d="+d);  } }5、求一个整数的20%是多少,要求结果为整数(小数部分四舍五入),用以下表达式存在什么问题,应该怎样写表达式? inta,b; b=a*20/1006、编写一个程序,求圆的面积,圆的半径由命令行参数输入。 注:将命令行参数符给半径r(double型)使用的语句为:   r=Double.parseDouble(args[0]); 需要引入包java.lang.Double,只需在文件开头使用如下语句:import java.lang.Double;7、说出以下方法实现什么功能:publicstaticdoublemyFuction(doublea,doubleb,doublec) {  doubleresult;  result=(a=1&&a<=12?a:b) (3)f^(a>b) (4)(--a)<