还剩57页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《程序设计》课后练习答案Java第一章概述Java
一、选择题(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令A.javacB.javaC.javadoc()不是程序中有效的注释符号
2.D JavaA.//B./.*/C./*.
73.D.*.7()不是语言的特点
4.B Java面向对象A.自动检查语法错误B.跨平台C.解释执行
5.D.编译器会将程序转换为()
6.Java Java C可执行代码A.目标代码B.字节码C.机器代码
7.D.源文件的扩展名是()
8.Java DA..clas.B..ja.C..ja.D..java
二、简答题的跨平台的含义是什么?为什么可以跨平台?
1.Java Java语言的一个非常重要的特点就是平台无关性它是指用编写的应用程序编译Java Java后不用修改就可在不同的操作系统平台上运行之所以能平台无关,主要是依靠Java Java虚拟机()来实现的是一种抽象机器,它附着在具体操作系统之上,本身具有一JVM JVM套虚机器指令,并有自己的栈、寄存器组等编程人员在编写完程序后,编译器将源代码文件编译后生成字节Java Java Java Java码文件(一种与操作系统无关的二进制文件)字节码文件通过虚拟机()里的类Java JVM加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行以卜图展示了程序从编译到最后运行的完整过程Java简述语言的特点
2.Java具有以下特点Java)、简单性1语言的语法规则和语言非常相似,只有很少一部分不同于语言,并且还JavaCC Java舍弃了语言中复杂的数据类型(如指针和结构体),因此很容易入门和掌握C2)、可靠性和安全性class Parent{class Childextends Parent{6public static void mainString[]args{〃第一行Parent p1=new Child;〃第二行Parent p2=new Parent;〃第三行Child c1=new Child;〃第四行Child c2=new Parent;第一第二行A.B.第三Q.第四行C在中,某类方法使用下列访问修饰符修饰后,可以被其的子类访问J a v aB C在语言中,如果你有下面的类定义Javaabstract classShape{abstract void draw;class Square extends Shape{以下描述正确的是B一切成功编译A.可以编译不能编译
3.Shap..Squar.,可以编译不能编译C.Squar.Shape者不能编译
38.D.Square,Shape|T分析下列代码
39.Javaclass A{public static void mainString[]args{method;}static voidmethod{System.out.println,,HelloH;System.exitO;System.out.printlngood-bye;}编译运行后,输出结果是AA/Hello.B.good-bye后面代码不能编译
40.C.Hello.Jgood-bye.D.下表是修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在final错误,请选择正确的对应关系C概念作用变量不能再产生子类1A方法一旦赋值,就不能更改2B类不能在子类中覆盖3C
41.D.1-.2~.3-A有以下程序public classConstOver{public ConstOverint x,int y,int z{}下面哪个方法重载了上面的构造方法?ConstOverBA.protecte.intConstOve...}B.privat.ConstOve.in.z.in.y.byt.x..}C.publi.objec.ConstOve.in.x.in.y.in.z..}
42.D.publi.voi.ConstOve.byt.x.byt.y.byt.z..}有以下程序class BaseClass{private floatx=
1.0f;public floatgetVar returnx;class Subclassextends BaseClass{private floatx=
2.Of;//insert codehere}下面哪个方法加到程序中的位置”是有效的重定义父类的方法“insert codehere B A.protecte.floa.getVa...retur.x;}B.publi.floa.getVar...retur.x;}C.protecte.floa.doubl.getVar...retur.x;}
43.D.publi.floa.getVarfloa.f..retur.f;}指出下列程序运行的结果
44.Bpublic classExample{String str=new Stringngood;char[]ch={a,,b,,,c,};public staticvoid mainString[]args{Example ex=new Example;ex.changeex.str,ex.ch;System.out.printex.str+and;System.out.printex.ch;}public voidchangeString str,char ch[]{str=test ok;;ch
[0]=g}下列哪些语句关于内存回收的说明是正确的?
45.B.程序员必须创建一个线程来释放内存;A内存回收程序负责释放无用内存;B.内存回收程序允许程序员直接释放内存;
46.C.内存回收程序可以在指定的时间释放内存对象
47.D.创建一个名为的文”件,该文件中只有一个可被整个工程中的所有类访问MyClass.java的类,那么该类的正确声明应为C48下列叙述中,错误的是A.内部类的名称与定义它的类的名称可以相同A内部类可,修饰B..abstrac内部类可作为其他类的成员C.内部类可访问它所在类的成员
49.D.用于在子类中调用被重写的父类方法的关键字是
50.B A.thisB.superC.This
51.D.Super下面程序输出结果是52,A public class Delta{static booleanfoochar c{System.out.printc;return true;public staticvoid main String[]argv{inti=0;for fooTV;fooBi2;fooC{;i++fooCD;}}}A.ABDCBDCBB.ABCDABCD.编译错误C.运行时异常
53.D下列修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问
54.B.无修饰符A.privat.B55给出下列代码,如何使成员变量被方法直接访问?m fu nC class Test{private int m;public staticvoid fun{■■■.•改A..privat.inC..privat.in..^..改
56.D..privat.in.in.m已知有下列类的说明,则下列哪个语句是正确的?public classTest{A privatefloat f=
1.0f;intm=12;static intn=1;public staticvoid mainString[]args{Test t=new Test;A.t.f.B.this.n;
57.C.Test.m.D.Test.f;下列代码的执行结果是
58.Apublic classTest{public voidaMethod{static inti=0;;i++System.out.printlni;public staticvoid mainString[]args{Test test=new Test;test.aMethod;编译错A..B.O运行成功,但不输出
59.C..D.若特快订单是一种订单,则特快订单类和订单类的关系是使用关包含关系CA..B.继承关无关系60C.D.下列代码中,将引起一个编译错误的行是D1public classTest{2intm,n;3public Test{}4public Testint a{m=a;}5public staticvoid mainString[]args{6Test t1,t2;7int j,k;8j=O;k=O;9t1=new Test;10t2=new Testj,k;1112}・・第•行A.B・.行
61.C…D..1下列叙述中,错误的是D父类不能替代子,子类能够替代父类A..B.子类继承父父类包含子类C.D.
二、程序阅读题.写出以下程序的结果1public classTest{private staticvoid printArrayint[]arr{forinti=0;iarr.length;i++,System.out.printarr[i]+;System.out.println n;“private staticvoid changeValueintvalue{value*=2;private staticvoid changeValueint[]arr{forinti=0;iarr.length;i++arr[i]*=2;public staticvoid mainString[]args{int[]arr={1,2,3,4,5;changeValuearr[O];printArrayarr;changeValuearr;printArrayarr;运行结果123,4,5,2,4,6,8,10,指出以下程序的错误,并改正
2.public classMain{public staticfinal Aobj=null;public staticvoid mainString[]args{obj=new A;class A{错误的对象不能改变final、指出以下程序的错误,并改正3public classTest{public staticvoid mainString[]args{MyClassobj=new MyClass;;obj.lnfo+=,World!”System.out.printlnobj.Info;class MyClass{;public Stringlnfo=Hellopublic MyClassStringInfo this.lnfo=lnfo;}错误找不到匹配的构造方法MyClassobj=new MyClassO;、指出下面程序的错误,并改正4abstract classAnimal{你想说“什么就说吧!;}class Dogextends Animal{public void saySomething{我现在“有了第二职业捉耗子!”;System.out.println}public classTest{public staticvoid mainString[]args{Animal ani=new Dog;ani.saySomethingO;错误抽象方法不能有方法体
二、简答题public abstractvoidsaySomething.简述继承、方法重写和抽象类如何支持多态性?略
1、解释什么是方法重载和重定义,并举例说明他们的作用略2说明抽象类与接口的区别略
3.什么是垃圾回收,它是如何工作的?什么是?略、举
4.finalize5例说明关键字的作用?(略)this12举例说明中枚举类型的用法(略)
6.java13第四章异常和异常处理
一、选择题以下和是的直接子类
62.A CThrowable63能单独和块一起使用的块是
64.finally A65下列异常类中,在多重中同时使用时catch异常类的块应该最后列出?Ccatch66程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于使用10,语句显式地引发异常,异常输出信息为“语句为throw somethingwrong!”,CA.i.i
10.thro.ExceptionHsomethin.wrong!;B.i.i
10.thro.Exceptio..somethin.wrong!;C.i.i
10.thro.ne.Exceptionsomethin.wrong!M;
67.D.i.i
10.thro.ne.Exceptio..Hsomethin.wrong!n;分析下列代码
68.Javaclass A{public staticvoid mainString[]args{method;staticvoidmethod{try{System.out.printlnHellon;System.exitO;}finally{System.out.printlnHgood-bye;}}编译运行后,输出结果是A代码不能编译C.Hell.D.good-bye关于捕获错误的语法的下列描述正确的是
69.try-catch-finally C.必须.搭配使用A.tr.catc可以单独使用B.tr.可以搭配使用C.try-finalL块后如果定义,则不能再定•块
70.D.t..finally.catc在中,假定有一个包含引起异常不是一个的代码的方法,Java RuntimeException用什么方式告诉方法的调用者要捕获该异常B14考虑下列代码JAVAclass A{public staticvoid mainString[]args{try{System.out.printlnHello,World!;}这段代码错误的原因是Ao没.块A..catc.Jinall没有抛出异常的代码不能出现.代码块内B..tr如果没块而使会总是抛出异常
71.C..catc..try,main...没
72.D.clas.throw.lOException考虑一下代码,编译运行之后,会D String s=null;System.out.printlns.charAt0;输A..null没有输出B..编译错误C编译成功,但是运行时异常研究下面的代码
73.D..NullPointerExceptio.J a v apublic class testException{public staticvoid mainString[]args{inta[]={0,1,2,3,4};int sum=0;tryforinti=1;iv6;i++sum=sum+a[i];System.out.printlnsum=+sum;}catchArraylndexOutOfBoundsException e{数组越界;System.out.println}finally{程序结束;System.out.println}输出结果将是Co数组越界A1程序结束.程序结束B.1数组越界C.程序结束程序结束D.15第五章包和字符串java.lang
一、选择题编程所必须的默认引用包为
74.Java B」包A.java.sy..B.java an..以上都不是
75.C.java.ne..D在中,所有类的根类是Java A76设有下面两个赋值语句x1=lnteger.parselnt,123;x2=lnteger.valueOfC123M.intValue;下述说法正确的是Do型变量类的对象A.X..in..x.Jntege.型变量,类的对象Bx.in.x.lntege,均.类的对象77Cx
1.X.Intege、均型变量D.x1x..in.在中,存放字符串常量的对象属于类对象Java BC.StringBuffe.D.Vector已知如下定义String s t r=I;下面表达式是合法的love DA.cha.c..str[O].B.intle..str.length;;C.Strin.t♦.str.delete
1.
2.D.st.+.China”设有以下程序段,执行后,屏幕输出A oString s1=nl loveChina”;String s2=new Strings1;if s1==s2System.out.printlnn==n;if s
1.equalss2==trueSystem.out.print,,equals;不输出A.equal.B.=.C.=.equal.D.下列方法中,不属于类的方法是String D o
78.A.toLowerCas..B.replac..C.charA..D.appen.有下列程序public classaa{public staticvoid mainString[]args{Strings=,,
18.03n;trydouble numberl=Double.parseDoubles;System.out.printnumber1;int number2=Integer.parselnts;System.out.printlnH+number2;}catchNumberFormatExceptionnfe{System.out.println Sorry;16)执行结果是()C程序编译错误A.180B.Soir.C.
18.
0.Sorr.D.从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检Java查的编程语言具有更高的可靠性和安全性)、面向对象3是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点Java)、平台无关和解释执行4语言的一个非常重要的特点就是平台无关性它是指用编写的应用程序编译Java Java后不用修改就可在不同的操作系统平台上运行之所以能平台无关,主要是依靠虚拟机()Java Java JVM来实现的编译器将源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)Java Java字节码文件通过虚拟机()里的类加载器加载后,经过字节码校验,由解释器解释成当前电JavaJVM脑的操作系统能够识别的目标代码并最终运行下图展示了程序从编译到最后运行的完整过程Java)、分布式5分布式包括数据分布和操作分布,而支持客户机/服务器计算模式,因此也支持这两种分Java WWW布式)、多线程6在两方面支持多线程一方面,环境本身就是多线程的若干个系统线程运行负责必要的无Java Java用单元回收,系统维护等系统级操作;另一方面,语言内置多线程控制,可以大大简化多线程应Java用程序开发如果操作系统本身不支持多线程,的多线程特性可能就表现不出来Java
三、综合编程题.请编写一个简单的程序能够输出“这是我的第一个程序”(注意为程序添加合适1Java Java的注释和文档注释)*第一个程序java*/public classDemo{/**方法,程序的起点*main*/()public staticvoid mainString[]args{〃向控制台输出(这是我的第一个程序)System.out.printlnJava第二章语法基础Java17第六章包和字符串java.lang
一、选择题下列()集合不能含有重复元素
79.A当元素个数固定时,使用()集合查找效率最高D你希望存储少量数据并能快速访..你并不需要排序这些数据,那种数据结构最适合这种需求?()D数组
81.A.TreeSe.B.HashMa.C.LinkedLis.D.欲构造类的一个实例,此类继承了接A rr ay Li s t List口,下列哪个方法是正确的?()B()A.ArrayListmyList=ne.Object;()B.Lis.myList=ne.ArrayList;()C.ArrayListmyList=ne.List;()
82.D.Lis.myList=ne.List;关于和类,判断下列那种说法是H as hM a p Tr ee Map正确的?()A它们都能方便地定位映射中的值对象A.它们者口实现接口B..SortedMa.它们都能高效地按照顺序遍历键C..以上说法都不对
83.D.下列哪个不是接口所定义的方法?()84Iterator D(((()
85.A.hasNext.B.next.C.remove.D.nextElement关于链表结构,陈述错误的是哪个?()B链表可动态增长A.在链表中查找对象是最有效的B.链表中的元素可以重复C.通常情况下,向链表中插入元素的效率高于.中插入元素的效率
86.D..ArrayLis语言的集合框架类定义在()语言包中
87.Java B88集合如何处理重复的元素?()
89.Set B如果试图.集合中添加一个与集合中已有元素值相同的元素时,将抛出异常如果试图.集合中添加一个与集A.,Se B..Se合中已有元素值相同的元素时.方法返回.ad false如果试图.集合中添加一个与集合中已有元素值相同的元素时,将发生编译错误C..Se,可以集合中添加一个与集合中已有元素值相同的元素
90.D.Set下列哪项是正确的?()
91.D.是集合继承体系中根类A.Collecti.接口中提供.方法B.Collectio.enumerato方法返类的对象C.interato..Vecto.实接口的类对象中,每个元素的值均不相等给定下列代码
92.D..Se.javaimport java.util.*;public classLetterASort{public staticvoid mainString[]args{18ArrayListString strings=new ArrayListString;strings.addaAaAH;strings.addnAaAH;strings.addnaAaH;strings.addnAAaa,f;Collections.sortstrings;;forStrings:strings{System.out.print s+””}}对该程序编译运行,结果是C o编译失败A.
8.a Aa AaAaA AaaAa AC.AAaaAaAaAaaAaAD.AaAAAaaaAaAaAaE.aAaAaAaAaAAAaa.运行时抛出异常
93.F给定下列代码java//在这里插入private Nmin,max;public NgetMin{return min;}public NgetMax{return max;}public voidaddN added{if min==null||added.doubleValue min.doubleValue min=added;if max==null||added.doubleValue max.doubleValue max=added;选择以下哪两行中任一行插入指定位置,程序可以通过编译ACA.publi.clas.MinMax..extend.Numbe..{B.publi.clas.MinMax..extend.Numbe..{C.publi.clas.MinMax..extend.Objec..{D.publi.clas.MinMax...{E.publi.clas.MinMax..extend.Objec..{
94.F.publi.clas.MinMax..extend.Intege..{给定下列代码javaimport java.util.*;public classOld{public staticObject getListlist{return list.get0;以下选项中,哪三个能编译成功?ADE A.Objec...Old.ge.ne.LinkedList;B.Objec...Old.getne.LinkedList;C.Strin...Old.getne.LinkedListString;D.Objec...Old.getne.LinkedListObject;
95.E.Strin...StringOld.getne.LinkedListString;给定下列代码javapublic voidtakeListList extendsString list{〃在这里插入将以下哪些语句插入指定位置,能够编译成功?DA.list.add,,STRINGH;B.lis..ne.ArrayListString;C.lis..ne.ArrayListObject;D.Strin...list.getO;
96.E.Objec...list;给定下列代码javapublic classScore implementsComparableScore{private intwins,losses;public Scoreintw,int1{wins=w;losses=1;}public intgetWins{return wins;}public intgetLosses{return losses;}public StringtoString{return n+wins+J+losses+H;//在这里插入代码以下哪个方法能完成这个类?B这里是实现代.*/}A.publi.intcompareToObjec.o.{/.这里是实现代.*/}B.publi.intcompareToScor.other.{/.C.publi.in.compareScor.s1,Scor.s2{/.i2CBM^0l^.*/}心冶©二仁这里是实现代.*/}给定下列代码97P1100^ae0*1,03602{/.javapublic staticvoid appendListlist{list.addpublic staticvoid mainString[]args{“0042”;Listlnteger intList=new ArrayListlnteger;appendintList;System.out.printlnintList.get0;对该程序编译运行,结果是D oA.42B.0042运行时发生异常C.编译错误D.
2098.
二、阅读程序,并填空有以下程序public classGenT{private T object;public Gen_Tobject{this.object=object;}public TgetObject{return object;public staticvoid mainString[]args{GenStringstr=new GenStringu[answer]”;Genlnteger intg=new Genlnteger42;System.out.printlnstr.getObject++intg.getObject;}该程序运行结果为请将以下选项填入下划线内注意每个选项均可重复选择42,A.GenTB.GenC.GenD.E.T有以下程序import java.util.*;public classMylnt implementsComparable{private inti;public Mylntinti{this.i=i;}public StringtoString{return Integer.toStringi;}public intcompareToObject o{Mylnt i2=Mylnto;returnpublic staticvoid mainString[]args{ArrayListMylnt list=new ArrayListMylnt;list.addnew Mylnt2;list.addnew Mylnt1;Collections.sortlist;System.out.printlnlist;}该程序运行结果为请将以下选项填入下划线内[1,2],A.implementsB.ObjectC.Comparable
210.protected E.public F...i
2.i G.il.compareMyln.o.Myln.i2J.compareObjec.o.Objec.i2K.compareToMyln.oL.compareToObjec..
一、选择题.下面哪个单词是语言的关键字9J av aB下面属于关键字的是
11.Java Do12在启动应用程序时可以通过方法一次性地
13.Java main传递多个参数如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用把整个参数B单引,双引・14A.B A@.Lh引起来下面哪个是语言中正确的标识符
15.Java BD0A.
5.B.$.语言中,Java中,av a中,ava
17.下面哪个语句能定义一个字符变量chr BoA.cha.chr=abcd.B.cha.chr=\uabcd;iS.C.cha.chr.abc.^.D.cha.chr=\uabcd;
19.下面哪个是对字符串s1的不正确定义CDoA.Strin.sL”abc.n;B.Strin.s1;
20.C.Strin.s1=,abc.
0.D.Strin.s
1.abn c.n;下面哪个范围是型的取值范围
21.charCo
22.A.-
25..
25.B..2A
15..2A1下面哪条语句不能定义一o
23.个型的变量24f.lAo.afltoa.f
1.
3.141f51E1A.BBD.floa.f1=
3.
1.C.floa.fl=
3.
1415.D.f1=
3.14F下列运算结果为的是
25.float C
26.A.100/
1.B.100*
1.C.
100.0+
1.D.100-10Do数组中可以包含什么类型的元素
27.人向.
6.夕丽・数口以上都可以Java中定义数组名为x yz个数B哪项可以得到数组元素的o
28.A.xyz.length..B.xyz.lengt.C.lenxyz.D.uboundxyz下面哪条语句定义了个元素的数组
29.3AoA.in...a={20,30,40}.B.in...]=ne.int
3.C.in.[
3.array.D.in...arr;
二、简答题有哪些基本的数据类型?写出这些基本数据类型所占用的最大空间用字节
1.Java描述数字型具体又分为1number,整型整型又包括a.integers,
①字节整数byte,8bits
②短整数short,16bits
③整数int,32bits
④长整数long,64bitsprivate ArrayListal;public NumberListint[]value{〃将数组中的元素添加到中value a!al=n ewArrayListO;forinti=0;ivalue.length;++i al.addvalue[iDpublic Maplnteger,lnteger count{〃统计中健个元素出现的次数,并将“元素值,这个元素出现的次数”作为键值对保存到对象中al MapHashSetset1=newHashSet;set
1.addAII al;HashMap hm=newHashMap;Iterator it=set
1.iterator;while it.hasNext{intn=intit.next;hm.putn,0;it=al.iterator;while it.hasNext{intn=intit.next;hm.put n,int hm.getn+1;returnhm;publicstaticvoid mainString[]args{int[]arr={1,3,2,4,7,1,1,3,4,8;NumberList nl=newNumberList arr;Maplnteger,lnteger hm=nl.count;System.out.println hm;第七章输入输出和序列化
一、选择题下面关于的说法哪个正确?S yste m.o ut ABC A.System.ou.^—.Printstream.是一B.System.ou.OutputStreamC.System.ou.^—.FilterOutputStream不是一
99.D.System.ou..PrintStream下面哪个语句可以建立文件的字节”输入流?file.txt DA.lnputStrea.i..ne.lnputStreamfile.txtHB.lnputStrea.i..ne.FileReader,file.txtHC.FilelnputStrea.i..ne.FileOutputStreamfile.txtn
100.D.FilelnputStrea.i..ne.FilelnputStreamCfile.txt当前文件系统中已经存在了文件,该文件包涵有文本,代码片段如下file.txt ASCIItryFile f=new Filefile.txtH;outputstream out=new FileOutputStreamf,true;}catch lOException{}结果是什么?B代码不能编译A.代码可以编译并运行,对该文件不会有改变B.代码可以编译并运行,并将该文件的长度设置C..0,抛出异常,因为该文件没有关闭
101.D代码可以编译运行,并从文件系统中删除该文件
102.E.下面哪个选项可以将字”符写入文件“hell的末尾?file.txt BA.OutputStrea.out.ne.FileOutputStrea.Mfile.txtH;;Out.writeBytes“helloB.OutputStreamos.ne.FileOutputStrea.Cfile.txf.true;DataOutputStream out=new DataOutputStreamos;Out.writeBytes hello;C.OutputStreamos.ne.FileOutputStrea.,,file.txtn;DataOutputStream out=new DataOutputStreamos;Out.writeBytes hello;D.OutputStreamos.ne.OutputStrea.file.txt.true;DataOutputStream out=new DataOutputStreamos;Out.writeBytes hello;哪个类是类构造器的合法参FilterOutputStream数?BA.InputStreamB.OutputstreamC.FileD.RandomAccessFile下面关于的说法哪个不正确?()java.io.Serializable C一个对象在一被序列化后,可以在另外一.被反序列化A..JV..JV24声明.的数据成员不能被序列化和反序列化B..transien声明的数据成员,因为该数据成员是对象内部的成员,所以仍然可以被序列化C..stati.如果一个父类可以被序列化,则所有继承该类的子类也可以被序列化分析下面给出的代码结果是什么?
104.D.import java.io.*;public classForest implements Serializable{private Treetree=new Tree;public staticvoid mainString[]args{Forest f=new Forest;try{FileOutputStreamfs=new FileOutputStreamForest.ser;ObjectOutputStreamos=new ObjectOutputStreamfs;os.writeObjectf;os.close;}catch Exceptionex{ex.printStackTrace;}class Tree{结果是什么?B代码不能编译A..代码可以编译,运行时抛出异常B一实例被序列化C.Fores.一..实例,实例都被序列化i
05.D.Fores.Tre分析下面的代码1import java.io.*;2public classFoo implementsSerializable{3public int x,y;4public Foointx,int y{this.x=x;this.y=y;}5private voidwriteObjectObjctOutputStream sthrows IOException{6s.writelntx;7s.writelnty;89private voidreadObjectObjectlnputStream sthrows lOException,ClassNotFoundException{10//insert codehere1112}下面给出的选择中,在行处插入哪些代码,可以使该类实现正确的序列化和反序列10化DA.s.defaultReadObject;25B.thi..s.defaultReadObjectzC...s.readlnt...s.readlnt;iO
6.D...s.readlnt...s.readlnt;假定下面代码中的和方法可以正确的执行,分析下serializeBanana deserializeBanana面的代码,结果是什么?Cimport java.io.*;class FoodimplementsSerializable{int good=3;class Fruitextends Food{int juice=5;publicclassBanana extendsFruit{int yellow=4;public staticvoid mainString[]args{Banana b=new Banana;Banana b2=new Banana;b.serializeBananab;//assume correctserializationb2=b.deserializeBanana;//assume correctSystem.out.printlnrestore+b
2.yellow+b
2.juice+b
2.good;//more Bananamethods gohere26第八章图形用户界面编程GUI
一、选择题以下哪个不是容器组件?SwingA.JFrameB.JPanelC.JTextArea示的效果,需要拖放哪些组件?()(选两项)C D图鼠标事件程序8-33A.JComboBoxB.JTextFieldC.JTextArea以下哪个不是事件处理机制的元素?Java()D事事件监听器A.B事件事件处理程序
109.C..D.以下关于布局管理器哪句是错误的?()D.将组件按顺序从左到右、从上到下进行排列A.FIowLayou布局将组件按照上、下、左、右、中进行排列B.BorderLayou.布局将组件按照行和列的矩阵进行排列C.GridLayou.布局中允许放置多••个的组件
110.D.BorderLayou.以下那句描述不正确?()D组件是,基础上发展起来的A.Swin..AW组件是的轻量型组件B.Swin..Java所有组件均.开”头C..Swin.“J组件所在的包.中
111.D.Swin..java.swin哪个组件可以从一组选项中选择多个选项?C A.JRadioButtonB.JComboBoxC.JCheckBox以下哪一个是的父类?()JTable AA.JComponent27B.JContainerC.Component以下菜单类中哪个是父类?()DA.JCheckBoxMenultemB.JRadioButtonMenultemC.JMenuD.JMenultem28第九章数据库编程JDBC
一、选择题用于创建数据库A.ConnectionB.DriverManagerC.Statement用于执行个SQLA.ConnectionB.DriverManagerC.Statement用于保存A.ConnectionB.DriverManagerC.Statement访问数据A.IOExceptionB.SQLExceptionC.CIassNotFoundException以下哪个不是速度快A.一次编译,多次执行B.效率高C..代码量少D
二、简答题简述技术连接数据库的优点
1.JDBC答JDBC(Java DatabaseConnectivity,Java数据库连接)技术是Su公司推出的一种n专门访问数据库的它是由一组用编程语言编写的类和接口组成,支持基本语API oJava SQL句,提供多样化的数据库连接方式,可连接不同的数据库技术是用来语言编写JDBC Java的访问数据库标准接口,使用这样的编写的应用程序无论从安全性、健壮性、可移植性API都是具有优势的简述技术连接数据库的步骤JDBC导入包//-1import java.sql.*;try加载驱动程序//-2Class.forNamecom.microsoft.jdbc.sqlserver.SQLServerDriver;创建数据库连接//-3String url=,,jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDBn;Connection conn=DriverManager.getConnectionurl,,,san,,H,;return conn;}catch ClassNotFoundExceptionex1{〃捕获异常--4ClassNotFoundExceptionex
1.printStackTrace;return null;}catch SQLExceptionex2{〃一捕获异常5SQLExceptionex
2.printStackTrace;return null;在里创建一个名为的数据库,数据库里有一张表,表中有
118.SQLServer My DB UsersUserID,〃导入包java.sqlimport java.sql.*;publicclassDBAccess{public staticConnection JavaCon{try{〃加载驱动程序Class.forNamecom.microsoft.jdbc.sqlserver.SQLServerDriver;〃创建数据库连接String url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDBH;Connection conn=DriverManager.getConnectionurl,,sa,,n,;return conn;}catch ClassNotFoundExceptionex1{N〃捕获异常ClassNotFoundExceptionex
1.printStackTrace;return null;}catch SQLExceptionex2{〃捕获异常SQLExceptionex
2.pri ntStackTrace;return null;N public staticvoid mainString[]args{〃调用纯方式连接数据库JavaConnection conn=JavaCon;g try〃在连接对象的基础上创建会话对象Statement stmt=conn.createStatement;String sql=Select*from Users;询冶
150.ResultSetrs=stmt.executeQuerysql;结果集中还有下一条记录
151.//rs.
02.3222id1533—4ii4441—4-1—
1.—42i.033-
1.
43.
33938373.04—
1.
43.
64.
941.
84130152.whilers.next{
153.〃声明保存查询结果集中每行数据的Vector对象
154.Vector line=new Vector;
155.〃将查询结果集中的每行数据保存到line对象里
156.for inti=1;i=4;i++{
157.line.addrs.getObjecti;
158.〃将每行数据的对象添加到对象中
159.line data
160.data.addline;
161.
162.〃关闭结果集
163.rs.close;〃关闭会话对象
164.
165.stmt.close;〃关闭连接对象
166.
167.conn.close;
168.return data;
169.}catchSQLException
170.ex{ex.printStackT race;
171.return null;
172.
173.
174.第十章多线程
一、选择题线程同步的方法有多种,下面不正确的是AoA.setPriority.•方.B.sleep.方CnoHfy..方0・110机丫人
11.・方法线程被阻塞可能是多方面原因造成的,下面方法中哪一种不能引起线程阻塞Do.调方法,使线程进入睡眠状态A.sleep.方法暂停纯种的执行
8..suspend...方法暂停线程的执行
175.C..wati调方法
176.D..setPriority..下面不是产生死锁的必要条件的是
177.Bo互斥条不可抢占A.B占.并运循环等待
178.C.CP.D.下面哪个操作不能使线程从等待阻塞状态进入到对象阻塞状态
179.Do等待阻塞状态下的线程.方法调用A..notify.等待阻塞状态下的线程.方法中断B..Interrupt.等待时间到
180.C.等待阻塞状态下的线程调方法
181.D..wak下面说法错误的是
182.Co中的第一个线程都属于某个线程组A.Java线程只能在其创建时设置其线程组B.线程创建之后,可以从一个线程组转移到另一个线程组C.新建线程默认情况下属于其父线程所属的线程组D.
二、问答题举例说明什么是多线程?
3.,线程进程相比,有什么优越性?4举例说明创建线程的两种方法?
5.方法和方法有什么区别?s Ieepw ai t当一个线程进入一个对象的synchronized方法后,其他线程是否可进入此对象的其他方法?简述线程的生命周期?
6.线程的优先级如何得知,如何设置,主线程的优先级
7.是多少?如何理解线程抢占式调度和线程轮转
8.
三、编程题模拟一个电子时钟,它可以在任何时候被启动或停止,并可独立运行这个类称为Clock类,它继承类这个类有一个类型的域,以及和Label Threaddocker startstop方法在方法的循环中每隔一秒就把系统时间显示为文本构造run runwhile label,方法初始化时,把设为当前系统时间1Label编写一个龟兔赛单击按钮龟兔开始编写一个程序,让一个小球在中滚动,当撞到边缘时则选择一个角度反弹回去J Fr am e32第十一章网络编程
一、选择题在中解决计算机之间的通信问题的是
183.TCP/IP A网络层A.应用层B.数据链路层C.传输层
184.D.下面邪种方法能够建立一个主机为IP端口本机为・・
1.
1.
116.
88.1681001,IP
21466115.88端口为的对象1008Socket BA.Socke.socket=ne.Socketn
202.
116.
88.168,1001;B.lnetAddressaddr.lnetAddress.getByName
214.
66.
115.88;Socket socket=new Socket
202.
116.
88.1680,1001,addr,1008;C.lnetAddressaddr.lnetAddress.getByName
202.
116.
88.168*1;Socket socket=new Socket
214.
66.
115.88,1008,addr,1001;
185.D.Socke.socket=ne.SocketH
214.
66.
115.88,1008;下面哪个方法能够正确建立一个地址为侦听端口为最大连接数为
186.100810的对象ServerSocket DA.ServerSocke.socket=ne.ServerSocket1008;B.ServerSocke.socket=ne.ServerSocket1008,10;C.lnetAddressaddr.lnetAddress.getByName.ulocalhost;ServerSocket socket=new ServerSocket1008,10,addr;D.lnetAddressaddr.lnetAddress.getByName
202.
114.
7.90;ServerSocket socket=new ServerSocket1008,10,addr;如果本机拥有多个地址,则执行以下代码的结果是IP AlnetAddressaddrs[]=lnetAddress.getAIIByNamenlocalhost;forinti=0;iaddrs.length;i++{System.out.printlnaddrs[i].getHostAddress;显示所,地址的值A.J显示其中一」.地址的值B.不显示任何信息C.出错D.
二、填空题—类代表上的主类_例由-I_rT et Addr es sInternet_ife-,InetAddressJ主机名与主机地址)组成代表了中的数据报,被发送的数据报包含DatagramPacket UD P了目的地地址以及内容,完成了数据报的发送与接收Datagrams ocket33b.实型realnumbers,具体又分为:
①单精度float,32bits
②双精度double,64bits字符型字符2char,16-bit Unicode布尔型3booleano说明字符编码的类型与特点
2.Java字符编码的类型为,具有以下特点:Java Unicode是比特的字符编码,其支持当前世界上绝大多数的语言;1Unicode16给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言2Unicode系统版本、、、等已支持;3Windows Windows2000Java XMLLDAP Unicode实现了标准;4Unicode ISO/IEC10646写出中六个常用的转义字符
3.Java退格\b制表符\t换行\n Newline回车\r Carriagereturn单引号V下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因
4.MyClass,JsHis,3JavaProgram,_$asdf,Java-Visual-Machine正确,符合标识符的组成规则MyClass:正确,符合标识符的组成规则JsHis:错误,因为第个符号不能为数字3JavaProgram:1正确,符合标识符的组成规则_$asdf错误,标识符不能为保留字Java-Visual-Machine说出常量与变量的定义并举例说明
5.常量是指程序执行过程中,值保持不变的量,类型划分如下:整型常量实型常量布尔型常量字符型常量字符串常量如整型常量:最大整数最大长整数正举例起始正十进9223372036854775807L23,+567,制0,1-92147483647-12,0,1234八进制00777777777777777777777L034,0175,-0777L十六进制Ox0x7FFFFFFF0x7FFFFFFFFFFFFFFFLOxFF,0x45L变量是指在程序执行过程中,值可以改变的量,类型划分为整型变量、实型变量、字字符型变量、符串变量、布尔变量等如,就定义了一个整型变量并且赋值为intx=2x2o、什么是强制类型转换?并说明其运用场合6显型类型转换是强制类型转换,它是一种窄化转换如narrowing conversion,double a=
1.5;float b=a;System.out.printlnb=n+b;编译possible lossof precision”数据精度丢失,数据丢失强制类型转换一锻用二元运算符的二个操作数类型不同表达式值的类型与变量的类型不同、描述程序的构成如何判断程序的主类?下面的程序有哪些错误并改正,该程7JavaJava序的源代码应当保存为什么名字的文件?Public classMyClass{Public staticvoidmain{System.out.println fhyname isSystem.out.println theend!;程序的主类中包含而其它类中没有;该程序的源代码应当保存为另外该Java main,MyClass.java程序中包含以下的错误的第一个字符应当小写;1Public定界符应当改为2应该为3printin println\代码应放在方法中4System.out.println theend!;、结构化程序设计有哪三种基本流程?分别对应中的那些语句?8Java结构化程序设计有下面三种基本流程顺序结构语句,条件选择语句,循环控制语句,跳转/转向语句条件选择语句对应中的嵌套的条件运算符,Java ifjf-else,if-else,switch-caseo循环控制语句对中的语句Java for,while,do-while跳转/转向语句时中的Java contonue,break,return在一个循环中使的差别9^Bleak,continue,return跳出仲止循环break:结束本次循环continue:方法返回return:、数组的定义,特点与分类如何进行数组的初始化?10数组的定义数组是一组同类型的变量或对象的集合数组的特点数组的类型可以是基本类型,或类和接口;数组中每个元素的类型相同;引用数组元素通过数组名[下标];数组下标数组的索引从开始数组是一种特殊的对象可以定义类0Object,型声明;创建数组分配内存空间;释放虚拟机完成Java o第三章面向对象的实现数组分类:一维数组、多维数组选择题在中,用说明一个包时,Java package该包的层次结构必须是()B与文件的结构相与文件的目录层次相同A.B.与文件的类型相与文件大小相同C.D.下列构造方法的调用方式中,正确的是()C O按照一般方法调.由用户直接调用A.E,可通自动调.被系统调用
30.C me..D型成员变量i nt public该值保持为常数则定义这个变量的语句是MAX_LENGTH,100,(D)oA.publi.in.MAX_LENGTH=
10.B.fina.in.MAX_LENGTH=10031,C.publi.constin.MAX_LENGTH=
10.D.publi.fina.in.MAX_LENGTH=100在中,以下叙述不正确的是()Java B.构造方法名与类名相同A构造方法不是用来完成初始化的B.构造方法.操作调用,而不能被用户直接调用32c me.构造方法没有返回类型
33.D在中面的叙述哪个是不正确的?Java FD.类的静态方法可以在该类的对象被创建前调用A类的静态方法不能访问该类的非静态方法B.修饰符可以出现在类或方法的前面,但不能出现在变量之前
34.C.abstrac..修饰符可以出现在类或变量之前,但不能出现在方法之前D.fina在里,下列选项象思想的机制)不是实现面向对J avaD封.继承A..B,多数据类型转换
35.C.D.类Worker是类Person的子类,有一句s up er构造该语句是什么意Worker方法中思?()C调用中定义方法A..Worke..super调用中定义方法B..Perso..super调用.的构造函数C.Pers语法错误D.程序,如下编译运行结果是()给定CJavaT est.j av apublicclassTest{private staticfinal intcounter=10;publicstaticvoid mainString[]args{System.out.printlncounter++;}编译错运行时出现异常36c.D.给定如下Java代码现错误(只选择一项)编译时会在。
个人认证
优秀文档
获得点赞 0