1、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;标识符的合法原则:字母(包括汉字) ,数字,_和$这四种组成,
2、但是不能以数字开头。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 类型的变
3、量。以下选项中,合法的赋值语句是( 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%1
4、00/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 则执行完语句 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. 下列程序段执行后
5、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=xyA)true , 6, 8 B)false , 7, 7 C)true,
6、7, 7 D)false, 6, 8因为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|m4);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
7、; 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(xb?a:b)int fun ( int a, int b ) _; 32. 以下方法 m 的功能是求两参数之积的整数部分。
8、(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.o
9、ut.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. 若已
10、定义 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. 下列选项中,用于在定义子类时声明父类名的关键字是
11、(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
12、_ 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 m
13、ain(String args) int length = 100;int d = new intlength;for (int index = 0; index 0 ) 5) j = i * 2+k6) 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( m8 ) do System.out.println(“m=“+m);public stat
14、ic void main(String arg) int i=15;Test t= new Test();t.printValue(i);13、x 的取值在( )范围内时将会使下面的代码打印字符串“third“。 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
15、.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(
16、); 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);
17、对于以上代码描述正确的是( ) 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 循环的执行
18、次数是( )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对于一个三位的正整数
19、 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
20、). D)void A(int x).29如果一个类定义中没有定义构造函数,该类有构造函数吗?( A )A) 有 B) 没有 下面是求阶乘的递归算法,方法的返回值类型为 byte,完成程序填空。_byte_ Fac(long n) if(nb?a:b_; 下面是一个类的定义,请将其补充完整。class _GetNum_ float score; int number;public GetNum( _float_ x, _int_ y) score=x; number=y; 请写出下面程序执行后 output 最后的值。public class Test public static String
21、 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); BCACD 题目:下面的哪些答案可以正确表示一个十六进制数字 10。A. 0xA B. 0x16 C. 0A D. 016 题目:给出下面的代
22、码片断: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
23、 语句才能结束判断,否则将继续执行其它 case 而不进行任何判断,如果没有任何值符合 case列出的判断,则执行 default 的语句,default 是可选的,可以没有,如果没有 default而又没有任何值匹配 case 中列出的值则 switch 不执行任何语句。 题目:下面的哪些声明是合法的。A. long l = 4990; B. int i = 4L; C. double t = 0.9F.D. double d = 34.4; 此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int 型数,带有小数点的数被认为是 double 型的数,其它的使用在
24、数字后面加一个字母表示数据类型,加 l 或者 L 是 long 型,加 d 或者 D 是 double,加 f 或者 F 是 float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte 赋值给 long 型时不需要显式的类型转换,反之,将 long 型数赋值给byte,short,int 型时需要强制转换(int a=(int)123L;) 。 题目:下面的那个 java 源文件代码片断是对的。A. package testpackage;public class Test/do something.B. import java.io.*;
25、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 语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是
26、 public 的,如果有,则源文件的文件名必须和该类的类名相同。 在 Applet 中,使用布局管理器来确定组件摆放在容器中的位置。 题目:下面的代码哪些行在编译时可能产生错误。: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局部变量在使用前必须显式初
27、始化,而代码中的变量 k 在使用前没有。 题目:在 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 块中的语句在执行时发生异常,则执行从该
28、处中断而进入 catch 块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是 catch 中指定的异常的子类就匹配成功进而执行相应的 catch 中的内容,而 finally 块中的内容无论是否发生异常都将被执行。 题目:下面关于变量及其范围的陈述哪些是对的。A. 实例变量是类的成员变量。B. 实例变量用关键字 static 声明。C. 在方法中定义的局部变量在该方法被执行时创建D. 局部变量在使用前必须被初始化。类中有几种变量,分别是:局部变量(英文可以为:localautomatictemporarystack variable)是定义在方法里的变量;实例变量(英文为:in
29、stance variable)是在方法外而在类声明内定义的变量,有时也叫成员变量;类变量(英文为:class variable)是用关键字 static 声明的实例变量,他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在使用 new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用 new Xxxx()创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被
30、调用时为它分配的缺省的值,整型是 0,布尔型是 false,而浮点型是 0.0f,引用类型(类类型)的实例变量的缺省值是 null(没有进行实际的初始化,对它的使用将引起 NullPointException) ,类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。 JAVA 事件处理机制:A. 产生事件的组件叫事件源。B. 事件监听器用来监听事件是否发生,当事件发生时调用事件处理方法解决问题。 C. 事件对象用来封装已发生的事件信息,在事件发生后将信息传递给事件处理方法进行处理。D. 事件对象是由系统自动创建的。 main()方法的返回类型是什么? A. int B. void
31、 C. Boolean D. static JAVA 中处理事件时,可以使用事件适配器来避免实现事件对应接口的所有方法。 下面关于继承的哪些叙述是正确的。A 在 java 中类只允许单一继承,而接口可以多继承。B 在 java 中一个类只能实现一个接口。C 在 java 中一个类不能同时继承一个类和实现一个接口。D java 的单一继承使代码更可靠。 在 java 中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。Given the following code fragment:1
32、) public void create() 2) Vector myVect;3) myVect = new Vector(); 4) 给出下面的代码片断。 。 。下面的哪些陈述为 true(真)? A. 第二行的声明不会为变量 myVect 分配内存空间。B. 第二行的声明分配一个到 Vector 对象的引用的内存空间。C. 第二行语句创建一个 Vector 类对象。D. 第三行语句创建一个 Vector 类对象。E. 第三行语句为一个 Vector 类对象分配内存空间。 要为一个新对象分配空间必须执行 new Xxx()调用,new 调用执行以下 的操作:1 为新对象分配空间并将其成员初
33、始化为 0 或者 null。2 执行类体中的初始化。 (例如在类中有一个成员声明 int a=10;在第一步后 a=0 ,执行到第二步后 a=10)3 执行构造函数。4 变量被分配为一个到内存堆中的新对象的引用。 标识符和保留字有什么区别?标识符是程序设计的最基本概念,程序中变量、常量、类、对象和函数的名称都是标识符。标识符都必须以合法字符、下划线_或美元符号$作开头,后面的字符可以包括大写字母(AZ)和小写字母(az)以及数字(09)等。通常标识符分为用户标识符和保留字(也叫关键字) 。用户标识符是由程序员定义并使用的标识符,保留字是 Java 语言保留的供系统使用的标识符。程序员不能使用保
34、留字来定义变量名、类名和函数名等。 常量和变量有什么重要区别?Java 常量是用关键字 final 来实现,如 final double PI=3.14159,变量是 Java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。常量在程序中值不能变化,变量在其作用域范围内值可以变化。 Java 绘图用的坐标系与普通的直角坐标系有什么不同?在平面几何坐标系中,是以左下角为坐标原点(0,0)的,向右为 x 轴的正方向,向上为 y 轴的正方向,这种平面几何坐标系并不适合计算机中的绘图工作。计算机中的内容显示都是从上到下进行的,所以在计算机图形系统中的坐标系是以左上角为坐标原点的,向
35、右为 x 轴的正方向,向下为 y 轴的正方向。另外,Java 中的坐标间距是以象素为单位的,这就决定了 Java 中的坐标值只能为整数。同时,Java 语言不支持三维坐标系,虽然可以采用阴影达到一定的立体效果,但 Java 没有提供相应的高度或深度参数。 线程的所有活动都是通过线程体的 run 方法来实现的,可以通过两种方法实现线程体,它们分别是 继承 Thread 类 和 实现 Runnable 接口 。 类的成员四级访问权限分别是_public_、_protected_、_private_和_default_。 如果一个类中有许多同名的但带有不同参数列表的方法,则称为方法的_重载_;如果子类中的方法名和从父类继承的方法名字和参数都相同则称为方法的_覆盖_。 Java 源文件的后缀是_.java_,它编译后所生成文件的后缀是_.class_。 以下关于构造方法的描述错误的是( C ) 。A、构造方法名与其所在的类的名称相同B、构造方法主要是完成对类的成员变量的初始化等工作C、构造方法与成员方法一样,也有返回值D、构造方法的修饰符一般为 public 简述创建 JAVA 小程序的基本步骤。P205