《JAVA程序设计》期末复习题_第1页
《JAVA程序设计》期末复习题_第2页
《JAVA程序设计》期末复习题_第3页
《JAVA程序设计》期末复习题_第4页
《JAVA程序设计》期末复习题_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1 2009-20102009-2010 第二学期第二学期javajava 程序设计复习题程序设计复习题 练习一练习一( (两类两类 javajava 程序程序) ) 1.JavaJava 是低级语言还是高级语言 (高级) 2.JavaJava 是面向对象的程序设计语言吗 (是) 3. JavaJava 是编译型的计算机语言还是解释型的计算机语言 (解释型) 4. JavaJava 语言的程序设计包含哪 3 个步骤 (编写源程序,编译源程序,解释运行编译后形成的字节码文件) 5. JavaJava 源程序文件的后缀是什么 (.javajava) 6. JavaJava 源程序经编译后生成什么文件 其后缀是什么 (字节码文件,.class) 7. JavaJava 程序有哪两类 (javajava 应用程序,javajava 小程序) 8.类的定义由哪两部分组成 (类头和类体) 9.方法的定义由哪两部分组成 (方法头和方法体) 10.一个 JavaJava 源程序中可以有多个公共类(主类)吗 (不能) 11.一个 JavaJava 源程序中可以有多个类吗 若有多个类时,程序文件名是什么 (能,与公共类名一致) 12. JavaJava 应用程序(Application)的主类的类头应如何写(public class 类名), 它的主方法的方法头应如何写(public static void main(String args), Application 的入口在哪(main() 13.JavaJava 应用程序(Application)的主类中一定要有主方法(main)吗 ?是 14.JavaJava 中的的字符使用什么编码 (unicode) 15. 在 JavaJava 语言中,将源代码翻译成_时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误.(字节码) 16. 为了使包 sos 中的所有类在当前程序中可见,可以使用的语句是( A ). A)import sos.*; B)package sos.*; C)sos import; D)sos package; 17. 下面关于封装性的描述中,错误的是(d)。 A封装体包含属性和行为B被封装的某些信息在外不可见 C封装提高了可重用性D封装体中的属性和行为的访问权限相同 练习二练习二( (数据类型数据类型) ) 1.以下的选项中能正确表示 JavaJava 语言中的一个整型常量的是( B ). A) 12. B) -20 C) 1,000 D) 4 5 6 2.下列的变量定义中,错误的是( A). A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 3.下列的变量定义中,错误的是(A). A) int a;b; B) float a,b1=1.23f; C) char ch1=d,ch2=; D) public int i=100,j=2,k; 4.下列的变量定义中,错误的是(D). A) int _a=123; B) long j=12345678900L; C) int m,n; D) static i=100; 5.下列的变量定义中,正确的是(D). A) boolean b1=true; B) float x=6.6; C) byte i=200; D) double y; 6.以下字符常量中不合法的是(C). A) B) B) abstract final int i=8;C) final double i=3.14159;D) float i=1.2f; 9.以下的选项中能正确表示 JavaJava 语言中的一个 double 型常量的是(C). A) Float.MIN_VALUE B) 1.8e-6F C) 2.0 D)abcf 10.以下的变量定义语句中,合法的是(C). A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 11.以下字符常量中不合法的是(C). A) | B) C) n D) 我 12. JavaJava 语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为哪两种具体类型,各占二进制的多少位 (float 32 位,double 64 位) 13. JavaJava 的复合数据类型有那几种 (类,数组和接口) 14.在 JavaJava 语言中,逻辑常量只有哪两个值 (true,false) 15.字符串 a 的长度是几(即有几个字符) (3 个字符) 16. JavaJava 语言中的逻辑变量可以和整型变量相互强制转换吗 (不能) 17. 在程序中可对用 final 修饰的变量的值进行更改吗 (不能) 18Java 的字符类型采用的是 Unicode 编码方案,每个 Unicode 码占用(B)个比特位。 A、8B、16C、32D、64 练习三练习三( (运算符与表达式运算符与表达式) ) 1.已定义 a 为 int 类型的变量.以下选项中,合法的赋值语句是( B ). A) a +1=2; B) a+=a*6; C) a=8.8f; D) int a=8; 2.以下选项中的变量都已正确定义,不合法的表达式是(C ). 2 A) a = 4 = = b3; B)t=!false; C)t=(true|false); D)t=(2=3) true:false; 3.以下变量均已正确定义并赋值,下面符合 JavaJava 语言语法的赋值语句是(A ). A) m = n=5; B) m = k % c=h+y; C) j=t+ % 100; D) j = y 2= x + 3; 4.设 i, j, k, m 为已赋值的 int 型变量,下列表达式的结果属于逻辑值的是( A). A) i=k B) a+=1; C) a=8.8f; D) a=new int(8); 6.若有定义 int x = 13;则执行完语句 x %= 8; 后,x 的值是(C ). A) 0 B) 1 C) 5 D) 8 7.以下选项中,合法的赋值语句是( B ). A) a = = 1; B) + i; C) a=a + 1= 5; D) !(+a!=b- -); 8.若所用变量都已正确定义,以下选项中,非法的表达式是( C). A) a != 4|b= =1 B) a % 3 C) a = 1/2 D) A + 32 9.若有定义 int a = 2;则执行完语句 a -= a * a; 后,a 的值是( C). A) 0 B) 4 C) -2 D) 4 10.现有一变量声明为 boolean aa;下面赋值语句中正确的是( A ). A) aa=false; B) aa=False; C) aa=true; D) aa=0; 11. 下列程序段执行后 b3 的结果是(D). boolean b1=true, b2=true, b3; b3= !b1 b1 :!b2; A) 0 B) 1 C) true D) false 12. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是(D). A) j=i; B) j=(long)i; C) i=(int)j; D) i=j; 13.若以下变量均已正确定义并赋值,下面符合 JavaJava 语言语法的语句是( A). A)b=a!=7; B)a=7+b+c=9; C)i=12.3* %4; D)a=a+7=c+b; 14.下列程序段执行后 t5 的结果是(B ). int t1 = 9, t2 = 11, t3=8; int t4,t5; t4 = t1 t2 t1 : t2+ t1; t5 = t4 t3 t4 : t3; A) 8 B) 20 C) 11 D) 9 15.执行下面程序段后,b, x, y 的值分别是( D). int x=6,y=8; boolean b; b=xy A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)false, 6, 8 16.执行下列程序段后,m,x,y 的值分别是( B). int x=2,y=4; boolean m; m=+xy-; A)true , 2,4 B)false , 3,3 C) true, 3,3 D) false, 2,4 17.下面语句序列执行后,a 的值是(D ). int a=13; a%=a/5; A) 3 B) 13 C) 169 D) 1 18.设 x,y,max,min 均为 int 型变量,x,y 已赋值.用三目条件运算符求 x,y 的最大值和最小值,并分别赋给变量 max 和 min,这两个赋值 语句分别是_和_.(max=xy x:y; min=xy?x:y;) 练习四练习四( (条件条件, ,分支语句分支语句) ) 1.下列语句序列执行后,m 的值是( C). int a=10, b=3, m=5; if( a=b ) m+=a; else m=+a*m; A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,x 的值是(d). int a=2, b=4, x=5; if( a0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 2.以下由 for 语句构成的循环执行的次数是(B ). for ( int i = 0; true ; i+) ; A)有语法错,不能执行 B)无限次 C)执行 1 次 D)一次也不执行 3.下面语句执行后,i 的值是(B). for( int i=0, j=1; j 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 4.下列语句序列执行后,k 的值是(D). int j=8, k=15; 4 for( int i=2; i!=j; i+ ) j-=2; k+; A) 18 B) 15 C) 16 D) 17 5.下列语句序列执行后,k 的值是(B). int m=3, n=6, k=0; while( (m+) 3 ) -j; A) 5 B) 6 C) 7 D) 8 9.下列语句序列执行后,j 的值是(D). int j=3, i=2; while( -i!=i/j ) j=j+2; A) 2 B) 4 C) 6 D) 5 10. 若有循环: int x=5,y=20; do y-=x; x+=2; while(x 1 ); A) 1 B) 5 C) 2 D) -1 12.下列语句序列执行后,i 的值是(C ). int i=10; do i-=2; while( i6 ); A) 10 B) 8 C) 6 D) 4 13.下列语句序列执行后,i 的值是(D). int i=16; do i/=2; while( i 3 ); A) 16 B) 8 C) 4 D) 2 14.以下由 do-while 语句构成的循环执行的次数是(B). int k = 0; do +k; while ( k 1 ); A)一次也不执行 B)执行 1 次 C)无限次 D)有语法错,不能执行 15. 若有循环: int x=5,y=20; do y-=x; x+; while(+x-y); 则循环体将被执行(C ). A)0 次 B)1 次 C)2 次 D)3 次 16.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序 填空. (class (c+)+t 或 (c+)+t) public _ Class1 public static void main( String args ) char c=a; for (int i=1;i=26;i+) System.out.print(_); 17.下面是一个 java 应用程序(Application),它的功能是计算 s=1+2+3+.+10 ,请完成程序填空.(class i) public _ Class1 public static void main( String args ) 5 int s=0; for (int i=1;i=10;i+) s+=_; System.out.println(s=+s); 18.下面是一个 java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空.(i3 )c = 2;elsec = 3;elsec = 4; A、1B、2C、3D、4 答:C 7在编写 JavaApplication 程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。 A、importjava.awt.* ;B、importjava.applet.Applet ; C、importjava.io.* ;D、importjava.awt.Graphics ; 答:C 8对于构造函数,下列叙述不正确的是() 。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是 void 型。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 答:B 9设有下面两个类的定义: classPerson classStudentextendsPerson longid;/ 身份证号intscore;/ 入学总分 Stringname;/ 姓名intgetScore() returnscore; 问:类 Person 和类 Student 的关系是() 。 A、包含关系B、继承关系 C、关联关系D、无关系,上述类定义有语法错误 答:B、 10 设有下面的两个类定义: 13 classAA voidShow() System.out.println(“我喜欢 Java!”); classBB extendsAA voidShow() System.out.println(“我喜欢 C+!”); 则顺序执行如下语句后输出结果为: () AAa;BBb; a.Show();b.Show(); A、我喜欢 Java!B、我喜欢 C+! 我喜欢 C+!我喜欢 Java! C、我喜欢 Java!D、我喜欢 C+! 我喜欢 Java!我喜欢 C+! 答:A 11 设有下面的一个类定义: classAA staticvoidShow( ) System.out.println(“我喜欢 Java!”); classBB voidShow( ) System.out.println(“我喜欢 C+!”); 若已经使用 AA 类创建对象 a 和 BB 类创建对象 b,则下面哪一个方法调用是正确的: () A、a.Show( )B、AA.Show( ); b.Show( )BB.Show( ); C、AA.Show( );D、a.Show( ); b.Show( );BB.Show( ); 答:C 12在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。 这种面向对象程序特性称为() 。 A、隐藏B、覆盖C、重载D、Java 不支持此特性 答:C 13在 Java 中,存放字符串常量的对象属于()类对象。 A、CharacterB、String C、StringBufferD、Vector 答:B 14 在编写异常处理的 Java 程序中,每个 catch 语句块都应该与()语句块对应,使得用该语句块来启动 Java 的异常处理 机制。 A、if elseB、switchC、tryD、throw 答:C 15对于子类的构造函数说明,下列叙述中不正确的是() 。 A、子类无条件地继承父类的无参构造函数。 B、子类可以在自己的构造函数中使用 super 关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个 可执行语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。 答:D 二、填空题。 1 设 x = 2 ,则表达式 ( x + + ) * 3 的值是。 答:6 2 若 x = 5,y = 10,则 x y 和 x =80) judgement=”B; else if(average=70) judgement=”C; 19 else if(average=60) judgement=”D; else judgement=”E; System.out.println(“平均”+average); System.out.println(“评价”+judgement); 2、 public class Switch3 public static void main(String args) int a=1; switch(a) case 1: System.out.println(“111”); case 2: System.out.println(“222”); break; case 3: System.out.println(“333”); default: System.out.println(“未知”); 3、 public class For8_1 public static void main(String args) for(int a=1;true;a+) if(a=6) break; System.out.print(a+” “); 4、 public class For8_2 public static void main(String args) for(int a=1;a=10;a+)/x1 if(a=5) continue; System.out.print(a+” “); /x4 5、 public class For11 public static void main(String args) for(int a=1;a=3;a+) for(int b=1;b=2;b+) if(a=2)continue; System.out.println(a+” ”+); System.out.println(“你好”+a) 6、 public class Fo15 public static void main(String args) for(int a=1;a=5;a+) for(int b=1;b=a;b+) System.out.print(*); System.out.println(); 7、 public class A2 public static void main(String args) int n=29; int i; for(i=2;in-1) System.out.println(n+是素数); else System.out.println(n+是合数); 8、 public class A5 public static void main(String args) int k=1; for(int i=1;i5;i+) for(int j=1;j=i;j+) System.out.print(k); k+; System.out.println(); 9、 public class Array6 public static void main(String args) int a; a=new int3 ; int sum=new int3; a0=new int100,80,80,75,90; a1=new int50,60,60,65,55; a2=new int100,100,100,100,100; for(int i=0;ia.length;i+) for(int j=0;jai.length;j+) sumi+=aij; for(int i=0;i ); try a=System.in.read(); catch(IOException e) System.out.println(错误); System.out.println(敲入的字符为: + (char)a); 37、阅读程序,回答问题 1、 1: public class Output1 2: public static void main(String arge) 3: int i=0; 4: for ( char ch = 97; ch113; ch+,i+) 5: if( i % 8 = 0 ) 6: System.out.println( ); 7: System.out.print(t +ch); 8: 9: 10: (1) 程序第 5 、 6 行的 if 语句的功能是什么? (2) 程序输出的结果有几行? 【 答案 】 (1) 每打印 8 个字符,则换行。 (2) 输出的结果有 2 行。 38、写出下面程序的运行结果。 1、importjava.io.*; publicclassabc publicstaticvoidmain(String args ) ABs = newAB(Hello!,I love JAVA.); System.out.println(s.toString( ); classAB Strings1; Strings2; AB( Stringstr1 , Stringstr2 ) s1 = str1;s2 = str2; publicStringtoString( ) returns1+s2; 答:Hello! I love JAVA. 2、importjava.io.* ; publicclassabc publicstaticvoidmain(Stringargs ) inti , s = 0 ; inta = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 ; for( i = 0 ; i a.length ; i + ) if ( ai%3 = = 0 )s += ai ; System.out.println(s=+s); 答:s = 180 3、 importjava.io.* ; publicclassabc publicstaticvoidmain(Stringargs ) SubSubClassx = newSubSubClass(10 , 20 , 30); x.show(); classSuperClass inta,b; 27 SuperClass(int aa , intbb) a=aa;b=bb; voidshow( ) System.out.println(a=+a+nb=+b); classSubClassextendsSuperClass int c; SubClass(intaa,intbb,intcc) super(aa,bb); c=cc; classSubSubClassextendsSubClass inta; SubSubClass(int aa,intbb,intcc) super(aa,bb,cc); a=aa+bb+cc; voidshow() System.out.println(a=+a+nb=+b+nc=+c); 答:a=60 b=20 c=30 4、 importjava.io.*; public class abc public static void main(String args) Strings1 = Hello!; Strings2 = new String(World!); System.out.println(s1.concat(s2); 答:Hello!World! 5、 importjava.io.* ; publicclassABC publicstaticvoidmain(Stringargs ) inti; inta = 11,22,33,44,55,66,77,88,99 ; for( i = 0 ; i = a.length / 2 ; i + ) System.out.print( ai+aa.length-i-1+); System.out.println( ); 答:110110110110110 6、 importjava.io.*; classParent voidprintMe() System.out.println(parent); classChildextends Parent voidprintMe() System.out.println(child); voidprintAll() super.printMe(); this.printMe(); printMe(); public classClass1 28 public static void main(Stringargs ) ChildmyC = newChild( ); myC.printAll( ); 答:parent child child 39、编写一个字符界面的 JavaApplication 程序,接受用户从键盘输入的一个正整数,然后统计并输出从 1 到这个正整数的 累加和。 答:参考程序如下: importjava.io.*; publicclassSUM public static void main (String args) inti , n=-1 , sum=0 ; do try BufferedReaderbr = new BufferedReader( newInputStreamReader(System.in); n = Integer.parseInt(br.readLine( ); catch ( IOExceptione ) ; while ( n1); for( i =1 ; i=n; i+ )sum += i; System.out.println(sum); 40、 编写一个字符界面的 JavaApplication 程序,接受用户输入的 10 个整数,并输出这 10 个整数的最大值和最小值。 答:参考程序如下: importjava.io.* ; publicclassabc publicstaticvoidmain(Stringargs ) inti , n = 10 , max = 0 , min = 0 ,temp = 0; try BufferedReaderbr = new BufferedReader( newInputStreamReader(System.in); max = min = Integer.parseInt(br.readLine( ); catch ( IOExceptione ) ; for( i = 2 ; i max ) max=temp; if(temp min) min=temp; catch ( IOExceptione ) ; System.out.println(max=+max+nmin=+min); 41、使用 socket 编写一个服务器端程序,服务器端程序在端口 8888 监听,如果它接到客户端发来的hello请求时会回应一个 hello,对客户端的其他请求不响应。 import java.io.*; import .*; public class HelloServer public static void main(String args) throws IOException ServerSocket server=null; server = new ServerSocket(8888); Socket ClientSocket = null; ClientSocket = server.accept(); String line; BufferedReader is = new BufferedReader(new InputStreamReader(ClientSocket.getInputStream(); PrintWriter os = new PrintWriter(ClientSocket.getOutputStream(); 29 while (true) line = is.readLine(); if (line.equals(hello) os.println(hello); os.flush(); 42、编写一个应用程序,创建三个线程分别显示各自的时间。 import java.util.*; import java.text.*; class ThreeTimeThread extends Thread public ThreeTimeThread(String str) super(str); public void run() while (true) SimpleDateFormat formatter = new SimpleDateFormat (yyyy.MM.dd G at hh:mm:ss z); Date currentTime = new Date(); try sleep(1000); catch (Exception e) String dateString = formatter.format(currentTime); System.out.println(getName()+:+dateString); public static void main(String args) throws Exception new ThreeTimeThread(first).start(); new ThreeTimeThread(second).start(); new ThreeTimeThread(third).start(); 43、在空白处填上合适的语句。 public class ServerTimedOutException extends Exception private int port; public ServerTimedOutException(String message, int port) super(message); this.port = port; public int getPort() return port; class Client /在下行空白出填上声明抛弃 ServerTimedOutException 例外的语句 public void connectMe(String serverName) int success; int portToConnect = 80; success = open(serverName, portToConnect); if (success = -1) /*在下行空白处填上抛出 ServerTimedOutException 例外的语句*/ 程序填空题答案程序填空题答案: :throws ServerTimedOutException; throw new ServerTimedOutException(serverName,portName); 44、阅读以下程序,写出输出结果。 classFirst publicFirst() aMethod(); publicvoidaMethod() System.out.println(“inFirstclass”); 30 publicclassSecondextendsFirst publicSecond()/super(); aMethod(); publicvoidaMethod() System.out.println(“inSecondclass”); public static void main(String args) ne

温馨提示

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

评论

0/150

提交评论