还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
Java面向对象编程练习题专题1初识Java
一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(JAVASE)、(JAVAEE)、(JAVAME)2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为(D:JDK\bin)、classpath为(D:JDK\lib)3.Java源文件的扩展名为(.java),用Javac编译Java源文件,得到的字节码文件的扩展名为(.class)4.如果Java源文件中有多个类,那么只能有一个类是(publicclass)类5.Java程序可以分成两类,即(JavaApplication)和(javaApplet)
二、选择题1.作为Java应用程序入口的main方法,其声明格式是(b)A.publicstaticintmainStringargs[]B.publicstaticvoidmainStringargs[]C.publicvoidmainStringargs[]D.publicintmainStringargs[]2.下面命令正确的是(B)A.javaAppFirst.javaB.javaAppFirstC.javaappfirst.classD.javacAppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为(D)A.javaFirstAppletB.javacFirstApplet.javaC.appletviewerFirstApplet.javaD.appletviewerFirstApplet.html4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下A.binB.jreC.includeD.doc5.Java语言是一种D语言A.机器B.汇编C.面向过程的D.面向对象的
6、Java程序的最基本组成单位是DA.函数B.过程C.变量D.类
三、简答题1.Java语言有哪些特点?P32.JDK安装完成后,如何设置环境变量?P4classpathpath3.简述Java应用程序和小应用程序的区别java是在控制台上执行,applet是需要在网页中执行4.简述Java应用程序的开发过程1)编写程序2)编译javac3)执行java专题2标识符、表达式、数据类型
一、填空题1.Java逻辑常量有两个(ture)和(flase)2.写出下列表达式的运算结果,设a=2b=-4c=true
(1)-a%b++-2
(2)a=1a=10a:b2
(3)c^abfalse
(4)-aa-8
(5)doublea+b/5+a/b-
0.
43、比较两个数相等的运算符是==
4、Java中的八种基本数据类型分别是char、int、long、shore、flaot、double、byte和boolean
二、选择题1.下面这些标识符哪个是错误的(C)A.JavaworldB._sumC.2JavaProgramD.$abc2.下列哪一组运算符的优先级顺序是从高到低排列的(B)A.|、、!B.、^、||C.!、%、++D.、、++
3、下面哪个赋值语句不会产生编译错误(D)A.chara=’abc’;B.byteb=152;C.floatc=
2.0;D.doubled=
2.0;4.下面哪个单词是Java语言的关键字(D)A.FalseB.FORC.ForD.for5.执行下面程序后,哪个结论是正确的(D)intabc;a=1;b=3;c=a+b3++a:b++;A.a的值为2,b的值为3,c的值为1B.a的值为2,b的值为4,c的值为2C.a的值为2,b的值为4,c的值为1D.a的值为2,b的值为3,c的值为26.设各个变量的定义如下,哪些选项的值为trueCinta=3b=3;booleanflag=true;A.++a==bB.++a==b++C.++a==b||flagD.++a==bflag7.表达式int
6.5/
7.5*3的值的类型为(C)A.shortB.intC.doubleD.float8.设abxyz均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)A.xybaB.-zx-yC.y==++xD.y+x*x++9.下面语句输出的结果为(B)Syste.out.println5^2;A.6B.7C.10D.2510.对下面的语句执行完后正确的说法是(D)intc=’c’/3;System.out.printlnc;A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为3311.以下选项中变量a已定义类型,合法的赋值语句为(D)A.a=inty;B.a==1;C.a=a+1=3;D.++a;12.执行下列程序段后,ch,x,y的值正确的是(A)intx=3y=4;booleanch;ch=xy||++x==--y;A.true,3,4B.true,4,3C.false,3,4D.false,4,313.下列标识符中,正确的是BA、1_BackB、$_MoneyC、$-moneyD、2-Forward14.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是BA、int类型B、double类型C、float类型D、long类型
15、以下程序的运行结果为ApublicclassA{publicstaticvoidmainStringa[]{intx=2y=5;Stringz=5;System.out.printlnx+y;System.out.printlnx+z+x+z;System.out.printlnx+y=+x+y;System.out.printlnx+z=+x+z;}}A.7B.7C.25D.725x+z7x+z25x+z25x+zx+y=25x+y=25x+y=7x+y=25x+z=25x+z=7x+z=25x+z=
716、设有定义inta=12;则执行a*=12;语句后,a的值为AA.144B.12C.24D.
017、下列标识符中,合法的一个是BCA.$#@!$B.$我们$C.$22$D.2$$
218、执行下列程序段后,bxy的值分别是Bintx=6y=8;booleanb;b=xy++x==--y;A.true68B.false68C.e77D.false
7719、下列程序运行的结果是DpublicclassA{publicstaticvoidmainStringargs[]{intx=7%3;whilex{x--;}System.out.printlnx;}}A.0B.1C.trueD.编译错误专题3流程控制语句
一、填空题1.在switch语句中的表达式的类型必须是(int型)或者(与int相容的类型[byte,char,long,short])2.break在循环语句中的作用是(跳出当前循环)3.分支语句包括(if)和(switch)4.while循环语句的循环次数(0或者不限),do-while语句的循环次数(至少一次),for语句的循环次数(0或者不限)
二、选择题1.下面程序片段输出的是什么(C)inta=3b=1;ifa=bSyste.out.println“a=”+a; A.a=1B.a=3C.编译错误,没有输出D.正常运行,但没有输出2.下面语句执行后,x的值为(C)inta=4b=5x=3;if++a==bx=x*a; A.3B.12C.15D.203.请看下面的程序代码ifx0{Syste.out.println“first”;}elseifx20{Syste.out.println“second”;}else{Syste.out.println“third”;} 当程序输出“second”时,x的范围是(B) A.x=0B.x20x=0C.x0D.x=204.请看下面的程序代码switchn{case0:Syste.out.println“first”;case1:case2:Syste.out.println“second”;break;default:Syste.out.println“end”;} 当n为何值时,程序段将输出字符串”second”(D) A.0B.1C.2D.以上都可以5.下列语句执行后,j的值是(D)intj=3i=3;while--i!=i/jj=j+2; A.4B.5C.6D.76.下列语句执行后,x的值是(D)intx=2;do{x+=x;}whilex17; A.4B.16C.32D.2567.执行下列语句后,i、j的值是(B)inti=1j=8;do{ifi++--jcontinue;}whilei4; A.i=4j=5B.i=5j=4C.i=5j=5D.i=5j=68.下列语句执行后,k的值是(B)intj=4ik=10;fori=2;i!=j;i++k=k-i; A.4B.5C.6D.79.下列语句执行后,c的值是(C)charc=’\0’;forc=’a’;c’z’;c+=3{ifc=’e’break;} A.‘e’B.’f’C.’g’D.’h’10.若变量都已经正确说明,则以下程序段输出为(A)a=10;b=50;c=30;ifaba=b;b=c;c=a;System.out.println“a=”+a+”b=”+b+”c=”+c; A.a=10b=50c=10B.a=10b=30c=10 C.a=50b=30c=10D.a=50b=30c=3011.以下程序段输出是(D)intx=1y=0a=0b=0;i=--a==b++--a:++b;j=a++;k=b;System.out.println“i=”+i+”j=”+j+”k=”+k;2-12 A.i=2j=1k=3B.i=1j=1k=2C.i=4j=2k=4D.i=2j=-1k=212.以下程序的输出是(B)intx=1y=0a=0b=0;switchx{case1:switchy{case0:a++;break;case1:b++;break;}case2:a++;break;case3:a++;b++;}System.out.println“a=”+a+”b=”+b;20 A.a=1b=0B.a=2b=0C.a=1b=1D.a=2b=213.以下程序段输出是(C)inti=0j=0a=6;if++i0||++j0a++:System.out.println“i=”+i+”j=”+j+”a=”+a; A.i=0j=0a=6B.i=1j=1a=7C.i=1j=0a=7D.i=0j=1a=
714、下列程序运行的结果是DpublicclassA{publicstaticvoidmainStringargs[]{charc=d;forinti=1;i=4;i++{switchi{case1:c=a;System.out.printc;break;case2:c=b;System.out.printc;break;case3:c=c;System.out.printc;default:System.out.print!;}}}}A.!B.dbc!C.abc!D.abc!!专题4数组
一、填空题1.定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明、创建和赋值(inty[]={12345})2.设有整型数组的定义“intx[][]={{1234}{-5}{326}};”则x.length的值为
(3)3.求取二维数组a[][]的第i行元素个数的表达式是(a[i-1].length)
4、一个一维数组有10个元素,则该数组可用的下标范围是0-
95、StringS[]={“安徽”“江苏”“山东”};则S
[1]的值是江苏
6、当声明一个数据组intarr[]=newint
[5];时,这代表这个数组所保存的变量类型是整形,数组元素下标的使用范围是0-4二.选择题1.设有定义语句“inta[]={668899};”,则以下对此语句的叙述错误的是(C) A.定义了一个名为a的一维数组B.a数组有3个元素 C.a数组的元素的下标为1~3 D.数组中的每个元素是整数2.设有定义“int[]a=newint
[4];”则数组a的所有元素是(B)A.a
0、a
1、a
2、a3B.a
[0]、a
[1]、a
[2]、a
[3]C.a
[1]、a
[2]、a
[3]、a
[4]D.a
[0]、a
[1]、a
[2]、a
[3]、a
[4]3.下面哪个选项正确地声明了一个字符串数组(C)A.char[]strB.char[][]strC.String[]strD.String
[10]str
4、假设有这样的数组创建inta[]={1234567};则该数组长度为DA.4B.5C.6D.
75、下列二维数组的创建中错误的是DA.inta[][]=newint
[3][];B.int[][]a=newint
[3]
[4];C.inta[][]={{12}{34}};D.int[][]a=newint[][];**专题5面向对象
一、填空题1.如果一个方法不返回任何值,则该方法的返回值类型为void2.如果子类中的某个方法名、返回值类型和_传递参数_______与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法3.接口中所有的属性均为_公有__、__静态_____和_常量_____的4.抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在抽象类类之中定义(抽象类,接口)5.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系6.一般Java程序的类主体由两部分组成一部分是成员变量(属性),另一部分是成员函数(方法)7.分别用class关键字来定义类,用new关键字来分配实例存储空间8.当一个类的修饰符为private时,说明该类不能被继承,即不能有子类9.在Java中,能实现多重继承效果的方式是implements
二、选择题1.方法内定义的变量()A.一定在方法内所有位置可见B.可能在方法的局部位置可见C.在方法外可以使用D.在方法外可见2.方法的形参()A.可以没有B.至少有一个C.必须定义多个形参D.只能是简单变量3.return语句(D)A.不能用来返回对象B.只可以返回数值C.方法都必须含有D.一个方法中可以有多个4.main方法的返回值类型是(CA.booleanB.intC.voidD.static5.编译并运行下面的程序,运行结果是()publicclassA{publicstaticvoidmainStringargs[]{Aa=newA;a.method8;}voidmethodinti{System.out.println“int:”+i;}voidmethodlongi{System.out.println“long:”+i;}A.程序可以编译运行,输出结果为“int:8”B.程序可以编译运行,输出结果为“long:8”C.程序有编译错误,因为两个method方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是()A.interfaceB.classC.protectedD.public7.下列方法定义中,方法头不正确的是()A.publicstaticxdoublea{…}B.publicstaticintxdoubley{…}C.voidxdoubled{…}D.publicintx{…}8.构造方法在()时被调用A.类定义时B.使用对象的变量时C.调用对象方法时D.创建对象时9.下列哪个类声明是正确的()A.publicabstractclassCar{…}B.abstractprivatemove{…}C.protectedprivatenumber;D.abstractfinalclassH1{…}10.下列不属于面向对象程序设计的基本特征的是()A.抽象B.封装C.继承D.静态11.请看下面的程序段classPerson{Stringnamedepartment;intage;publicPersonStringn{name=n;}publicPersonStringninta{name=n;age=a;}publicPersonStringnStringdinta{//doingthesameastwoargumentsversionifconstructer}下面那个选项可以添加到//doingthesame……处()A.PersonnaB.thisPersonnaC.thisnaD.thisname.age12.请看下面的程序段classTest{privateintm;publicstaticvoidfun{//somecode}}方法fun如何来访问变量m()A.将privateintm改成protectedintmB.将privateintm改成publicintmC.将privateintm改成staticintmD.将privateintm改成intm13.有一个类A,对于其构造函数的声明正确的是()A.voidAintx{…}B.publicAintx{…}C.AAintx{…}D.intAintx{…}14.请看下面的程序段publicclassTest{longa[]=newlong
[10];pubicstaticvoidmainStringargs[]{System.out.printlna
[6];}}哪一个选项是正确的()A.不输出任何内容B.输出0C.当编译时有错误出现D.当运行时有错误出现15.关键字()表明一个对象或变量在初始化后不能修改A.extendsB.finalC.thisD.finalize16.声明为static的方法不能访问()类成员A.超类B.子类C.非staticD.用户自定义类17.定义类A如下classA{intabc;publicvoidBintxintyintz{a=x;b=y;c=z;}}下面对方法B的重载哪些是正确的()A.publicvoidAintx1inty1intz1{a=x1;b=y1;c=z1;}B.publicvoidBintx1inty1intz1{a=x1;b=y1;c=z1;}C.publicvoidBintxinty{a=x;b=y;c=0;}D.publicBintxintyintz{a=x;b=y;c=z;}18.编译运行下面的程序,结果是()publicclassA{publicstaticvoidmainStringargs[]{Bb=newB;b.test;}voidtest{System.out.print“A”;}}classBextendsA{voidtest{super.test;System.out.print“B”;}}A.产生编译错误B.代码可以编译运行,并输出结果ABC.代码可以编译运行,但没有输出D.编译没有错误,但会产生运行时异常19.已知类关系如下ClassEmployee{}ClassManagerextendsEmployee{}ClassDirectorextendsEmployee{}则下列语句正确的是()A.Employeee=newManager;B.Directord=newManager;C.Directord=newEmployee;D.Managerm=newDirector;20.接口是Java面向对象的实现机制之一,以下说法正确的是()A.Java支持多重继承,一个类可以实现多个接口B.Java只支持单重继承,一个类可以实现多个接口C.Java只支持单重继承,一个类可以实现一个接口D.Java支持多重继承,但一个类只可以实现一个接口21.下列方法的声明中不合法的是A.floatarea{…}B.voidarea{…}C.area{…}D.intareaintr{…}
22、下面哪个包是编程时不需要导入就可以直接使用的A.java.netB.java.langC.java.sqlD.java.util
23、调用构造方法是在A.类定义时 B.创建对象时C.调用对象的方法时 D.使用对象的变量时
24、在子类构造方法的哪个地方可以调用其父类的构造方法A.任何地方B.构造方法的第一条语句C.构造方法的最后一条语句D.无法在子类构造方法中调用父类的构造方法
25、关于Java中的继承,下列说法错误的是A.继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构B.继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复C.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大D.继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类Java中的类都采用多重继承
26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量A.staticB.superC.thisD.new
27、什么样的方法不能被重写A.私有(private)方法B.最终(final)方法C.受保护(protected)的方法D.以上都不对
28、下列有关抽象类与接口的叙述中正确的是哪一个A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D.抽象类中的变量定义时必须初始化,而接口中不是
29、从下列程序中你发现了几处错误abstractclassA{abstractvoidf{};publicabstractvoidk;}classBextendsA{protectedvoidf{}voidk{System.out.printIamsubclass;}publicstaticvoidmainString[]args{Aa=newA;a.f;a.k;}}A.1B.2C.3D.
430、下列程序运行的结果是interfaceInterfaceA{Strings=good;voidf;}classClassAimplementsInterfaceA{publicvoidf{System.out.prints;}}classClassB{voidgInterfaceAa{a.f;}}publicclassE{publicstaticvoidmainString[]args{ClassBb=newClassB;b.gnewClassA;}}A.goodB.编译正确,但无运行结果C.编译错误b.gnewClassAD.以上都不对
31、下列类的声明中不合法的是A.classPeople(){…}B.class植物{…}C.classA{…}D.publicclass共有类{…}
32、能作为类的修饰符也能作为类成员的修饰符的是A.publicB.extendsC.FloatD.static
33、试完成下述程序片段publicclassPoint{intxy;publicPointintxinty{=x;=y;}......}A.Point.xPoint.yB.this.xthis.yC.super.xsuper.yD.无解
34、在JAVA中,下列说法正确的是A.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类只可以有一个父类,但一个父类可以有多个子类D.上述说法都不对
35、Father和Son是两个java类,下列哪一选项正确的标识出Father是Son的父类?A.classSonimplementsFatherB.classFatherimplementsSonC.classFatherextendsSonD.classSonextendsFather
36、重载指的是方法具有相同的名字,但这些方法的参数必须不同下列哪种说法不属于方法参数的不同A.形式参数的个数不同B.形式参数的类型不同C.形式参数的名字不同D.形式参数类型的排列顺序不同
39、关于接口的定义和实现,以下描述正确的是A.接口定义的方法只有定义没有实现B.接口定义中的变量都必须写明final和staticC.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码D.如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public
三、阅读程序题
1、写出运行结果publicclassComputer{Stringmainbordcpu;publicComputerStrings1Strings2{mainbord=s1;cpu=s2;}publicstaticvoidmainString[]args{Computerc=newComputer华硕Intel;System.out.printlnmainbord:+c.mainbord+cpu:+c.cpu;}}Mainbord:华硕,cpu Intel
2、写出运行结果publicclassExamA{privatestaticintarr[]=newint
[5];publicstaticvoidmainStringargs[]{forinti=arr.length-1;i=0;i--arr[i]=2*i+1;Stringoutput=0;intsum=0;forinti=0;iarr.length;i++{sum+=arr[i];output+=++arr[i];}output+==+sum;System.out.printlnoutput;System.exit0;}}
3、写出运行结果publicclassPerson{Stringname;intage;publicPersonStringnameintage{this.name=name;this.age=age;}publicstaticvoidmainString[]args{Personc=newPersonPeter17;System.out.printlnc.name+is+c.age+yearsold!;}}Perteris17yearsold!
4、写出运行结果public class abc{public static void mainString args[]{SubSubClass x=new SubSubClass102030;x.show;}}class SuperClass{ int ab;SuperClassintaaint bb{ a=aa; b=bb; }void show{ System.out.printlna=+a+b=+b; }}class SubClass extends SuperClass{ intc;SubClassint aaint bbint cc{ superaabb;c=cc;} }class SubSubClass extends SubClass{ int a;SubSubClassintaaint bbint cc{ superaabbcc;a=aa+bb+cc;}void show{ System.out.printlna=+a+b=+b+c=+c; }}5.下面是一个类的定义,请将其补充完整class__Student____{Stringname;intage;Student__String____nameinta{__this___.name=name;age=a;}}6.下面是一个类的定义,请将其补充完整class__A____{Strings;__static____inta=3;AStrings{this.s=s;}staticintgetA{returna;}}专题6字符串、日期时间类
一、填空题1.已知String对象s=”hello”,运行语句“System.out.printlns.concat“World!”;”后,s的值为(helloWorld!)2.使用+=将字符串s2添加到字符串s1后的语句是(S1+=S2)3.比较s1种的字符串和s2种的字符串的内容是否相等的表达式是(s
1.equalss2)4.已知sb为StringBuffer的一个实例,且sb=”abcde”,则sb.reverse后sb的值为(edcba)5.获取当前系统时间()6.已知StringBuffersb=newStringBufferabc,则sb.reverse后,sb的值为cba
7、Strings1=“China”;intn=s
1.length;n的值为5二.选择题1.已知String对象s=”abcdefg”,则s.substring25的返回值为()A.”bcde”B.”cde”C.”cdef”D.”def”2.若有下面的代码Strings=”people”;Stringt=”people”;Charc[]={‘p’‘e’‘o’‘p’‘l’‘e’};下面哪一选项的语句返回值为假()?A.s.equalstB.t.equalscC.s==tD.t.equalsnewString“people”3.已知s为一个String对象,s=”abcdefg”,则s.charAt1的返回值为()A.aB.bC.fD.g4.若有下面的代码Strings=”good”;下面选项语句书写正确的是()A.s+=”student”;B.charc=s
[1];C.intlen=s.lengthD.Stringt=s.toLowerCase;
5、假设Strings=Nicetomeetyou,则下面返回to的语句为A.s.substring68;B.s.substring59;C.s.substring57;D.s.substring67;
6、调用下面哪个方法时会改变原有对象A.String的trimB.String的lengthC.StringBuffer的reverseD.StringBuffer的length
7、已知inti=123,通过以下哪种方式可以得到字符串123A.Integer.parseInti;B.String.valueOfi;C.Long.parseLongi;D.Float.parseFloati;
8、由a.compareTob得到的数值A.0B.=0C.0D.不确定
9、已知Strings=Thisisastring,则s.indexOfis的值为A.1B.2C.3D.
410、已知inti=123,通过以下哪种方式可以得到字符串123A.Integer.parseInti;B.String.valueOfi;C.Long.parseLongi;D.Float.parseFloati;
11、以下程序段执行的结果为Stringstr1str2;str1=Byebye;str2=Byebye;System.out.printstr
1.equalsstr2;System.out.printlnstr1==str2;A.truefalseB.truetrueC.falsetrueD.falsefalse
12、已知StringBuffersb=newStringBufferabcde,则sb.delete12后sb的值为A.abcB.abdeC.acdeD.ade专题7异常处理1.填空题1.一个try语句块后必须跟(catch)语句块,()语句块可以没有2.自定义异常类必须继承()类及其子类3.异常处理机制允许根据具体的情况选择在何处处理异常,可以在()捕获并处理,也可以用throws子句把他交给()处理二.选择题
1.finally语句块中的代码()A.总是被执行B.当try语句块后面没有catch时,finally中的代码才会执行C.异常发生时才执行D.异常没有发生时才被执行
2.抛出异常应该使用的关键字是()A.throwB.catchC.finallyD.throws
3.自定义异常类时,可以继承的类是()A.ErrorB.AppletC.Exception及其子类D.AssertionError
4.在异常处理中,将可能抛出异常的方法放在()语句块中A.throwsB.catchC.tryD.finally
5.对于try{……}catch子句的排列方式,下列正确的一项是()A.子类异常在前,父类异常在后B.父类异常在前,子类异常在后C.只能有子类异常D.父类异常与子类异常不能同时出现
6.使用catchExceptione的好处是()A.只会捕获个别类型的异常B.捕获try语句块中产生的所有类型的异常C.忽略一些异常D.执行一些程序三.简答题1.try/catch/finally如何使用?try将可能出现异常的语句放在此处catch当出现异常时在此处捕获异常finally无论是否出现异常都要执行2.Throw/throws有什么联系和区别?throw在语句中抛出异常throws在方法中抛出异常联系都是抛出异常3.谈谈final、finally的区别和作用final修饰变量是定义常量,修饰类是不允许继承,修饰方法是不允许复写finally使用在异常处理中,无论是否出现异常都要执行4.如果try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?运行5.Error和Exception有什么区别?Error一般是出现的编译器的异常Exception一般是出现的代码异常6.什么是RuntimeException?列举至少4个RuntimeException的子类此异常允许程序不对其进行处理ArithmeticExceptionArrayStoreExceptionArrayIndexOUtOfBoundsExceptionClassCastException专题8多线程
一、填空题1.Java语言实现多线程的方法有两种,它们是(自己创建的线程子类)和(实现一个接口Runnable)2.线程有5种状态,它们是(新建)、(就绪)、(运行)、(阻塞)和(死亡)3.在java中,线程同步是通过(Thread)关键字实现的4.新创建的线程默认的优先级是()5.当一个线程睡眠时,sleep方法不消耗()时间二.选择题
1.一个Java程序运行后,在系统中这个程序便可以作为一个()A.线程B.进程C.进程或线程D.不可预知
2.设已经编好了一个线程类MyThread,要在main中启动该线程,需使用以下哪个方法()A.newMyThreadB.MyThreadmyThread=newMyThread;myThread.start;C.MyThreadmyThread=newMyThread;myThread.run;D.newMyThread.start;
3.以下哪个方法不能使线程进入阻塞状态()A.sleepB.waitC.suspendD.stop
4.可以使用()方法设置线程的优先级A.getPriorityB.setPriorityC.yieldD.wait
5.线程是Java的()机制A.检查B.解释执行C.并行D.并发
6.以下方法用于定义线程执行体的是()A.startB.initC.runD.main
7.一个线程如果调用了sleep方法,能唤醒它的方法是()A.notifyB.resumeC.runD.以上都不是专题9图形用户界面编程一.填空题1.AWT的组件库被更稳定、通用、灵活的库取代,该库称为()2.()用于安排容器上的GUI组件3.设置容器的布局管理器的方法是()4.当释放鼠标按键时,将产生()事件5.Java为那些声明了多个方法的Listener接口提供了一个对应的(),在该类中实现了对应接口的所有方法6.ActionEvent事件的监听器接口是(),注册该时间监听器的方法名是(),事件处理方法名是()7.图形用户界面通过()相应用户和程序的交互,产生事件的组件称为()8.Java的Swing包中定义菜单的类是()9.向容器内添加组件使用()方法10.对话框有两种类型,分别是()和()11.工具栏一般放在窗口的()位置12.若要使表格具有滚动条,需要将表格添加到()组件中13.paint方法的参数是()类的实例14.drawRectintx1inty1intx2inty2中,x2和y2分别代表矩形的()和()二.选择题1.窗口JFrame使用()方法可以将jMenuBar对象设置为主菜单A.setHelpMenujMenuBarB.addjMenuBarC.setJMenuBarjMenuBarD.setMenujMenuBar2.下面属于容器类的是()A.Color类B.JMenu类C.JFrame类D.JTextField类3.使用()类创建菜单对象A.DimensionB.JMemuC.JMenuItemD.JTextArea4.使用()方法创建菜单中的分隔条A.setEditableB.ChangeListenerC.addD.addSeparator5.JPanel和JApplet的默认布局管理器是()A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout6.JFrame的默认布局管理器是()A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout7.按钮可以产生ActionEvent事件,实现哪个接口可以处理此事件()A.FocusListenerB.ComponentListenerC.ActionListenerD.WindowListener8.容器使用()方法将组件添加到容器A.addComponentB.addC.setComponentD.Add9.向JTextArea的()方法传递false参数可以防止用户修改文本A.setEditableB.changeListenerC.addD.addSeparator10.为了能够通过选择输入学生性别,使用组件的最佳选择是()A.JCheckBoxB.JRadioButtonC.JComboBoxD.JList11.当选中一个复选框,即在前面的方框上打上对勾,引发的事件是()A.ActionEventB.ItemEventC.SelectEventD.ChangeEvent12.窗口关闭时会触发的事件是()A.ContainerEventB.ItemEventC.WindowEventD.MouseEvent13.下面哪种对话框可以接受用户输入()A.showConfirmDialogB.showInputDialogC.showMessageDialogD.showOptionDialog14.addActionListenerthis方法中的this参数表示的意思是()A.当有事件发生时,应该使用this监听器B.this对象类会处理此事件C.this事件优先于其他事件D.只是一种形式15.以下类中,具有绘图能力的类是()A.ImageB.GraphicsC.FontD.Color16.Graphics类中提供的绘图方法分为两类一类是绘制图形,另一类是绘制()A.屏幕B.文本C.颜色D.图像
三、编程题专题10(模块7)输入输出
一、填空题1.根据流的方向,流可以分为两类(输入流)和(输出流)2.根据操作对象的类型,可以将数据流分为()和()两种3.在java.io包中有4个基本类InputStream、OutputStream、Reader和()类4.在Java语言中,实现多线程之间通信的流是()5.()类是java.io包中一个非常重要的非流类,封装了操作文件系统的功能6.()类用于将Java的基本数据类型转换为字符串,并作为控制台的标准输出7.Java包括的两个标准输出对象分别是标准输出对象()和标准错误输出8.FileInputStream实现对磁盘文件的读取操作,在读取字符的时候,它一般与()和()一起使用二.选择题1.Java语言提供处理不同类型流的类所在的包是()A.java.sqlB.java.utilC.java.mathD.java.io2.创建一个DataOutputStream的语句是()A.newDataOutputStream“out.txt”B.newDataOutputStreamnewFile“out.txt”;C.newDataOutputStreamnewWriter“out.txt”;D.newDataOutputStreamnewOutputStream“out.txt”;3.下面语句正确的是()A.RandomAccessFileraf=newRandomAccessFile“myfile.txt””rw”;B.RandomAccessFileraf=newRandomAccessFilenewDataInputStream;C.RandomAccessFileraf=newRandomAccessFile“myfile.txt”;D.RandomAccessFileraf=newRandomAccessFilenewFile“myfile.txt”;4.下面哪个方法返回的是文件的绝对路径()A.getCanonicalPathB.getAbsolutePathC.getCanonicalFileD.getAbsoluteFile5.在File类提供的方法中,用语创建目录的方法是()A.mkdirB.mkdirsC.listD.listRoots6.程序如果要按行输入/输出文件中的字符,最合理的方法是采用()A.BufferedReader和BufferedWriter类B.InputStream和OutputStream类C.FileReader和FileWriter类D.File_Reader和File_Writer类7.RandomAccessFile类的()方法可用于设置文件定位指针在文件中的位置A.readIntB.readLineC.seekD.close8.下面哪个流类使用了缓冲区技术()A.BufferadOutputStreamB.FileInputStreamC.DataOutputStreamD.FileReader专题11(模块8)数据库JDBC一.简答题1.说明ODBC数据源创建的步骤2.JDBC提供了哪几种连接数据库的方式?3.SQL语言包括哪几种基本语句来完成数据库的基本操作?4.写出装载驱动程序的代码5.说明Statement和PreparedStatement的不同,都用在什么场合?二.选择题1.下面方法中,可以用来加载JDBC驱动程序的是(D)A.类java.sql.DriverManager的getDriver方法B.类java.sql.DriverManager的getDrivers方法C.类java.sql.Driver的connect方法D.类java.lang.Class的forName方法2.下面方法中,可以用来建立数据库连接的是(A)A.类java.sql.DriverManager的getConnection方法B.类javax.sql.DataSource的getConnection方法C.类javax.sql.DataSource的connection方法D.类java.sql.Driver的getConnection方法3.一个(C)对象用于向数据库提交查询A.ResultSetB.ConnectionC.StatementD.Applet4.JDBCAPI主要定义在下面哪个包中(A)A.java.sqlB.java.ioC.java.awtD.java.util5.Statement类的executeQuery方法返回的数据类型是(D)A.Statement类的对象B.Connection类的对象C.DatabaseMetaData类的对象D.ResultSet类的对象专题12(模块)网络编程
一、填空题1.一个URL地址是由(协议名称、主机名称、端口号、文件名)几部分组成的2.URL类中返回URL端口号的方法是(publicgetPort)3.一个Socket由一个(IP)地址和一个(端口号)唯一确定4.目前最广泛使用的网络协议是Internet上使用的(TCP/IP)协议5.TCP/IP协议的两种通信协议是(TCP)协议和(UDP)协议6.常用的变成模式有客户端/(服务器)模式和B/S模式7.套接字是一个特定机器上被编号的(),用户可用的端口号是(),系统可用的端口号是()8.服务器端套接字类是(ServerSocket)二.选择题1.关于协议下面说法正确的是BA.TCP/IP协议由TCP协议和IP协议组成B.TCP和UDP都是TCP/IP协议传输层的子协议C.Socket是TCP/IP协议的一部分D.主机名的解析是TCP/IP的一部分2.TCP协议栈的4层结构中不包括()A.应用层B.传输层C.网络层D.会话层3.下面服务中使用TCP协议的是(A)A.HTTPB.FTPC.SMTPD.NEWS4.HTTP服务的端口号是(A)A.80B.21C.23D.1205.下面URL合法的是(A)A.http://
92.
168.
1.59/index.htmlB.ftp://19216811/incomingC.ftp://
192.
168.
1.1:-1D.http://
192.
168.
1.
1.26.下面方法表示本机的是(C)A.localhostB.
255.
255.
0.0C.
127.
0.
0.1D.
123.
456.
789.07.一个Socket由(A)唯一确定A.一个IP地址和一个端口号B.一个IP地址和一个主机名C.一个主机号和一个端口号D.一个IP地址8.获取本机地址可以使用下面哪个方法(B)A.getHostNameB.getLocalHostC.getByNameD.getHostAddress9.以下(A)方法可以获取指定URL的协议名A.publicStringgetProtocolB.publicStringgetHostC.publicfinalObjectgetContentD.publicintgetPort10.下面创建Socket的语句中正确的是(B)A.Socketa=newSocket80;B.Socketb=newSocket“
130.
3.
4.5”80;C.ServerSocketc=newSocket80;D.ServerSocketd=newSocket“
130.
3.
4.5”80;三.简答题1.什么叫套接字?它的作用是什么?2.建立Socket连接时,客户端和服务器端有什么不同?3.基于UDP的通信和基于TCP的通信有什么不同?4.客户端的套接字对象和服务器端的套接字对象是如何进行通信的?。