《Java面向对象编程》

《Java面向对象编程》

ID:41032763

大小:262.00 KB

页数:34页

时间:2019-08-14

上传者:asd881529
《Java面向对象编程》_第1页
《Java面向对象编程》_第2页
《Java面向对象编程》_第3页
《Java面向对象编程》_第4页
《Java面向对象编程》_第5页
资源描述:

《《Java面向对象编程》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

Java面向对象编程练习题专题1初识Java一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(JAVASE)、(JAVAEE)、(JAVAME)。2.环境变量的设置,若JDK安装在“D:JDK”,则应设置Path为(D:JDKbin)、classpath为(D:JDKlib)。3.Java源文件的扩展名为(.java),用Javac编译Java源文件,得到的字节码文件的扩展名为(.class)。4.如果Java源文件中有多个类,那么只能有一个类是(publicclass)类。5.Java程序可以分成两类,即(JavaApplication)和(javaApplet)。二、选择题1.作为Java应用程序入口的main方法,其声明格式是(b)A.publicstaticintmain(Stringargs[])B.publicstaticvoidmain(Stringargs[])C.publicvoidmain(Stringargs[])D.publicintmain(Stringargs[])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程序的最基本组成单位是D。A.函数B.过程C.变量D.类34 三、简答题1.Java语言有哪些特点?2.JDK安装完成后,如何设置环境变量?3.简述Java应用程序和小应用程序的区别。4.简述Java应用程序的开发过程专题2标识符、表达式、数据类型一、填空题1.Java逻辑常量有两个:(ture)和(flase)。2.写出下列表达式的运算结果,设a=2,b=-4,c=true。(1)-a%b++-2(2)a>=1&&a<=10?a:b2(3)c^(a>b)false(4)(-a)<3?++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.设各个变量的定义如下,哪些选项的值为true(C)inta=3,b=3;booleanflag=true;A.++a==bB.++a==b++C.(++a==b)||flagD.(++a==b)&flag7.表达式(int)6.5/7.5*3的值的类型为(C)A.shortB.intC.doubleD.float8.设a,b,x,y,z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)A.x>y&&bx-yC.y==++xD.y+x*x++9.下面语句输出的结果为(B)Syste.out.println(5^2);A.6B.7C.10D.2510.对下面的语句执行完后正确的说法是:(D)intc=’c’/3;System.out.println(c);A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为3311.以下选项中变量a已定义类型,合法的赋值语句为(D)A.a=int(y);B.a==1;C.a=a+1=3;D.++a;12.执行下列程序段后,ch,x,y的值正确的是:(A)intx=3,y=4;booleanch;ch=xy&&++x==--y;A.true,6,8B.false,6,8C.e,7,7D.false,7,719、下列程序运行的结果是D。publicclassA{publicstaticvoidmain(Stringargs[]){intx=7%3;while(x){x--;}System.out.println(x);}}A.0B.1C.trueD.编译错误34 三、编程题1.使用Math.pow()方法,求出2的32次方的值。专题3流程控制语句一、填空题1.在switch语句中的表达式的类型必须是(int型)或者(与int相容的类型[byte,char,long,short])。2.break在循环语句中的作用是(跳出当前循环)。3.分支语句包括(if)和(switch)。4.while循环语句的循环次数(0或者不限),do-while语句的循环次数(至少一次),for语句的循环次数(0或者不限)。二、选择题1.下面程序片段输出的是什么(C)inta=3,b=1;if(a=b)Syste.out.println(“a=”+a); A.a=1B.a=3C.编译错误,没有输出D.正常运行,但没有输出2.下面语句执行后,x的值为(C)inta=4,b=5,x=3;if(++a==b)x=x*a; A.3B.12C.15D.203.请看下面的程序代码:if(x<0){Syste.out.println(“first”);}elseif(x<20){Syste.out.println(“second”);}else{Syste.out.println(“third”);} 当程序输出“second”时,x的范围是(B) A.x<=0B.x<20&&x>=0C.x>0D.x>=204.请看下面的程序代码:switch(n){case0:Syste.out.println(“first”);34 case1:case2:Syste.out.println(“second”);break;default:Syste.out.println(“end”);} 当n为何值时,程序段将输出字符串”second”(D) A.0B.1C.2D.以上都可以5.下列语句执行后,j的值是(D)intj=3,i=3;while(--i!=i/j)j=j+2; A.4B.5C.6D.76.下列语句执行后,x的值是(D)intx=2;do{x+=x;}while(x<17); A.4B.16C.32D.2567.执行下列语句后,i、j的值是(B)inti=1,j=8;do{if(i++>--j)continue;}while(i<4); A.i=4,j=5B.i=5,j=4C.i=5,j=5D.i=5,j=68.下列语句执行后,k的值是(B)intj=4,i,k=10;for(i=2;i!=j;i++)k=k-i; A.4B.5C.6D.79.下列语句执行后,c的值是(C)charc=’’;for(c=’a’;c<’z’;c+=3){if(c>=’e’)break;} A.‘e’B.’f’C.’g’D.’h’10.若变量都已经正确说明,则以下程序段输出为(A)a=10;b=50;c=30;if(a>b)a=b;b=c;c=a;34 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=1,y=0,a=0,b=0;i=(--a==b++)?--a:++b;j=a++;k=b;System.out.println(“i=”+i+”,j=”+j+”,k=”+k);2-12 A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=2,j=-1,k=212.以下程序的输出是(B)intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;break;case3:a++;b++;}System.out.println(“a=”+a+”,b=”+b);20 A.a=1,b=0B.a=2,b=0C.a=1,b=1D.a=2,b=213.以下程序段输出是(C)inti=0,j=0,a=6;if((++i>0)||(++j>0))a++:System.out.println(“i=”+i+”,j=”+j+”,a=”+a); A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=714、下列程序运行的结果是C。publicclassA{publicstaticvoidmain(Stringargs[]){charc='d';for(inti=1;i<=4;i++){switch(i){case1:c='a';34 System.out.print(c);break;case2:c='b';System.out.print(c);break;case3:c='c';System.out.print(c);default:System.out.print("!");}}}}A.!B.dbc!C.abc!D.abc!!三、编程题1.输入4个数,将这4个数按从小到大输出。2.输入一个年份值,判断是否是闰年,输出相应的信息。3.输入一元二次方程系数,若有实数根,求根并输出,否则输出“不是二次方程或没有实数根”的信息。4.编写程序,计算邮局汇款的汇费:如果汇款金额小于100元,汇费为1元,如果金额在100元与500元之间,按1%收取汇费,如果金额大于500元,汇费为50元。5.求某年某月的天数.6.求从1到100之间所有奇数的平方和(用for、while和do……while编写程序)。7.求S=1+2+3+…+n之和,S<1000的最大n的值。8.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。9.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?10.输出九九乘法表。11.输出1000之内的所有完数。所谓完数指的是:如果一个数恰好等于它的所有因子之和,这个数就称为完数。12.输出100以内的全部素数。13.求1!+2!+3!+……+10!14.求2+22+222+2222+22222。34 专题4数组一、填空题1.定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明、创建和赋值:(inty[]={1,2,3,4,5})。2.设有整型数组的定义:“intx[][]={{12,34},{-5},{3,2,6}};”则x.length的值为(9)3.求取二维数组a[][]的第i行元素个数的表达式是()。4、一个一维数组有10个元素,则该数组可用的下标范围是0-9。5、StringS[]={“安徽”,“江苏”,“山东”};则S[1]的值是:江苏。6、当声明一个数据组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是整形,数组元素下标的使用范围是0-4。二.选择题1.设有定义语句“inta[]={66,88,99};”,则以下对此语句的叙述错误的是(C) A.定义了一个名为a的一维数组B.a数组有3个元素 C.a数组的元素的下标为1~3 D.数组中的每个元素是整数2.设有定义“int[]a=newint[4];”则数组a的所有元素是(B)A.a0、a1、a2、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]str4、假设有这样的数组创建:inta[]={1,2,3,4,5,6,7};则该数组长度为D。A.4B.5C.6D.75、下列二维数组的创建中错误的是A。A.inta[][]=newint[3][];B.int[][]a=newint[3][4];C.inta[][]={{1,2},{3,4}};D.int[][]a=newint[][];34 三、编程题1.编写一个程序,计算一维数组中的最大值、最小值及其差值。2.将一个数组中的数逆序重新存放。3.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的。4.输出杨辉三角形。如:11112113311464115101051……5.求一个二维数组的每行最大数。**专题5面向对象一、填空题1.如果一个方法不返回任何值,则该方法的返回值类型为void。2.如果子类中的某个方法名、返回值类型和_传递参数_______与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。3.接口中所有的属性均为_公有__、__静态_____和_常量_____的4. 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。5.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。6.一般Java程序的类主体由两部分组成:一部分是成员变量,另一部分是成员方法。7.分别用class关键字来定义类,用关键字来分配实例存储空间。8.当一个类的修饰符为private时,说明该类不能被继承,即不能有子类。9.在Java中,能实现多重继承效果的方式是。34 二、选择题1.方法内定义的变量()。A.一定在方法内所有位置可见B.可能在方法的局部位置可见C.在方法外可以使用D.在方法外可见2.方法的形参(D)。A.可以没有B.至少有一个C.必须定义多个形参D.只能是简单变量3.return语句(D)。A.不能用来返回对象B.只可以返回数值C.方法都必须含有D.一个方法中可以有多个4.main()方法的返回值类型是(C。A.booleanB.intC.voidD.static5.编译并运行下面的程序,运行结果是()。publicclassA{publicstaticvoidmain(Stringargs[]){Aa=newA();a.method(8);}voidmethod(inti){System.out.println(“int:”+i);}voidmethod(longi){System.out.println(“long:”+i);}A.程序可以编译运行,输出结果为:“int:8”B.程序可以编译运行,输出结果为:“long:8”C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是()。A.interfaceB.classC.protectedD.public7.下列方法定义中,方法头不正确的是()。A.publicstaticx(doublea){…}B.publicstaticintx(doubley){…}C.voidx(doubled){…}D.publicintx(){…}8.构造方法在()时被调用。34 A.类定义时B.使用对象的变量时C.调用对象方法时D.创建对象时1.下列哪个类声明是正确的()。A.publicabstractclassCar{…}B.abstractprivatemove(){…}C.protectedprivatenumber;D.abstractfinalclassH1{…}2.下列不属于面向对象程序设计的基本特征的是()。A.抽象B.封装C.继承D.静态3.请看下面的程序段classPerson{Stringname,department;intage;publicPerson(Stringn){name=n;}publicPerson(Stringn,inta){name=n;age=a;}publicPerson(Stringn,Stringd,inta){//doingthesameastwoargumentsversionifconstructer}下面那个选项可以添加到//doingthesame……处()A.Person(n,a)B.this(Person(n,a))C.this(n,a)D.this(name.age)4.请看下面的程序段classTest{privateintm;publicstaticvoidfun(){//somecode}}方法fun()如何来访问变量m()A.将privateintm改成protectedintmB.将privateintm改成publicintmC.将privateintm改成staticintmD.将privateintm改成intm5.有一个类A,对于其构造函数的声明正确的是()。A.voidA(intx){…}B.publicA(intx){…}C.AA(intx){…}D.intA(intx){…}6.请看下面的程序段publicclassTest{longa[]=newlong[10];pubicstaticvoidmain(Stringargs[]){System.out.println(a[6]);}}哪一个选项是正确的()。34 A.不输出任何内容B.输出0C.当编译时有错误出现D.当运行时有错误出现1.关键字()表明一个对象或变量在初始化后不能修改。A.extendsB.finalC.thisD.finalize2.声明为static的方法不能访问()类成员。A.超类B.子类C.非staticD.用户自定义类3.定义类A如下:classA{inta,b,c;publicvoidB(intx,inty,intz){a=x;b=y;c=z;}}下面对方法B的重载哪些是正确的()。A.publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}B.publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}C.publicvoidB(intx,inty){a=x;b=y;c=0;}D.publicB(intx,inty,intz){a=x;b=y;c=z;}4.编译运行下面的程序,结果是()。publicclassA{publicstaticvoidmain(Stringargs[]){Bb=newB();b.test();}voidtest(){System.out.print(“A”);}}classBextendsA{voidtest(){super.test();System.out.print(“B”);}}A.产生编译错误B.代码可以编译运行,并输出结果:ABC.代码可以编译运行,但没有输出D.编译没有错误,但会产生运行时异常5.已知类关系如下:ClassEmployee{}ClassManagerextendsEmployee{}ClassDirectorextendsEmployee{}则下列语句正确的是:()。A.Employeee=newManager();B.Directord=newManager();34 C.Directord=newEmployee();D.Managerm=newDirector();1.接口是Java面向对象的实现机制之一,以下说法正确的是()。A.Java支持多重继承,一个类可以实现多个接口B.Java只支持单重继承,一个类可以实现多个接口C.Java只支持单重继承,一个类可以实现一个接口D.Java支持多重继承,但一个类只可以实现一个接口21.下列方法的声明中不合法的是。A.floatarea(){…}B.voidarea(){…}C.area{…}D.intarea(intr){…}22、下面哪个包是编程时不需要导入就可以直接使用的。A.java.netB.java.langC.java.sqlD.java.util23、调用构造方法是在。A.类定义时      B.创建对象时C.调用对象的方法时  D.使用对象的变量时24、在子类构造方法的哪个地方可以调用其父类的构造方法。A.任何地方B.构造方法的第一条语句C.构造方法的最后一条语句D.无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是。A.继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B.继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D.继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量。A.staticB.superC.thisD.new27、什么样的方法不能被重写。34 A.私有(private)方法B.最终(final)方法C.受保护(protected)的方法D.以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个。A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D.抽象类中的变量定义时必须初始化,而接口中不是29、从下列程序中你发现了几处错误。abstractclassA{abstractvoidf(){};publicabstractvoidk();}classBextendsA{protectedvoidf(){}voidk(){System.out.print("Iamsubclass");}publicstaticvoidmain(String[]args){Aa=newA();a.f();a.k();}}A.1B.2C.3D.430、下列程序运行的结果是。interfaceInterfaceA{Strings="good";voidf();}classClassAimplementsInterfaceA{publicvoidf(){System.out.print(s);}}classClassB{voidg(InterfaceAa){a.f();}}34 publicclassE{publicstaticvoidmain(String[]args){ClassBb=newClassB();b.g(newClassA());}}A.goodB.编译正确,但无运行结果C.编译错误:b.g(newClassA())D.以上都不对31、下列类的声明中不合法的是。A.classPeople(){…}B.class植物{…}C.classA{…}D.publicclass共有类{…}32、能作为类的修饰符,也能作为类成员的修饰符的是。A.publicB.extendsC.FloatD.static33、试完成下述程序片段。publicclassPoint{intx,y;publicPoint(intx,inty){()=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.classSonextendsFather36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。下列哪种说法不属于方法参数的不同。34 A.形式参数的个数不同。B.形式参数的类型不同。C.形式参数的名字不同。D.形式参数类型的排列顺序不同。37、下列有关抽象类与接口的叙述中正确的是哪一个。A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D.抽象类中的变量定义时必须初始化,而接口中不是38、从下列程序中你发现了几处错误。abstractclassA{abstractvoidf(){};publicabstractvoidk();}classBextendsA{protectedvoidf(){}voidk(){System.out.print("Iamsubclass");}publicstaticvoidmain(String[]args){Aa=newA();a.f();a.k();}}A.1B.2C.3D.439、关于接口的定义和实现,以下描述正确的是。A.接口定义的方法只有定义没有实现B.接口定义中的变量都必须写明final和staticC.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码D.如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public三、阅读程序题1、写出运行结果:。34 publicclassComputer{Stringmainbord,cpu;publicComputer(Strings1,Strings2){mainbord=s1;cpu=s2;}publicstaticvoidmain(String[]args){Computerc=newComputer("华硕","Intel");System.out.println("mainbord:"+c.mainbord+",cpu:"+c.cpu);}}2、写出运行结果:。publicclassExamA{privatestaticintarr[]=newint[5];publicstaticvoidmain(Stringargs[]){for(inti=arr.length-1;i>=0;i--)arr[i]=2*i+1;Stringoutput="0";intsum=0;for(inti=0;i0B.=0C.<0D.不确定9、已知Strings="Thisisastring",则s.indexOf("is")的值为。A.1B.2C.3D.410、已知inti=123,通过以下哪种方式可以得到字符串"123"。A.Integer.parseInt(i);B.String.valueOf(i);C.Long.parseLong(i);D.Float.parseFloat(i);11、以下程序段执行的结果为。Stringstr1,str2;str1="Byebye";str2="Byebye";System.out.print(str1.equals(str2));System.out.println(str1==str2);A.truefalseB.truetrueC.falsetrueD.falsefalse34 12、已知StringBuffersb=newStringBuffer("abcde"),则sb.delete(1,2)后sb的值为。A.abcB.abdeC.acdeD.ade三、编程题1.实现把“ILoveJava!”的字符全部转换为小写并输出到控制台。2.使用String类中的split()函数,统计出“thisismyhomework!Imustfinishit!”中单词的个数。(注意:单词之间用一个空格来分隔。)3.给出两个日期,计算它们之间相隔的天数。4.实现将当前日期信息以4位年份、月份全称、两位日期形式输出。34 专题7异常处理一.填空题1.一个try语句块后必须跟(catch)语句块,()语句块可以没有2.自定义异常类必须继承()类及其子类3.异常处理机制允许根据具体的情况选择在何处处理异常,可以在()捕获并处理,也可以用throws子句把他交给()处理二.选择题1.finally语句块中的代码()A.总是被执行B.当try语句块后面没有catch时,finally中的代码才会执行C.异常发生时才执行D.异常没有发生时才被执行2.抛出异常应该使用的关键字是()A.throwB.catchC.finallyD.throws3.自定义异常类时,可以继承的类是()A.ErrorB.AppletC.Exception及其子类D.AssertionError4.在异常处理中,将可能抛出异常的方法放在()语句块中A.throwsB.catchC.tryD.finally5.对于try{……}catch子句的排列方式,下列正确的一项是()A.子类异常在前,父类异常在后B.父类异常在前,子类异常在后C.只能有子类异常34 D.父类异常与子类异常不能同时出现1.使用catch(Exceptione)的好处是()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四.编程题1.编写程序,要求输入若干整数,输入的同时计算前面输入各数的乘积,若乘积超过100000,则认为是异常,捕获并处理这个异常,输出信息。2.编写一个登录界面,要求帐户名只能由1至10位数字组成,密码只能有6位,任何不符合帐户名和密码要求的情况都视为异常,必须捕获并处理异常3.设计自己的异常类表示对负数求平方根的错误;在类Test的主方法中,从键盘输入一个数,若输入的数不小于0,则输出它的平方根;若小于0,则抛出自定义异常;在程序中处理异常并输出提示信息“输入错误,不能对负数求平方根”34 专题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.sleep()B.wait()C.suspend()D.stop()4.可以使用()方法设置线程的优先级A.getPriority()B.setPriority()C.yield()D.wait()5.线程是Java的()机制A.检查B.解释执行C.并行D.并发6.以下方法用于定义线程执行体的是()A.start()B.init()C.run()D.main()7.一个线程如果调用了sleep()方法,能唤醒它的方法是()A.notify()B.resume()C.run()D.以上都不是三、编程题1.设计四个线程对象对同一个数据进行操作,两个线程执行减操作,两个线程执行加操作2.制作两个线程对象,要求用同步块的方式使第一个线程运行234 次,然后将自己阻塞起来,唤醒第二个线程,第二个线程再运行2次,然后将自己阻塞起来,唤醒第一个线程……两个线程交替执行。专题9图形用户界面编程一.填空题1.AWT的组件库被更稳定、通用、灵活的库取代,该库称为()2.()用于安排容器上的GUI组件3.设置容器的布局管理器的方法是()4.当释放鼠标按键时,将产生()事件5.Java为那些声明了多个方法的Listener接口提供了一个对应的(),在该类中实现了对应接口的所有方法6.ActionEvent事件的监听器接口是(),注册该时间监听器的方法名是(),事件处理方法名是()7.图形用户界面通过()相应用户和程序的交互,产生事件的组件称为()8.Java的Swing包中定义菜单的类是()9.向容器内添加组件使用()方法10.对话框有两种类型,分别是()和()11.工具栏一般放在窗口的()位置12.若要使表格具有滚动条,需要将表格添加到()组件中。13.paint()方法的参数是()类的实例14.drawRect(intx1,inty1,intx2,inty2)中,x2和y2分别代表矩形的()和()二.选择题1.窗口JFrame使用()方法可以将jMenuBar对象设置为主菜单A.setHelpMenu(jMenuBar)B.add(jMenuBar)C.setJMenuBar(jMenuBar)D.setMenu(jMenuBar)2.下面属于容器类的是()A.Color类B.JMenu类C.JFrame类D.JTextField类3.使用()类创建菜单对象A.DimensionB.JMemuC.JMenuItemD.JTextArea4.使用()方法创建菜单中的分隔条A.setEditableB.ChangeListenerC.addD.addSeparator34 1.JPanel和JApplet的默认布局管理器是()A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout2.JFrame的默认布局管理器是()A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout3.按钮可以产生ActionEvent事件,实现哪个接口可以处理此事件()A.FocusListenerB.ComponentListenerC.ActionListenerD.WindowListener4.容器使用()方法将组件添加到容器A.addComponent()B.add()C.setComponent()D.Add()5.向JTextArea的()方法传递false参数可以防止用户修改文本A.setEditableB.changeListenerC.addD.addSeparator6.为了能够通过选择输入学生性别,使用组件的最佳选择是()A.JCheckBoxB.JRadioButtonC.JComboBoxD.JList7.当选中一个复选框,即在前面的方框上打上对勾,引发的事件是()A.ActionEventB.ItemEventC.SelectEventD.ChangeEvent8.窗口关闭时会触发的事件是()A.ContainerEventB.ItemEventC.WindowEventD.MouseEvent9.下面哪种对话框可以接受用户输入()A.showConfirmDialogB.showInputDialogC.showMessageDialogD.showOptionDialog10.addActionListener(this)方法中的this参数表示的意思是()A.当有事件发生时,应该使用this监听器B.this对象类会处理此事件C.this事件优先于其他事件D.只是一种形式11.以下类中,具有绘图能力的类是()A.ImageB.GraphicsC.FontD.Color12.Graphics类中提供的绘图方法分为两类:一类是绘制图形,另一类是绘制()A.屏幕B.文本C.颜色D.图像34 三、编程题1.设计一个图形界面的猜数字游戏程序2.设计一个将华氏温度转换为摄氏温度的程序,按钮完成温度的转换。公式:摄氏温度=(华氏温度-32)*5/93.设计一个C/S考试系统的界面(如下图),单击“确认”按钮后,使“开始考试”按钮可用,并使“学号”、“姓名”后的文本框及“确认”按钮不可用;单击“开始考试”按钮后使“下一题”按钮可用,同时设置“开始考试”按钮不可用。4.设计一个窗口,里面有两个文本框和一个按钮,在第一个文本框中输入一个数,当单击按钮时,在另一个文本框中显示该数字的平方根,要求能处理异常。5.下面的程序实现了在窗口中绘制一个以(70,70)为圆心,50为半径,边框是绿色的圆,圆心是红色的。请将程序补充完整:classExamextendsFrame{publicvoidpaint(Graphicsg){g.setColor(Color.green);g.drawOval(20,20,100,100);g.setColor(Color.red);__________________;}}6.下面的程序实现了在窗体的坐标(50,50)处以红色显示“红色文字”,请将程序补充完整:classExamextendsFrame{publicvoidpaint(Graphicsg){_____________________;g.drawString(“红色文字”,50,50);}}34 专题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.newDataOutputStream(newFile(“out.txt”));C.newDataOutputStream(newWriter(“out.txt”));D.newDataOutputStream(newOutputStream(“out.txt”));3.下面语句正确的是()A.RandomAccessFileraf=newRandomAccessFile(“myfile.txt”,”rw”);B.RandomAccessFileraf=newRandomAccessFile(newDataInputStream());C.RandomAccessFileraf=newRandomAccessFile(“myfile.txt”);D.RandomAccessFileraf=newRandomAccessFile(newFile(“myfile.txt”));4.下面哪个方法返回的是文件的绝对路径()A.getCanonicalPath()B.getAbsolutePath()C.getCanonicalFile()D.getAbsoluteFile()5.在File类提供的方法中,用语创建目录的方法是()A.mkdir()B.mkdirs()C.list()D.listRoots()6.程序如果要按行输入/输出文件中的字符,最合理的方法是采用()A.BufferedReader和BufferedWriter类B.InputStream和OutputStream类C.FileReader和FileWriter类34 D.File_Reader和File_Writer类7.RandomAccessFile类的()方法可用于设置文件定位指针在文件中的位置。A.readIntB.readLineC.seekD.close8.下面哪个流类使用了缓冲区技术()A.BufferadOutputStreamB.FileInputStreamC.DataOutputStreamD.FileReader三、编程题1.编写一段代码,实现的功能是:统计一个文件中字母“A”和“a”出现的总次数2.使用随机文件流类RandomAccessFile将一个文本文件倒置读出。3.编写一个Java应用程序,可以实现Dos中的type命令,并加上行号。即将文本文件在控制台上显示出来,并在每一行的前面加上行号。专题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)对象用于向数据库提交查询34 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类的对象三、编程题1.创建一个图书数据库,包含书号、书名、作者、出版社、出版日期、数量等字段,分别用两种方法连接该数据库。2.对上题中创建的图书数据库编写一个按照指定关键字查找图书信息的应用程序。3.使用预编译的SQL语句对图书信息进行查询、插入、修改和删除操作。专题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.关于协议下面说法正确的是(B)A.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)34 A.HTTPB.FTPC.SMTPD.NEWS1.HTTP服务的端口号是(A)A.80B.21C.23D.1202.下面URL合法的是(A)A.http://92.168.1.59/index.htmlB.ftp://192,168,1,1/incomingC.ftp://192.168.1.1:-1D.http://192.168.1.1.23.下面方法表示本机的是(C)A.localhostB.255.255.0.0C.127.0.0.1D.123.456.789.04.一个Socket由(A)唯一确定A.一个IP地址和一个端口号B.一个IP地址和一个主机名C.一个主机号和一个端口号D.一个IP地址5.获取本机地址可以使用下面哪个方法(B)A.getHostName()B.getLocalHost()C.getByName()D.getHostAddress()6.以下(A)方法可以获取指定URL的协议名A.publicStringgetProtocol()B.publicStringgetHost()C.publicfinalObjectgetContent()D.publicintgetPort()7.下面创建Socket的语句中正确的是(B)A.Socketa=newSocket(80);B.Socketb=newSocket(“130.3.4.5”,80);C.ServerSocketc=newSocket(80);D.ServerSocketd=newSocket(“130.3.4.5”,80);三.简答题1.什么叫套接字?它的作用是什么?2.建立Socket连接时,客户端和服务器端有什么不同?3.基于UDP的通信和基于TCP的通信有什么不同?4.客户端的套接字对象和服务器端的套接字对象是如何进行通信的?四.编程题1.编写一个程序,利用URL类来获取某一网站主页的HTML文件2.编写一对客户机/服务器程序,利用数据报将一个文件从一台机器传到另一台机器上34

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭