期末复习 java_第1页
期末复习 java_第2页
期末复习 java_第3页
期末复习 java_第4页
期末复习 java_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

2.Java程序有哪两类? 应用程序(Application)和小应用程序(Applet) 3.为了使包sos中的所有公共类在当前程序中可见,可以使用的语句是( A )。 A)import sos.*; B)package sos.*; C)sos import; D)sos package;显然需要进行导入,所以使用import,C选项非法。4.下列的变量定义中,错误的是( A)。A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100;标识符的合法原则:字母(包括汉字),数字,_和$这四种组成,但是不能以数字开头。5.下列的变量定义中,正确的是(D)。A) boolean b1=”true”; B) float x=6.6; C) byte i=200; D) double y;A、不应该加双引号 B、6.6默认是double类型,不能直接在这里使用,应该用6.6f,C、200超出范围(-127128)6.以下字符常量中不合法的是(D)。A) | B) C) n D) 我D是字符串。11. Java源程序要运行必须经过( 编译 )和( 运行 )两个阶段。12. Java编译器将Java语言编写的源程序编译成( 字节码 )文件。7.已定义a为int类型的变量。以下选项中,合法的赋值语句是( B )。A) a +1=2; B) a+=a*6; C) a=8.8f; D) int a=8;A、不是赋值语句,中间是双等号,是比较;如果改成等号那么表达方式属于非法 C、不能把实数直接给整型变量,要强制转换(int)8.8f D、重复定义8. 下列程序段执行后c的结果是(B )。int a = 9, b = 11, c;c= a != b ? a+b : a-b;A) 2 B) 20 C) 11 D) 99. 对于一个三位的正整数n=789,以下结果为8的是(D)。A) n/10%2 B) (n-n%10)/100 C) n%10 D) n%100/1010. 有一声明语句为boolean t;下面赋值语句中t的值为false的是(D )。A)t=53; B)t=!false; C)t=(true|false); D)t=(2=3)?true:false;11. 设 i, j, k, m为已赋值的 int 型变量,下列表达式的结果属于逻辑值的是( A)。A) i=k & j+k =m B) i+k C) m+ D) m=i+j12. 若有定义int x = 13;则执行完语句x %= 8; 后,x的值是(C )。A) 0 B) 1 C) 5 D) 813. 若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是( C)。A) 0 B) 4 C) -2 D) 414. 下列程序段执行后 b3 的结果是(D)。 boolean b1=true, b2=true, b3; b3= !b1 ? b1 :!b2;A) 0 B) 1 C) true D) false4. 与以前的结构化程序设计不同,Java是一种完全(面向对象 ),而且平台(中立 )的语言, 而后者又使得用Java编写出来的程序具有( 可移植 )性。6.面向对象程序设计的三个特性是( 继承 )、( 封装 )和(多态 )。15. 执行下面程序段后,b, x, y的值分别是( D)。int x=6,y=8; boolean b;b=xy&+x=-y;A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)false, 6, 8因为&是简洁的与运算,前面如果已经是false,那么后面不再执行。16. 下列语句序列执行后,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) 517. 下列语句序列执行后,k 的值是(B )。 int i=4,j=5,k=9,m=5; if(ij|mk) k+; else k-; A) 5 B) 10 C) 8 D) 918. 下列语句序列执行后,k 的值是(C )。int i=10, j=18, k=30;switch( j - i )case 8 : k+; case 9 : k+=2;case 10: k+=3; default : k/=j;A) 31 B) 32 C) 2 D) 3319. 阅读下面的程序段,回答问题。if ( x 5 )System.out.print( one );elseif ( y 4);x+);A)无限次 B)一次也不执行 C)执行4次 D)执行3次21. 下列语句序列执行后,j 的值是( A )。 int j=1; for( int i=5; i0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 022. 下列语句序列执行后,k的值是(D)。 int j=8, k=15; for( int i=2; i!=j; i+ ) j-=2; k+; A) 18 B) 15 C) 16 D) 1723. 下列语句序列执行后,k 的值是(B)。 int m=3, n=6, k=0; while( (m+) 4 ) -j; A) 5 B) 6 C) 7 D) 822.Applet类中有四种基本方法用来控制其运行状态,它们是( init )、(start )、( stop ) 和( destroy )。25. 若有循环: int x=5,y=20; do y-=x; x+=2; while(xy);则循环体将被执行(A )。A) 2次 B) 1次 C) 0次 D) 3次26. 结构化程序设计的三种基本流程控制结构是:_顺序_、_选择_、_循环_。27. 下面程序的功能是求2 到100 之间的素数,请将程序补充完整。(0 continue Label1 )public class Class1 public static void main( String args ) Label1: for(int i=2;i100;i+) for(int j=2;jb?a:b)int fun ( int a, int b ) _; 32. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(x*y))int m ( float x, float y ) _; 33. 下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)public _ isEven(int a) if(a%2=0) return _;else return false;34. 在一个应用程序中定义了数组a:int a=1,2,3,4,5,6,7,8,9,10;,为了打印输出数组a的最后一个数组元素,下面正确的代码是( BC)。 A System.out.println(a10); B System.out.println(a9); C System.out.println(aa.length-1); D System.out.println(aa.length);35. 下面关于数组定义语句不正确的是( D )。 A)int a1,a2; B)int a0 =11,2,30,84,5; C)double d=new double8; D)float f =new 2.0f,3.5f,5.6f,7.8f;36. 设有定义语句int a =3,9,-9,-2,8; 则以下对此语句的叙述错误的是(C )。 A) a数组有5个元素 B) 数组中的每个元素是整型 C) a的值为3 D) 对数组元素的引用aa.length-1是合法的37. 若已定义byte x=11,22,33,-66; 其中0k3,则对x数组元素错误的引用是( C)。 A) x5-3 B) xk C) xk+5 D) x038. 以下说法不正确的是( D)。 A) 类是同种对象的集合和抽象 B) 类是抽象的数据类型 C) 类是复合数据类型 D) 类是一个对象39. 定义类头时,不可能用到的关键字是( B)。 A) class B)private C)extends D)public40. 定义类的类头时可以使用的关键字是(C)。 A) private B) protected C) final D) static41. 下列选项中,用于在定义子类时声明父类名的关键字是(C)。 A)interface B) package C) extends D) class42. 下列类头定义中,错误的是( A)。 A)public x extends y . B) public class x extends y . C)class x extends y implements y1 . D)class x .44.通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现: _。 (MyClass obj=new MyClass( );)45. 下面是一个类的定义,请完成程序填空。(Myclass int j)public class _ int x, y; Myclass ( int i, _) / 构造函数 x=i; y=j; 46. 既能作为类的修饰符, 也能作为类成员的修饰符的是(ABC )。 A) public B) private C) protected D) static48. 分析以下程序段执行后a和b的值分别是多少。int a=0,b=1;switch(a)case 0: a+; switch(b)case 0: b+;break;case 1: b+;break;case 1: a+;break;50. 编译和运行以下程序段,会有什么结果?class Array public static void main(String args) int length = 100;int d = new intlength;for (int index = 0; index length; index+)System.out.println(dindex);A 代码不能编译,因为数组声明不正确;B 代码不能编译,因为数组元素没有初始化;C 在标准输出中显示数字0-99;D 在标准输出中显示100 个0;1、在Java中不属于整型变量的是( )A、long B、byte C、double D、short E、int2、以下变量声明正确的是( )A、int Int%; B、float f_double; C、byte b=1264; D、char &address;3、在某个类中存在一个方法:void getSort(int x),以下哪个是方法重载的声明( )A、public getSort(float x) B、int getSort(int y)C、double getSort(int x,int y) D、void getsort(int x,int y)4、下列方法定义中,正确的是( )A、 int x( int a,b ) return (a-b); B、 double x( a,b ) return b; C、 double x( int a,int b) int w; w=a-b; D、 int x( int a,int b) return a-b; 5、下面哪一个是int型变量的取值范围( )A. -27 27-1 B. 0216-1 C. -215 215-1 D、-231 231-16、short的取值范围是哪个? A. -27 27-1 B. 0232-1 C. -215 215-1 D. -231 231-1 解析:int型是32位的。7、下面代码中的 ? 处可以为( )? methodA(byte x, double y) return (short) x/y * 2; A. double B. int C. long D. short E. float 8、String f = green;boolean bar = new boolean 1;if (bar0) f = blue; 对于以上代码描述正确的是( ) A.f的值为null B.f的值为blue C.f的值为green D.将产生编译错误9、以下由do-while语句构成的循环执行的次数是( ) int k = 0; do +k; while ( k 0 ) 5) j = i * 2+k 6) System.out.println ( The value of j is + j ); 7) i-; A、line 4 B、line 5 C、line 6 D、line 712、以下代码的输出为( )public class Test void printValue(int m) while( m-8 ) do System.out.println(m=+m); ; public static void main(String arg) int i=15; Test t= new Test(); t.printValue(i); 13、x的取值在( )范围内时将会使下面的代码打印字符串third。 if (x0) System.out.println(first); else if (x=0 B、x =0 C、x=1014、下列代码的描述正确的是( )1. public class IfTest 2. public static void main(String args) 3. int x = 14;4. int y = 23;5. if (x = y)6. System.out.println(Not equal);7. else8. System.out.println(Equal);9. A、输出 Not Equal. B、输出 Equal.C、 执行正常,但没有任何输出 D、 在第5行会出现编译错误 15、以下代码段编译、运行、输出的结果是( )public class ThrowsDemo static void throwMethod() System.out.println(Inside throwMethod.); throw new IllegalAccessException(demo); public static void main(String args) try throwMethod(); catch (IllegalAccessException e) System.out.println(Caught + e); A. 编译错误 B. 运行错误 C. 编译正确,但没有任何输出D.在方法throwMethod中捕获以下异常:java.lang.IllegalAccessException:demo16、 public class Test public static void main (String args) String f1 = red ; String bar = f1; f2 = blue ; System.out.println(bar); 对于以上代码描述正确的是( ) A、输出 blue B、输出 red C、将会抛出异常 D、将出现编译错误(f2未定义) 17、为了定义三个整型数组a1、a2、a3,下面声明正确的语句是( )A、intArray a1,a2; int a3 =1,2,3,4,5;B、int a1,a2 ; int a3=1,2,3,4,5;C、int a1,a2; int a3 =1,2,3,4,5;D、int a1,a2; int a3=(1,2,3,4,5);18、下面语句序列执行后,a的值是( )int a=32; a%=a/5;A、1 B、 2 C、3 D、419、以下for循环的执行次数是( ) for(int x=0;(x=0)|(x=n ) +k; m-; +n; 21下列方法定义中,正确的是( D )。A) int x( int a,b ) return (a-b); B) double x( int a,int b) int w; w=a-b; C) double x( a,b ) return b; D) int x( int a,int b) return a-b; 22下列程序段执行后c的结果是( B )。int a = 9, b = 11, c;c= a != b ? a+b : a-b;A) 2 B) 20 C) 11 D) 923对于一个三位的正整数n=879,以下结果为8的是( B )。A) n/10%2 B) (n-n%10)/100 C) n%10 D) n%100/1024为了区分类中重载的同名的不同方法,要求( A )。A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同25定义类的类头时不可以使用的关键字是( D )。 A) private B) protected C) abstract D) static28有一个类A,以下为其构造函数的声明,其中正确的是( )。 A)public A(int x). B)static A(int x). C)public a(int x). D)void A(int x).29如果一个类定义中没有定义构造函数,该类有构造函数吗?( A )A) 有B) 没有l 下面是求阶乘的递归算法,方法的返回值类型为byte,完成程序填空。_byte_ Fac(long n) if(nb?a:b_; l 下面是一个类的定义,请将其补充完整。class _GetNum_ float score; int number; public GetNum( _float_ x, _int_ y) score=x; number=y; l 请写出下面程序执行后output最后的值。 public class Test public static String output = ; public static void foo(int i) try if(i = 7) throw new Exception (); output += A; catch(Exception e) output += B; return; finally output += C; output += D; public static void main (String args) foo(7); foo(8); BCACDl 题目:下面的哪些答案可以正确表示一个十六进制数字10。A. 0xA B. 0x16 C. 0A D. 016l 题目:给出下面的代码片断:1) switch(m)2) case 0: System.out.println(case 0);3) case 1: System.out.println(case 1); break;4) case 2:5) default: System.out.println(default);6) m为哪些值将导致default输出?A. 0 B. 1 C. 2 D. 3此题考察switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte、short、char型的值,case中需要注意的是一个case后面一般要接一个break语句才能结束判断,否则将继续执行其它case而不进行任何判断,如果没有任何值符合case列出的判断,则执行default的语句,default是可选的,可以没有,如果没有default而又没有任何值匹配case中列出的值则switch不执行任何语句。l 题目:下面的哪些声明是合法的。A. long l = 4990; B. int i = 4L; C. double t = 0.9F.D. double d = 34.4; 此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换(int a=(int)123L;)。l 题目:下面的那个java源文件代码片断是对的。A. package testpackage;public class Test/do something.B. import java.io.*;package testpackage;public class Test/ do something.C. import java.io.*;class Person/ do something.public class Test/ do something.D. import java.io.*;import java.awt.*;public class Test/ do something.Java中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同。l 在Applet中,使用布局管理器来确定组件摆放在容器中的位置。l 题目:下面的代码哪些行在编译时可能产生错误。: 1) public void modify() 2) int i, j, k; 3) i = 100; 4) while ( i 0 ) 5) j = i * 2; 6) System.out.println ( The value of j is + j ); 7) k = k + 1; 8) i-; 9) 10) A. line 4 B. line 6 C. line 7 D. line 8局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。l 题目:在oneMethod()方法运行正常的情况下将显示什么?public void test() try oneMethod(); System.out.println(A); catch (ArrayIndexOutOfBoundsException e) System.out.println(B); catch(Exception e) System.out.println(C); finally System.out.println(D); A. A B. D C. C D. B如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。l 题目:下面关于变量及其范围的陈述哪些是对的。A. 实例变量是类的成员变量。B. 实例变量用关键字static声明。C. 在方法中定义的局部变量在该方法被执行时创建D. 局部变量在使用前必须被初始化。类中有几种变量,分别是:局部变量(英文可以为:localautomatictemporarystack variable)是定义在方法里的变量;实例变量(英文为:instance variable)是在方法外而在类声明内定义的变量,有时也叫成员变量;类变量(英文为:class variable)是用关键字static声明的实例变量,他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用new Xxxx()创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null(没有进行实际的初始化,对它的使用将引起NullPointException),类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。l JAVA事件处理机制: A. 产生事件的组件叫事件源。B. 事件监听器用来监听事件是否发生,当事件发生时调用事件处理方法解决问题。 C. 事件对象用来封装已发生的事件信息,在事件发生后将信息传递给事件处理方法进行处理。 D. 事件对象是由系统自动创建的。 l main()方法的返回类型是什么? A. int B. void C. Boolean D. static l JAVA中处理事件时,可以使用事件适配器来避免实现事件对应接口的所有方法。l 下面关于继承的哪些叙述是正确的。A 在java中类只允许单一继承,而接口可以多继承。B 在java中一个类只能实现一个接口。C 在java中一个类不能同时继承一个类和实现一个接口。D java的单一继承使代码更可靠。 在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。Given the following code fragment: 1) public void create() 2) Vector myVect; 3) myVect = new Vector(); 4) l 给出下面的代码片断。下面的哪些陈述为true(真)? A. 第二行的声明不会为变量myVect分配内存空间。B. 第二行的声明分配一个到Vector对象

温馨提示

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

评论

0/150

提交评论