1、1.下列不可作为 java 语言修饰符的是(D )A) a1 B) $1 C) _1 D) 112.有一段 java 应用程序,它的主类名是 a1,那么保存它的源文件名可以是(A )) a1.java B) a1.class C) a1 D) 都对3.整型数据类型中,需要内存空间最少的是(D )A) short B) long C) int D) byte 4. Java 类可以作为(C )A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5.在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先
2、声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对6.在调用方法时,若要使方法改变实参的值,可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A 和 B 都对D) A 和 B 都不对7. Java 中( C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对8.Java 语言具有许多优点和特点,哪个反映了 Java 程序并行机制的特点?(B)A) 安全性 B) 多线性 C) 跨平台 D) 可移植9. Character
3、流与 Byte 流的区别是(C)A) 每次读入的字节数不同 B) 前者带有缓冲,后者没有C) 前者是字符读写,后者是字节读写 D) 二者没有区别,可以互换使用10.以下声明合法的是( D )A、default String s; B、public final static native int w( )C、abstract double d; D、abstract final double hyperbolicCosine( )11.关于以下 application 的说明,正确的是( C )1 class StaticStuff2 3 static int x=10;4 static x+=
4、5;5 public static void main(String args )6 7 System.out.println(“x=” + x);8 9 static x/=3;10. A、4 行与 9 行不能通过编译,因为缺少方法名和返回类型 B、9 行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为: x=312.关于以下程序代码的说明正确的是( D )1class HasStatic2 private static int x=100;3 public static void main(String args )4 HasStatic h
5、s1=new HasStatic( );5 hs1.x+;6 HasStatic hs2=new HasStatic( );7 hs2.x+;8 hs1=new HasStatic( );9 hs1.x+;10 HasStatic.x- -;11 System.out.println(“x=”+x);12 13 A、 5 行不能通过编译,因为引用了私有静态变量B、 10 行不能通过编译,因为 x 是私有静态变量C、 程序通过编译,输出结果为:x=103D、 程序通过编译,输出结果为: x=10213.以下选项中循环结构合法的是( C )A、while (int i=3; C、String ts
6、=s.trim(); D、String t=s+”! ”;13. 下列关于 Java 语言的特点,描述错误的是( C )AJava 是跨平台的编程语言 BJava 支持分布式计算CJava 是面向过程的编程语言 DJava 支持多线程14. 下述概念中不属于面向对象方法的是( D ) 。A对象、消息 B继承、多态 C类、封装 D过程调用15. 结构化程序设计所规定的三种基本控制结构是 ( C )A输入、处理、输出 B树形、网形、环形C顺序、选择、循环 D主程序、子程序、函数16. 下列关于构造方法的叙述中,错误的是( C )AJava 语言规定构造方法名与类名必须相同BJava 语言规定构造方
7、法没有返回值,但不用 void 声明CJava 语言规定构造方法不可以重载DJava 语言规定构造方法只能通过 new 自动调用17. 下列哪个类的声明是正确的?( D )Aabstract final class HI Babstract private move() Cprotected private number; Dpublic abstract class Car18. 关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是( C )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只
8、能被该类自身所访问和修改D只能被同一个包中的类访问19. 下列关于 for 循环和 while 循环的说法中哪个是正确的?( B )Awhile 循环能实现的操作,for 循环也都能实现Bwhile 循环判断条件一般是程序结果,for 循环判断条件一般是非程序结果C两种循环任何时候都可替换D两种循环结构中都必须有循环体,循环体不能为空20. 阅读以下代码:import java.io.*;import java.util.*;public class foopublic static void main (String args)String s;System.out.println(“s=“
9、 + s);输出结果应该是:( C )A代码得到编译,并输出“ s=” B代码得到编译,并输出“ s=null” C由于 String s 没有初始化,代码不能编译通过D代码得到编译,但捕获到 NullPointException 异常21. 编译运行以下程序后,关于输出结果的说明正确的是 ( C )public class Conditionalpublic static void main(String args )int x=4;System.out.println(“value is “+ (x4) ? 99.9:9);A输出结果为:value is 99.9 B输出结果为:value
10、 is 9C输出结果为:value is 9.0 D编译错误22. 执行完以下代码 int x = new int10;后,以下哪项说明是正确的( A )Ax9为 0 Bx9未定义 Cx10为 0 Dx0为空23. 关于以下程序段,正确的说法是( C )1 String s1=“a”+“b”;2 String s2=new String(s1) ;3 if(s1= =s2)4 System.out.println(“= = is succeeded”);5 if (s1.equals(s2)6 System.out.println(“.equals() is succeeded”);A行 4
11、与行 6 都将执行 B行 4 执行,行 6 不执行C行 6 执行,行 4 不执行 C行 4、行 6 都不执行24. 以下程序的运行结果是:( C )public class Incrementpublic static void main(String args)int c;c = 2;System.out.println(c);System.out.println(c+);System.out.println(c);A2 2 2 B2 3 3 C2 2 3 D3 4 425. 下列哪一个关键字用于实现接口来定义类? ( B )A、extends B、implements C、abstract
12、 D、interface第三组1. 若 a 的值为 3 时,下列程序段被执行后,c 的值是多少?( C )if ( a0 ) if ( a3 ) c = 2; else c = 3; else c = 4;A、1 B、2 C、3 D、42. 下面哪一个操作符的优先级最高? ( D )A、 后 i 与 j 的值分别为( D ) 。A、1 与 1 B、2 与 1C、1 与 2 D、2 与 27.main 方法是 Java 应用程序执行的入口点,关于 main 方法的方法头以下哪项是合法的?(B)A、public static void main()B、public static void main
13、( String args )C、public static int main(String arg )D、public void main(String arg )8. 下列哪个选项不是 Java 语言的特点?( D )A、面向对象 B、高安全性 C、平台无关 D、面向过程9. 下列哪个是合法的 Java 标识符?( B )A、Tree k 0; k-)C、for (int k = 0; k 0; k+)12. 有如下程序段:int a = b = 5;String s1 = “祝你今天考出好成绩!“;String s2 = s1;则表达式 a = b 与 s2 = s1 的结果分别是:(
14、A ) 。A、true 与 true B、false 与 true C、true 与 false D、false 与 false13. 在 Java 中用什么关键字修饰的方法可以直接通过类名来调用?( A )A、static B、final C、private D、void14.若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于( C ) 。A、接口方法 B、最终方法 C、抽象方法 D、空方法15. 有如下程序段:int total = 0;for ( int i = 0; i Cif D:=答案:A0);后,C 的值是()A0 B1 C-
15、1 D死循环答案:C7下列哪一种叙述是正确的()A abstract 修饰符可修饰字段、方法和类B抽象方法的 body 部分必须用一对大括号 包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号答案:Dabstract 不能修饰字段 ,抽象方法不用实现,不能用.8下列语句正确的是()A形式参数可被视为 local variableB形式参数可被字段修饰符修饰C形式参数为方法被调用时,真正被传递的参数D形式参数不可以是对象答案:A真正被传递的是实参,形参可以是对象,是对象的时候传递引用.9下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B实例方法可直接调用超类的类方法 C实例
16、方法可直接调用其他类的实例方法D实例方法可直接调用本类的类方法子类是否可以调用父类要看父类相应方法的权限,而无论本类方法的权限如何,都可以调用.答案:D二、多项选择题1 Java 程序的种类有()A类(Class) BApplet CApplication DServlet答案:B,C,DApplet:(小应用程序)采用 Java 创建的基于 HTML 的程序。浏览器将其暂时下载到用户的硬盘上,并在 Web 页打开时在本地运行。一般的 Applet 只能通过 appletviewer 或者浏览器来运行,一般的 Java 程序通过继承 Applet 类也可以嵌入网页运行.Servlet(Serv
17、er Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。2下列说法正确的有()A环境变量可在编译 source code 时指定B在编译程序时,所能指定的环境变量不包括 class pathC javac 一次可同时编译数个 Java 源文件D javac.exe 能指定编译结果要置于哪个目录(directory)答案:BCD3下列标识符不合法的有()Anew B$Usdollars C1234 Dcar.taxi答案:ACDJAVA 命名规则:以大小写英文字母、数字、下划线“_”和美
18、元符号 “$”组成,且第一位不能为数字.4下列说法错误的有()A数组是一种对象B数组属于一种原生类C int number=31,23,33,43,35,63D数组的大小可以任意改变答案:BCD原生类指未被实例化的类,数组一般指实例化,被分配空间的类,不属于原生类.5不能用来修饰 interface 的有()Aprivate Bpublic Cprotected Dstatic答案:ACDclass 可用修饰符有 public final abstract(final 和 abstract 不能用时出现),interface 可用修饰符只有 public(接口本来就是 abstract)6下列
19、正确的有()A call by value 不会改变实际参数的数值B call by reference 能改变实际参数的参考地址C call by reference 不能改变实际参数的参考地址D call by reference 能改变实际参数的内容答案:ACD数值拷贝不会改变实参内容,引用拷贝可以改变实参内容,但不会改变实参的引用地址.7下列说法错误的有()A在类方法中可用 this 来调用本类的类方法B在类方法中调用本类的类方法时可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法答案:ACDthis 是对于当前类对象的引用 ,不能用来调用类方法.类方法不能调
20、用非 static 方法是就本类方法的直接调用而言,可以将类实例化后调用.这题存在漏洞,实际尝试中发现可以用 this 直接调用类方法,不过会出现编译器警告,从理论上来说, 类方法是类所共有,实例也可访问,但一般都是用类名来显示调用.public class Main public void print()System.out.println(“print“);public static void main(String args) Main s=new Main();s.print();8下列说法错误的有()A Java 面向对象语言容许单独的过程与函数存在B Java 面向对象语言容许单独
21、的方法存在C Java 语言中的方法属于类中的成员( member)D Java 语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC这个是文字游戏,没啥意思,让我选我会选 AB9下列说法错误的有()A能被 java.exe 成功运行的 java class 文件必须有 main()方法B J2SDK 就是 Java APIC Appletviewer.exe 可利用 jar 选项运行.jar 文件D能被 Appletviewer 成功运行的 java class 文件必须有 main()方法答案:BCD这个不是很懂,只知道 Applet 只要继承 Applet 类就行了
22、, 不需要 main()方法,其他的就不知道了.三、判断题1 Java 程序中的起始类名称必须与存放该类的文件名相同。()答案:正确2 Unicode 是用 16 位来表示一个字的。()答案:正确 3原生类中的数据类型均可任意转换。()答案:错误1. 分别写出 BOOL,int,float,指针类型的变量 a 与“零”的比较语句。 答案: BOOL : if ( !a ) or if(a) int : if ( a = 0) float : const EXPRESSION EXP = 0.000001 if ( a -EXP) pointer : if ( a != NULL) or if(
23、a = NULL) 2. 请说出 const 与#define 相比,有何优点? 答案:1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 2) 有些集成化的调试工具可以对 const 常量进行调试,但是不能对宏常量进行调试。 3. 简述数组与指针的区别? 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。 (1)修改内容上的差别 char a = “hello”; a0 = X; char *p = “world”; / 注意
24、p 指向常量字符串 p0 = X; / 编译器不能发现该错误,运行时错误 (2) 用运算符 sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是 p 所指的内存容量。C+/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。 char a = “hello world“; char *p = a; cout(A)(B) (C)(D)答案: A,D10.EJB 有哪些对象? Remote( Local)接口 Home(LocalHome )接口 Bean 类
25、Enterprise Bean Provider答案:A B C11方法可以进行 servlet 的调试?(A B C D E)A、使用打印语句; 在桌面计算机上运行服务器B、使用 Apache Log4JC、使用 IDE 集成的调试器D、直接查看 HTML 源码E、返回错误页面给客户12、下面关于 servlet 的功用说法正确的有哪些?(A B C D E)A、读取客户程序发送来的显式数据B、读取客户程序发送来的隐式数据C、生成相应的结果D、发送显式的数据给客户程序E、发送隐式的数据给客户程序13、下面关于 session 的用法哪些是错误的? (A B D)A、HttpSession s
26、ession = new HttpSession();B、String haha = session.getParameter(“haha” );C、session.removeAttribute(“haha” );D、session. setAttribute(“haha”);14、关于 说法正确的有哪些?(A B C)A、 URL 的输出在请求时被插入到 JSP 页面中B、不能含有影响整个页面的 JSP 内容C、被包含文件改变后不需更改使用它的页面D、被包含文件更改后,需要手动地更新使用它的页面15、关于 bean 的说法正确的有哪些?(B D)A、具备一个零参数(空)的构造函数(不是必须
27、的)B、不应该有公开的实例变量(字段)C、所有的属性都必须通过 getXxx 和 setXxx 方法来访问D、布尔型的属性使用 isXxx,而非 getXxx16、下面关于 MVC 说法错误的有哪些?(A C)A、必须使用复杂的框架B、使用内建的 RequestDispatcher 能够很好地实现 MVCC、MVC 影响整个系统的设计D、我们可以用 MVC 来处理单个请求17、下面的标签中哪些是 JSTL 标签?(A B C)A、B、C、D、18、使用 Junit 测试 equals()必须根据哪些属性来进行?(A B C)A、反身性B、对称性C、传递性D、一致性19、以下哪些说法是正确的?C
28、(A)每个 HTTP 请求对应一个单独的 ActionServlet 实例(B)对于每个请求访问 HelloAction 的 HTTP 请求,Struts 框架会创建一个单独的 HelloAction 实例。(C)每个子应用对应一个单独的 RequestProcessor 实例(D)每个子应用对应一个单独的 web.xml 文件20、ActionForm Bean 对象是由谁创建的?C(A) 标签处理类(B) ActionServlet(C) RequestProcessor(D) Action 21、struts 框架,错误的是,面那些说法正确? A Struts 中无法完成上传功能B St
29、ruts 框架基于 MVC 模式C Struts 框架容易引起流程复杂、结构不清晰等问题D Struts 可以有效地降低项目的类文件数目答案:C四、编程题(1、2题各15分,3题20 分)1、利用异常处理机制的方法来制作一个代码程序段。输入“I am 007”时,打印“亲爱的007,您好”;输入其他字符串时,打印“对不起,请下次进入”,然后程序结束import java.io.*;public class KBpublic static String scan()String str=“;tryBufferedReader buf=new BufferedReader(new InputStr
30、eamReader(System.in);str=buf.readLine();catch(Exception e)return str;public class MyExceptionTest public static void exceptionThrow() throws MyException1 throw new MyException1();public static void anotherThrow() throws MyException2 throw new MyException2();public static void main(String args) try String str=KB.scan();if(str.equals(“I am 007“)