大学课程《java 程序设计》复习题_第1页
大学课程《java 程序设计》复习题_第2页
大学课程《java 程序设计》复习题_第3页
大学课程《java 程序设计》复习题_第4页
大学课程《java 程序设计》复习题_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学课程《java程序设计》复习题练习一(两类java程序) 1练习二(数据类型) 2练习三(运算符与表达式) 3练习四(条件,分支语句) 4练习五(条件,分支语句) 5练习六(控制结构与循环体内的跳转) 8练习七(方法) 8练习八(方法重载) 9练习九(数组) 9练习十(继承:类,属性和方法的继承,属性隐藏和方法覆盖,构造函数的继承,父类对象和子类对象的关系) 10练习十一(多态:抽象类和抽象方法,最终类和最终方法,接口) 16练习十二(异常处理) 17练习十三(杂) 19练习十四(io) 22练习十五(线程) 23练习十六(网络) 25练习十七(gui) 27练习十八(杂) 28javaJava3字节码文件)源程序文件的后缀是什么(.java),.class)8.类的定义由哪两部分组成(类头和类体)Java源程序中可以有多个公共类(主类)吗(不能)Java一致)Java应用程序(Application)的主类的类头应如何写(publicclass),方法的方法头应如何写(publicstaticvoidmain(Stringargs[])),Application的入口在哪(main())的主类中一定要有主方法(main)吗?是中的的字符使用什么编码(unicode)语言中,将源代码翻译成 时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误.(字节码)A).A)importsos.*;B)packagesos.*;C)sosimport;D)sospackage;下面关于封装性的描述中,错误的是( d )。A.封装体包含属性和行为 B.被封装的某些信息在外不可见C.封装提高了可重用性 封装体中的属性和行为的访问权限相同练习二(数据类型)Java语言中的一个整型常量的是(B).A)12.B)-20C)1,000D)456下列的变量定义中,错误的是(A).A)int6_a;B)floata;C)inti=Integer.MAX_VALUE;D)staticinti=100;3.下列的变量定义中,错误的是(A).A)inta;b;B)floata,b1=1.23f;C)charch1='d',ch2='\'';D)publicinti=100,j=2,k;4.下列的变量定义中,错误的是(D).A)int_a=123;B)longj=12345678900L;C)intm,n;D)statici=100;5.下列的变量定义中,正确的是(D).A)booleanb1="true";B)floatx=6.6;C)bytei=200;D)doubley;6.以下字符常量中不合法的是(C).A)'@'B)'&'C)"k"D)7.Java语言中的一个整型常量的是(AA)Integer.MAX_VALUEB)8.8FC)2.0E16D)true8.下列最终属性(常量)i的定义中,正确的是(C).A)staticfinaldoublei; B)abstractfinalinti=8; finaldoublei=3.14159;D)floati=1.2f;9.Javadouble(C).A)Float.MIN_VALUEB)1.8e-6FC)2.0D)'abcf'10.以下的变量定义语句中,合法的是(C).A)float$_*5=3.4F;B)byteb1=15678;C)doublea=Double.MAX_VALUE;D)int_abc_=3721L;11.以下字符常量中不合法的是(C).A)'|'B)'\''C)"\n"D)'我’类型,各占二进制的多少位(float32,double64Java的复合数据类型有那几种(类,数组和接口)true,false)字符串"\'a\'"(3语言中的逻辑变量可以和整型变量相互强制转换吗(不能)final)个比特位。A、8 B、16 C、32 D、64练习三(运算符与表达式)intB).A)a+1==2;B)a+=a*6;C)a=8.8f;D)inta=8;以下选项中的变量都已正确定义,不合法的表达式是(C).A)a>=4==b3;B)t=!false;C)t=(true|false);D)t=(2==3)true:false;3.Java语言语法的赋值语句是(A).A)m=n>=5;B)mk%c=h+y;C)j=t+%100;D)j=y>2=x+3;设i,j,k,mint型变量,下列表达式的结果属于逻辑值的是(A).A)i==k&j+k>=mB)i+kC)m++D)m=i+jB).A)a+1==2;B)a+=1;C)a=8.8f;D)a=newint(8);intx13;x8;,x(C).A)0B)1C)5D)8以下选项中,合法的赋值语句是(B).A)a==1;B)++i;C)a=a+1=5;D)!(++a!=b--);若所用变量都已正确定义,以下选项中,非法的表达式是(C).A)a!=4||b==1B)'a'%3C)'a'1/2D)'A'+32inta2;则执行完语句aa*a;,aC).A)0B)4C)-2D)–4booleanaa;下面赋值语句中正确的是(A).A)aa=false;B)aa=False;C)aa="true";D)aa=0;b3(D).booleanb1=true,b2=true,b3;b3=!b1b1:!b2;A)0B)1C)trueD)false设有定义inti=123;longj=456;(D).A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;Java语言语法的语句是(A).A)b=a!=7;B)a=7+b+c=9;C)i=12.3*%4;D)a=a+7=c+b;(B).intt1=9,t2=11,t3=8;intt4,t5;t4=t1>t2t1:t2+t1;t5=t4>t3t4:t3;A)8B)20C)11D)9,b,x,yD).intx=6,y=8;booleanb;b=x>y&&++x==--y;A)true,6,8B)false,7,7C)true,7,7D)false,6,816.执行下列程序段后,m,x,yB).intx=2,y=4;booleanm;m=++x>y--;A)true,2,4B)false,3,3C)true,3,3D)false,2,417.下面语句序列执行后,a(D).inta=13;a%=a/5;A)3B)13C)169D)1均为int型变量,x,y已赋值.用三目条件运算符求x,y的最大值和最小值,并分别赋给变量max和min,这两个赋值语句分别是 和.(max=x>yx:y;min=x<y?x:y;)练习四(条件,分支语句)下列语句序列执行后,mC).inta=10,b=3,m=5;if(a==b)m+=a;elsem=++a*m;A)15B)50C)55D)5下列语句序列执行后,x(d).inta=2,b=4,x=5;if(a<--b)x*=a;A)5B)20C)15D)10下列语句序列执行后,k(C).inti=10,j=18,k=30;switch(j-i){case8:k++;case9:k+=2;case10:k+=3;default:k/=j;}A)31B)32C)2D)33量并已正确赋值,正确的switch语句是(D).A)switch(a+b);{......}B)switch(a+b*3.0){ }C)switcha{......}D)switch(a%b){ }下列语句序列执行后,rC).charch='8';intr=10;switch(ch+1){case'7':r=r+3;case'8':r=r+5;case'9':r=r+6;break;default:r=r+8;}A)13B)15C)16D)18设int型变量a,b,float型变量x,y,char型变量ch均已正确定义并赋值,正确的switch(B).A)switch(x+y){......}B)switch(ch+1){ }C)switchch{......}D)switch(a+b);{ }下列语句序列执行后,k(D).intx=6,y=10,k=5;switch(x%y){case0:k=x*y;case6:k=x/y;case12:k=x-y;default:k=x*y-x;}A)60B)5C)0D)54下列语句序列执行后,r(B).charch='A';intr=6;switch(ch+5){case'A':r=r+3;case'B':r=r+5;case'C':r-=6;break;default:r/=2;}A)11B)3C)2D)9如果变量xx2. ;.(if(x%2==0)x+=2;)ch1,ch2char型变量:if(ch1=='a'){if(ch2=='b')System.out.print("ch1=\'a\',ch2=\'b\'");}elseSystem.out.print("ch1!=\'a\'");System.out.println("end");问题:1)若执行前ch1'a',ch2的值为'c'该程序段输出是什么(end)2)ch1的值为'w',ch2的值为'b'(ch1!='a'end)3)若执行前ch1的值为'a',ch2的值为'b'(ch1='a',ch2='b'end)练习五(条件,分支语句)下列语句序列执行后,jA).intj=1;for(inti=5;i>0;i-=2)j*=i;A)15B)1C)60D)0for(B).for(inti0;true;i++);A)B)无限次C)1D)一次也不执行下面语句执行后,i的值是(B).for(inti=0,j=1;j<5;j+=3)i=i+j;A)4B)5C)6D)7(D).intj=8,k=15;for(inti=2;i!=j;i++){j-=2;k++;}A)18B)15C)16D)17下列语句序列执行后,k(B).intm=3,n=6,k=0;while((m++)<(--n))++k;A)0B)1C)2D)3下列语句序列执行后,iD).ints=1,i=1;while(i<=4){s*=i;i++;}A)6B)4C)24D)5下列语句序列执行后,jC).intj=8,i=6;while(i>4)i-=2;--j;A)5B)6C)7D)8下列语句序列执行后,jB).intj=9,i=6;while(i-->3)--j;A)5B)6C)7D)8下列语句序列执行后,j(D).intj=3,i=2;while(--i!=i/j)j=j+2;A)2B)4C)6D)5若有循环:intx=5,y=20;do{y-=x;x+=2;}while(x<Y);则循环体将被执行(AA)2B)1C)0D)3(D).inti=10;do{i/=2;}while(i-->1);A)1B)5C)2D)-1(C).inti=10;do{i-=2;}while(i>6);A)10B)8C)6D)4下列语句序列执行后,i(D).inti=16;do{i/=2;}while(i>3);A)16B)8C)4D)2B).intk=0;do{++k;}while(k<1);A)一次也不执行B)1CD)有语法错,不能执行若有循环:intx=5,y=20;do{y-=x;x++;}while(++x<--y);则循环体将被执行(CA)0B)1C)2D)3下面是一个javaApplication),它的功能是在屏幕上输出26其中每个字母相隔一个制表符,请完成程序填空.(class(c++)+"\t"或(c++)+'\t')public Class1{publicstaticvoidmain(Stringargs[]){charc='a';for(inti=1;i<=26;i++){System.out.print( );}}}(Application),它的功能是计算s=1+2+3+...+10,请完成程序填空.(classi)public Class1{publicstaticvoidmain(Stringargs[]){ints=0;for(inti=1;i<=10;i++){s+= ;}System.out.println("s="+s);}}下面是一个javaApplication程序填空.(i<=9j*i)importjava.io.*;publicclassMyClass{publicstaticvoidmain(String[]args){intj=1;for(inti=1; ;i++){System.out.println(i+"*"+j+"="+ );}}}练习六(控制结构与循环体内的跳转)结构化程序设计的三种基本流程控制结构是: , , .(略)以下语句中能构成分支的语句是(B).A)forB)ifC)continueD)C).A)forB)while语句C)switchD)do-while语句以下语句中能构成多分支的语句是(C).A)forB)whileC)ifelseD)dowhile以下语句中是循环语句的是(D).A)break语句B)switchC)if语句D)dowhile语句C).A)forB)whileC)switchD)dowhile语句7.能从循环语句的循环体中跳出的语句是(B).B)breakC)continueD)return8.阅读程序后回答问题.publicclassContinueTest{publicstaticvoidmain(Stringargs[]){charc='i';for(intn=6;n<11;n++){if(n==8)continue;System.out.print("\t"+(c++));}}}问题:1)(ijkl)break(ij)练习七(方法)是求两参数之积的整数部分.(return(int)(x*y))intm(floatx,floaty){ ;}一个方法如果没有返回值,方法头定义中的返回值类型为何(void)一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用这种变量称为什么变量(不能;局部变量)采用 的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高.(模块化)下面方法的功能是判断一个整数是否为偶数,将程序补充完整.(booleantrue)public isEven(inta){if(a%2==0)return ;elsereturnfalse;}练习八(方法重载)同一个类中多个方法具有相同的方法名,不同的 称为方法的重载.(参数列表)在某个类中存在一个方法:voidgetSort(intx),以下能作为这个方法的重载的声明的是(C).A)publicgetSort(floatx)B)intgetSort(inty)C)doublegetSort(intx,inty)D)voidget(intx,inty)在某个类中存在一个方法:voidsort(intx),以下不能作为这个方法的重载的声明的是(B).A)publicfloatsort(floatx)B)intsort(inty)C)doublesort(intx,inty)D)voidsort(doubley)为了区分类中重载的同名的不同方法,要求(A).A)BC)D)练习九(数组)1.a:int[a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数aB).A)System.out.println(a[10]);B)System.out.println(a[9]);C)System.out.println(a[a.length]);D)System.out.println(a(8));2.下面关于数组定义语句不正确的是(DA)int[]a1,a2;B)inta0[]={11,2,30,84,5};C)double[]d=newdouble[8];D)floatf[]=new{2.0f,3.5f,5.6f,7.8f};inta[]={3,9,-9,-2,8};则以下对此语句的叙述错误的是(C).A)a5B)数组中的每个元素是整型C)a3D)a[a.length-1]是合法的inta[]={66,88,99};C).A)aB)a3C)a1~3D)数组中的每个元素是整型下面声明正确的语句是(B).A)intArraya1,a2;inta3[]={1,2,3,4,5};B)int[]a1,a2;inta3[]={1,2,3,4,5};C)inta1,a2[];inta3={1,2,3,4,5};D)int[]a1,a2;inta3=(1,2,3,4,5);设i,jint,aint(B).A)i=i2B)a[0]=7;C)i++--j;D)a(0)=66;7.byte[]x={11,22,33,-66};xC).A)x[5-3]B)x[k]C)x[k+5]D)x[0]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[2],a[4]D)a[0],a[1],a[2],a[3],a[4]设有整型数组的定义:inta[]=newint[8];,则a.length的值为 .(8)定义数组,需要完成以下三个步骤,即: , 和 .(声明数组;创建数组空间;初始化)在Java语言中,所有的数组都有一个 属性,这个属性存储了该数组的元素的个数(数组长度).(length)若有定义int[]a=newint[8];则a的数组元素中第7个元素和第8个元素的下标分别是 和 .(67)定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明,创建和赋值: ;.(inty[]={1,2,3,4,5};)数组一定占用连续的内存空间吗(是)下面是一个类的定义,请将其补充完整.(classstatic) A{Strings; inta=666;A(Strings1){s=s1;}staticintgeta(){returna;}}22.阅读程序,回答问题.publicclassTest52{Stringstaticstr1="Hello,Javaworld!\t";Stringstaticstr2="Hello,students!";publicstaticvoidmain(Stringargs[]){System.out.print(str1);System.out.println(str2);}}问题:1)这是哪种形式的java(java2)Applet窗口中吗(Hello,Javaworld!Hello,students!练习十(继承:类,属性和方法的继承,属性隐藏和方法覆盖,构造函数的继承,父类对象和子类对象的关系)B).A)多重的BC)线程的D)不能继承JavaC).B)抽象类不能有子类C)JavaD)最终类可以作为其它类的父类下面是有关子类继承父类构造函数的描述,其中正确的是(B).如果子类没有定义构造函数,则子类无构造函数superD)子类无法继承父类的构造函数A,BBAD).A)classAextendsBB)classBimplementsAC)classAimplementsBD)classBextendsA子类可以继承父类的 (非私有).构造函数也能被继承和重载.如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量 了父类的同名变量.(隐藏)如果子类中的某个方法的名字,返回值类型和 与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法.(参数列表)抽象,封装, 和多态是Java语言的四大特性.(继承)Java仅支持类间的 重继承.(单重)能;方法覆盖要求子类方法头定义必须与父类方法头定义完全一样.)一个子类可以重新定义从父类那里继承来的同名方法.但是,允许它们有不同类型的返回值吗(不能)子类对象如何引用被它隐藏了的父类的属性和调用被它覆盖了的父类的方法(使用super能;是;)this代表什么(this下面是一个类的定义,完成程序填空.(Youwritethis.x=x;)publicclassYouwrite{intx; (){x=0;}Youwrite(intx){ ;}}现有类说明如下,请回答问题:publicclassA{Stringstr1="Hello!\t";Stringstr2="Howareyou";publicStringtoString(){returnstr1+str2;}}publicclassBextendsA{Stringstr1="\b\b,Bill.";publicStringtoString(){returnsuper.str1+str1;}}问题:ABstr1toString(藏;方法的覆盖)aAa.toString()的返回值是什么(Hello!HowareyoubBb.toString()的返回值是什么(Hello,Bill.)23.现有一个类定义如下,请回答问题:classEmployee{Stringname;intage;doublewage;staticintNo=0;Employee(Stringa1,inta2,doublea3){name=a1;age=a2;wage=a3;No++;}}在使用该类时,已使用下面语句生成了该类的对象:Employeee1,e2;e1=newEmployee("王劲",26,6300);e2=newEmployee("张山",30,3800);问题:;30;3800.0)e1,e2e1.NoNo(2;能)25.阅读程序,回答问题.publicclassInheritTest1{publicstaticvoidmain(String[]args){Aaa;Bbb;aa=newA();bb=newB();aa.show();bb.show();}}classA{inta=1;doubled=2.0;voidshow(){System.out.println("ClassA:"+"\ta="+a+"\td="+d);}}classBextendsA{floata=3.0f;Stringd="Javaprogram.";intb=4;voidshow(){System.out.println("ClassA:"+"\ta="+super.a+"\td="+super.d);super.show();System.out.println("ClassB:"+"\ta="+a+"\td="+d+"\tb="+b);}}java(java2)ABBA按程序输出的格式写出程序运行后的结果.(程序运行结果如下:ClassA:a=1d=2.0ClassA:a=1d=2.0ClassA:a=1d=2.0ClassB:a=3.0d=Javaprogram.b=4)26.现有类说明如下,请回答问题:classA{intx=10;intgetA(){returnx;}}classBextendsA{intx=100;intgetB(){returnx;}}问题:1)BAx(能)bBb.getB()的返回值是什么(100)bBb.getA()的返回值是什么(10)ABx(属性的隐藏)有如下源程序,请回答问题:classA{Strings="classA";}classBextendsA{Strings="classB";}publicclassTypeConvert{publicstaticvoidmain(Stringargs[]){Bb1,b2=newB();Aa1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s);System.out.println(a2.s);b1=(B)a1;System.out.println(b1.s);System.out.println(b2.s);}}问题(classAclassAclassBclassB)现有类说明如下,请回答问题:publicclassA{intx=888;Stringstr="Ilike:";publicStringtoString(){returnstr+x;}}publicclassBextendsA{Stringx="java";publicStringtoString(){returnstr+x+"and"+super.x;}}问题:1)ABBA2)ABtoString(),这种现象称为什么(方法的覆盖)3)aAa.toString()的返回值是什么(Ilike:888)4)bBb.toString()的返回值是什么Ilike:javaand88829:(b)。abstractfinalfinalabstract设有下面两个赋值语句:a=Integer.parseInt(“1024”);b=Integer.valueOf(“1024”).intValue();下述说法正确的是(d )。ab、abclassX{Yb=newY();X(){System.out.print("X");}}classY{Y(){System.out.print("Y");}}publicclassZextendsX{Yy=newY();Z(){System.out.print("Z");}publicstaticvoidmain(String[]args){newZ();}}A.ZB.YZC.XYZD.YXYZD6.关于实例方法和类方法,以下描述正确的是: (D)实例方法只能访问实例变量类方法既可以访问类变量,也可以访问实例变量类方法只能通过类名来调用实例方法只能通过对象来调用下列关于继承的说法哪个是正确的?BB.子类继承父类的非私有属性和方法;C.D.子类将继承父类的所有的属性和方法。wait()方法。你将如何来做?dwait()方法。wait()方法。ObjectObjectwait()已经被最终定义。下列选项中,用于定义接口的关键字是(A).A)interfaceB)implementsCabstractD)class下列选项中,用于实现接口的关键字是(B).A)interfaceB)implementsCabstractD)class抽象方法只有方法头,没有 .(方法体)Java语言的接口是特殊的类,其中包含 常量和 abstract(抽象))接口中所有属性均为 , 和 .(public,static,final)用那个关键字定义抽象类和抽象方法(abstract)抽象类只能做为父类吗(也可以包含抽象方法,做为抽象子类)可以定义抽象类的对象吗(不能)抽象方法能被继承吗(能)抽象方法只能存在于抽象类中吗(是;也可以存在在接口中)final12(final)最终类能做为父类吗(不能)最终方法能被继承吗(不能)最终方法只能存在于最终类中吗(不一定)声明为staticprivatefinal接口中所有方法均为抽象方法吗(是)public和20.ITF(interfaceabstractpublic ITF{publicstaticfinaldoublePI=Math.PI;public doublearea(doublea,doubleb);}.(final";")publicinterfaceA{publicstatic doublePI=3.14159;publicabstractdoublearea(doublea,doubleb) }在使用interface声明一个接口时,只可以使用(d 饰符修饰该接口。A、private B、protectedC、privateprotected D、public23.关于接口的定义和实现,以下描述正确的是: (A)接口定义中的方法都只有定义没有实现finalstatic如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.下列关于抽象类的说法四个是正确的?CB.接口和抽象类是同一回事;C.绝对不能用抽象类去创建对象;D.抽象类中不可以有非抽象方法。练习十二(异常处理)1、异常是一种运行时错误,在java中,异常是以对象的方法表示的,任何异常对象都是 类或其子类的对象。(Throwable)异常分为两大类:检查的和非检查的异常。非检查的异常是Error类和 类的实例,它代表程序不必处理严重系统错误;检查异常是 类的子类,它代表程序应该而且能够处理的错误。(RuntimeExceptionException)导致错误时,包含语句的方法将创建异常对象并把它传递到系统,这个过程称为 (抛出异常)的异常处理通过5个关键字来实现它们是trycatchthrowthrows和finally。进行异常监测的代码要放在try子句内捕获异常需要使用 子句;在方法中宣布可能产生的异常应使用 关键字。(catch、throws)5、下列说法正确的是(D)finallytrycatch之后才执行trycatchfinallytryfinally被执行6、关于异常的应用,下列说法恰当的是(B)java在程序中过多的使用异常,会使程序的执行效率降低7、关于异常的捕获和处理,下列说法不正确的是(D)trycatchcatchtrycatchJVMcatchcatchtrytrycatch就会造成程序非正常终止。8、 当方法遇到异常又不知如何处理时,下列 C 做法是正确的。A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常9、下列常见的系统定义的异常中,哪个是数组越界异常?aArrayIndexOutOfBoundsExceptionB)IOExceptionC)NullPointerExceptionD)ArithmeticExceptionpublicclassThrowsDemo{staticvoidthrowMethod(){System.out.println("InsidethrowMethod.");thrownewIllegalAccessException("demo");}publicstaticvoidmain(Stringargs[]){try{throwMethod();}catch(IllegalAccessExceptione){System.out.println("Caught"+e);}}}A.编译错 B.运行错 C.编译成功,但是没有输出结果 D.以上都不是答案:Acatch,则程序会按如下哪种情况执行?CAcatch.Bcatchcatch。Dcatch执行终止。cstObjects[ctr].displayDetails();要避免上面提到的运行时错误你应该采取下列哪一个行动?dthrow声明来发出异常警报ArrayOutOfBoundsExceptioncatch同一个异常。try块中写入代码并且在finallyArrayOutofBoundsException。try块中写入代码并且在catchArrayOutofBoundsException。练习十三(杂)Applicationmain哪项是合法的( )?A、publicstaticvoidmain()B、publicstaticvoid main(Stringargs[])C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])答:B为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。A、staticvoidmethod() B、publicvoidmethod()C、finalvoidmethod() D、abstractvoidmethod()答:AApplication源程序的主类是指包含有( )方法的类。A、main方法 toString方法C、init方法 方法答:A的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A、8 B、16 C、32 D、64答:B若a的值为3时,下列程序段被执行后,c的值是多少?( )c=1;if(a>0)if(a>3)c=2; elsec=3;elsec=4;A、1B、2 C、3D、4答:C程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。A、import java.awt.*; B、import java.applet.Applet;C、import java.io.*; D、import java.awt.Graphics;答:C对于构造函数,下列叙述不正确的是( BvoidD、一般在创建新对象时,系统会自动调用构造函数。答:B设有下面两个类的定义:classPerson{ classStudentextendsPerson{long id; //身份证号 intscore;//入学总分Stringname; //姓名 intgetScore(){} returnscore;}}问:类Person和类Student的关系是( A、包含关系 B、继承关系C、关联关系 、无关系,上述类定义有语法错误答:B、设有下面的两个类定义:classAA{Show(){System.out.println(Java!”);}classBBextendsAA{Show(){System.out.println(C++!”);}则顺序执如下语后输出果为( AA a; BB b;a.Show(); b.Show();A、我喜欢Java! B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java! D、我喜欢C++!我喜欢Java! 我喜欢C++!答:A设有下面的一个类定义:classAA{staticvoidShow(System.out.printlnJava!”);}}classBB{voidShow(System.out.printlnCAAaBBb,则下面哪一个方法调用是正确的:( )A、a.Show() B、AA.Show();b.Show() BB.Show();C、AA.Show(); D、a.Show();b.Show( BB.Show();答:C同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( A、隐藏 B、覆盖 C、重载 答:C在Java中,存放字符串常量的对象属于( )类对象。A、Character B、StringC、StringBuffer D、Vector答:B在编写异常处理的Java程序中每个catch语句块都应该与( 块对应,JavaA、if–else B、switch C、try D、throw答:C对于子类的构造函数说明,下列叙述中不正确的是( A、子类无条件地继承父类的无参构造函数。super这个调用语句必须是子类构造函数的第一个可执行语句。C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。答:D二、填空题。设x=2,则表达式(x++)*3的值是 。答:6若x=5,y=10,则x>y和x<=y的逻辑值分别为 和 。答:false、true同,Java源程序分为两大类: 程序和 程序。答:JavaApplication、JavaApplet(或Application、Applet)如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。答:4、class开发与运行Java程序需要经过的三个主要步骤为 、和 。MyJavaApplication.javaSun该顺序执行如下两个命令:、。答:javac MyJavaApplication.java、javaMyJavaApplication字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用字节内存空间。答:2、2Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在JavaApplication中,这个主类是指包含 法的类;在JavaApplet里,这个主类是一个系统类 的子类。答:main Applet创建一个名为MyPackage的包的语句是 ,该语句应该放在程序的位置为: 。答:package MyPackage; 应该在程序第一句。形式参数指的是方法被 数行,实际参数是方法被时所传递进去的变量或值。答:定义、调用多态是指 ,在Java中有两种多态,一种是使用方法的 实现多态另一种是使用方法的 实现多态。答:一个程序中有多个同名的不同方法 覆盖 重载在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。答:单、多13.设有数组定义:int MyIntArray[]={10,20,30,40,50,60,70,80,90,100};则执行以下几个语句后的输出结果是 。ints=0;for(inti=0;i<MyIntArray.length;i++)s+=MyIntArray[i];System.out.println(s);答:550练习十四(io)符文件Employee.dat时,使用该文件作为参数的类是D 。A、BufferedReader B、DataInputStream C、DataOutputStream FileInputStreamI/O。BufferedReader(或字符数组)的效率。其构造方法为:publicBufferedReader(Readerin)publicBufferedReader(Readerin,intsz)Java类型。构造方法为:DataInputStream(InputStreamin)FileInputStream(Stringname)FileInputStream(Filefile)要串行化某些类的对象,这些类就必须实现 A 。A、Serializable接口 接口、java.io.DataInput接口 D、DataOutput接口bA)skip()B)close()C)mark()D)reset()CpublicclassA{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));Stringstr=buf.readLine();intx=Integer.parseInt(str);System.out.println(x/100);}}A)45B)5C)123D)123456、属于Java输入输出流的、且处理的是char类型的类是( 。aA、Reader类 类C、OutputStream类D、File类练习十五(线程)一个JavaApplication运行后,在系统中是作为一个 B 。A、线程 B、进程 C、进程或线程 D、不可预知2、下列方法中可以用来创建一个新线程的是C。java.lang.Runnablestart()方法Bjava.lang.Runnablerun()方法Cjava.lang.Threadrun()方法start()方法3、 下列关于线程优先级的说法中,正确的是C 。A、线程的优先级是不能改变的 B、线程的优先级是在创建线程时设置的C、在创建线程后的任何时候都可以设置 、B和C4、 的线程并启动运行,请将程序补充完整。publicclassThreadTestextendsThread{publicstaticvoidmain(Stringargs[]){ThreadTestt=newThreadTest() ;t.start();}publicvoidrun(){inti=0;while(true){System.out.println("Hello!");if(i++==4) break;}}5、 下列叙述中,正确的是C 。A、Reader是一个读取字符文件的接口 数据文件的抽象类C、Reader是一个读取字符文件的抽象类 是一个读取字节文件的一般类6、下列哪个关键字通常用来对对象进行加锁,该标记使得对对象的访问是排他的?cA)transientserializeC)synchronizedD)static7、下列有关线程的叙述哪个是正确的?b一旦一个线程被创建,它就立即开始运行方法可以使一个线程成为可运行的,但是它不一定立即开始运行C)主线程不具有默认优先级0~98(12)在线程中普通优先级的线程,其优先级默认值为(5)。解析:NORM_PRIORITY5。MIN_PRIORITY1。MAX_PRIORITY10。程序中实现多线程的方法有两种:继承 类和实现Runnable接口。ThreadCPU的控制(假设睡眠过程中不会有其他事件唤醒该线程)?(C)(A)正好1000毫秒(B)1000毫秒不到(C)=>1000(D)不一定Java()aJavaCPUThreadCThreadjava.utilD以上说法无一正确classMyThreadextendsThread{publicvoidrun(){System.out.println("MyThread:run()");}publicvoidstart(){System.out.println("MyThread:start()");}}classMyRunnableimplementsRunnable{publicvoidrun(){System.out.println("MyRunnable:run()");}publicvoidstart(){System.out.println("MyRunnable:start()");}}publicclassMyTest{publicstaticvoidmain(Stringargs[]){MyThreadmyThread = newMyThread();MyRunnablemyRunnable=newMyRunnable();Threadthread = newThread(myRunnable);myThread.start();thread.start();}}MyThread:start()后面跟MyRunnable:run()MyThread:run()后面跟MyRunnable:start()MyThread:start()MyRunnable:start()MyRunnable:run()ApublicclassMyThreadimplementsRunnable{StringmyString="Yes";publicvoidrun(){this.myString="No";}publicstaticvoidmain(String[]args){MyThreadt=newMyThread();newThread(t).start();for(inti=0;i<10;i++)System.out.print(t.myString);}}A.打印yesyesyesyesyesyesB.打印nonononononononoyesnoyesnoyenoyenoD.不确定答案D检查下列关于线程的陈述的正确性。dB:如果一个线程终止了,那么处理过程也随之终止。a.A是正确的,B是错误的。 A是错误的,B是正确的。c.A和B都是正确的。 d.A和B都是错误的练习十六(网络)1、SocketcSocketSocketSocketA)①③②④B)②①③④C)③①②④D)①②③④2Javajava.ioSocket(ServerSocket)实现有连接通讯.(只写出两端的通信连接结构语句)3Javajava.ioSocket(ServerSocket)实现无连接的通讯。(只写出两端的通信连接结构语句)8888端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。Stringplain""hllo"Mem.txt("Memo.tt"户返回ServerServer.java:publicclassServer{publicstaticvoidmain(Stringargs[]){MemoControllermemoController=newMemoController();try{ServerSocketss=newServerSocket(1999);while(true){Sockets=ss.accept();try{UserThreadt=newUserThread(s,memoController);t.start();}catch(Exceptione){e.printStackTrace();}}}catch(Exceptione){e.printStackTrace();}finally{memoController.close();}}}UserThread.java:publicclassUserThreadextendsThread{Sockets;MemoControllermemo;publicUserThread(Sockets,MemoControllermemo){this.s=s;this.memo=memo;}publicvoidrun(){try{BufferedReader br = new BufferedReader(newInputStreamReader(s.getInputStream()));PrintWriter pw = new PrintWriter(newOutputStreamWriter(s.getOutputStream()));Stringreq=br.readLine();if(req.equals("plain")){pw.println("hello");}else{memo.append(req);pw.println("OK");}pw.flush();pw.close();br.close();s.close();}catch(Exceptione){e.printStackTrace();}}}请根据题目的要求和现有的Server.java,UserThread.java的程序完成类MemoController.java练习十七(gui)1、Panel默认的布局管理器是 A、FlowLayout 。件"file.dat"文件中读出第10个字节到变量C中,下列A 方法适合。、FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();、FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();C、FileInputStreamin=newFileInputStream("file.dat");intc=in.read();D 、RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();3Framec是Window类的直接子类 对象显示的效果是一个窗口C)Frame被默认初始化为可见 4、在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( )包。A、java.io B、java.awtC、java.applet D、java.awt.event答:Bgxdd的语句为();创建一个标识有gb的语句为()。MyFrameFrame(ru()方法:publicclassMyFrameextndsrameimplementsRunnable容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?bACardLayout BFlowLayout CBorderLayout DGridLayoutpublicclassOuter{publicvoidsomeOuterMethod(){//Line3}publicclassInner{}publicstaticvoidmain(String[]argv){Outero=newOuter();//Line8}}A.newInner();//Atline3B.newInner();//Atline8C.newo.Inner();//Atline8D.newOuter.Inner();//Atline8//newOuter().newInner()答案:A解释:在外部类的之内定义内部类:OuterClass.InnerClassinnerObject=outerObject.newInnerClass(ConstructorParameters);newInner();this.newInner();也可以在第八行写成:Inneri=o.newInner();或者Outer.Inneri=o.newInner();Gameelp“PlayGame”和“CurrentScorevsTimeRemaining”进行操纵。你希望主面板显示在layout?ba.BorderLayout b.GridLayout c.BoxLayout d.FlowLayoutbactionPerformed() b.getSource() c.super()d.getContentPane()Frame么布局管理器BA.BorderLayout B.FlowLayout C.CardLayout D.GridLayout容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器( 错)变?(B)A.CardLayout B.FlowLayout C.BorderLayout D.GridLayout练习十八(杂)1、Java语言的各种数据类型之间提供两种转换:强制转换和 自动转换 。2、 是正确的。A、if(a==b) {System.out.print("Equal")}B、if(c==b){System.out.print("Equal")}C、if(a==c){System.out.print("Equal")}D、if(c=b){System.out.print("Equal")}3Javaimportjava.lang。4JavaaA)publicB)privateC)protectedD)没有这种类5、下列关于变量的叙述哪个是错的?bA)实例变量是类的成员变量 明C)在方法中定义的局部变量在该方法被执行时创建D)局部变量在使用前必须被初始化6、执行完句int[]x=newin[25;,下列哪项法是正的?aA)x[24]值为0 B)x[24]值未定义 值为空7JavaaA)java.lang B)java.awt C)java.io D)java.applet关系。9(9)。Strings="全国计算机等级考试";System.out.println(s.length());方法,其返回字符串的字符个数。10、关键字 用于导入包中的类到程序中,供程序中使用。Import下面关于垃圾收集的说法正确的是:(D)(A)一旦一个对象成为垃圾,就立刻被收集掉。(不会随时有动作的)(B)finalize(之前)C++的析构函数是完全一回事情(析构可以主动,Finalize动的)(D)一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此。则在类A的其他构造方法中调用该构造方法的语句格式应为 (C)A(x) B. this.A(x) C. this(x)super(x)13、如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。答:4、class14.设有下面两个类的定义:classPerson{ classStudentextendsPerson{long id; //身份证号 intscore;//入学总分Stringname; //姓名 intgetScore(){} returnscore;}}问:类Person和类Student的关系是( A、包含关系 B、继承关系C、关联关系 、无关系,上述类定义有语法错误答:B、2009-2010第二学期《java程序设计》复习题可能题型:程序填空、读程写结果、编程1、publicclassIf3{publicstaticvoidmain(String[]args){intaverage=75;Stringjudgement;if(average>=90){judgement=”A’;}elseif(average>=80){judgement=”B’;}elseif(average>=70){judgement=”C’;}elseif(average>=60){judgement=”D’;}else{judgement=”E’;}System.out.println(“平均=”+average);System.out.println(“评价=”+judgement);}}2、publicclassSwitch3{publicstaticvoidmain(String[]args){inta=1;switch(a){case1:System.out.println(“111”);case2:System.out.println(“222”);break;case3:System.out.println(“333”);default:System.out.println(“未知”);}}}3、publicclassFor8_1{publicstaticvoidmain(String[]args){for(inta=1;true;a++){if(a==6)break;System.out.print((a+”“);}}}4、publicclassFor8_2{publicstaticvoidmain(String[]args){for(inta=1;a<=10;a++){//x1if(a<=5)continue;System.out.print((a+”“);}//x4}}5、publicclassFor11{publicstaticvoidmain(String[]args){for(inta=1;a<=3;a++){for(intb=1;b<=2;b++){if(a<=2)continue;System.out.println(a+””+);}System.out.println(“你好”+a)} }}6、publicclassFo15{publicstaticvoidmain(String[]args){for(inta=1;a<=5;a++){for(intb=1;b<=a;b++)System.out.print(’*’);System.out.println();}}}7、publicclassA2{publicstaticvoidmain(String[]args){intn=29;inti;for(i=2;i<=n-1;i++)if(n%i==0)break;if(i>n-1)System.out.println(n+"是素数");else}}

System.out.println(n+"是合数");8、publicclassA5{publicstaticvoidmain(String[]args){intk=1;for(inti=1;i<5;i++){for(intj=1;j<=i;j++){System.out.print(k);k++;}System.out.println();} }}9、publicclassArray6{publicstaticvoidmain(String[]args){int[][]a;a=newint[3][];int[]sum=newint[3];a[0]=newint[]{100,80,80,75,90};a[1]=newint[]{50,60,60,65,55};a[2]=newint[]{100,100,100,100,100};for(inti=0;i<a.length;i++){for(intj=0;j<a[i].length;j++)sum[i]+=a[i][j];}for(inti=0;i<sum.length;i++)System.out.println(”合计=”+sum[i]);System.out.println();}}10、classMan{intheight;intage;}publicclassClass1{publicstaticvoidmain(String[]args){Manman1;man1=newMan();man1.height=180;man1.age=20;System.out.println(man1.height);System.out.println(man1.age);}}11、ClassMan{intheitht;intage;}publicclassClass2{publicstaticvoidmain(String[]args){Manman1;man1=newMan();Manman2;man2=man1;man1.height=180;man1.age=20;System.out.println(man2.height);System.out.println(man2.age);}}12、publicclassClass3{doublef(intx){return2.5+x;}publicstaticvoidmain(String[]args){Class3aaa=newClass3();//x3doubley=aaa.f(3);System.out.println(y);System.out.println(aaa.f(2));}}13、publicclassClass4{VoidprintInt(intx){System.out.println(“整数=”+x);}publicstaticvoidmain(String[]args){Class4aaa=newClass4();System.out.println(“你好~~”);}}14、publicclassClass5{voidprintInt(intx){if(x<=0)return;System.out.println(“整数=”+x);}publicstaticvoidmain(String[]args){Class5aaa=newClass5();aaa.printInt(10);aaa.printInt(-10);}}15、publicclassClass6{Voidhello(){System.out.println(“您好!”);}publicstaticvoidmain(String[]args){Class6aaa=newClass6();aaa.hello();aaa.hello();}}16、classClass10{inta;voidsetA(inta){this.a=a;}intgetA(){returnthis.a;}publicstaticvoidmain(String[]args){class10ob=newClass10();ob.setA(1000);System.out.println(ob.a);System.out.println(ob.getA());}}17、publicclassClass11{voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论