1、 软件工程师笔试题姓名:_ 分数:_一、单选题(每题 2 分)1Java 是从( )语言改进重新设计。AAda BC+ CPasacal DBASIC2下列语句哪一个正确( )A Java 程序经编译后会产生 machine codeB Java 程序经编译后会产生 byte codeC Java 程序经编译后会产生 DLLD 以上都不正确3下列说法正确的有( )A class 中的 constructor 不可省略B constructor 必须与 class 同名,但方法不能与 class 同名C constructor 在一个对象被 new 时执行D 一个 class 只能定义一个 co
2、nstructor4提供 Java 存取数据库能力的包是( )Ajava.sql Bjava.awt Cjava.lang Djava.swing5下列运算符合法的是( )Ac=0;do-c;a=a-1;while(a0);后,C 的值是( )A0 B 1 C-1 D死循环7下列哪一种叙述是正确的( )A abstract 修饰符可修饰字段、方法和类B 抽象方法的 body 部分必须用一对大括号 包住C 声明抽象方法,大括号可有可无D 声明抽象方法不可写出大括号8下列语句正确的是( )A 形式参数可被视为 local variableB 形式参数可被字段修饰符修饰C 形式参数为方法被调用时,真
3、正被传递的参数D 形式参数不可以是对象9下列哪种说法是正确的( )A 实例方法可直接调用超类的实例方法B 实例方法可直接调用超类的类方法C 实例方法可直接调用其他类的实例方法D 实例方法可直接调用本类的类方法10下面哪个是在 tomcat 中 web.xml 的位置( )A %Tomcat_Home%webappsROOTWEB-INFB %Tomcat_Home%webappsROOTWEB-INFlibC %Tomcat_Home%webappsROOTWEB-INFlibclassD %Tomcat_Home%webappsROOT二、多选题(每题 3 分)1下列说法错误的有( )A 能
4、被 java.exe 成功运行的 java class 文件必须有 main()方法B J2SDK 就是 Java APIC Appletviewer.exe 可利用 jar 选项运行.jar 文件D 能被 Appletviewer 成功运行的 java class 文件必须有 main()方法2下列说法正确的有( )A 环境变量可在编译 source code 时指定B 在编译程序时,所能指定的环境变量不包括 class pathC javac 一次可同时编译数个 Java 源文件D javac.exe 能指定编译结果要置于哪个目录(directory)3下列标识符不合法的有( )Anew
5、B$Usdollars C1234 Dcar.taxi4下列说法错误的有( )A 数组是一种对象B 数组属于一种原生类C int number=31,23,33,43,35,63D 数组的大小可以任意改变5不能用来修饰 interface 的有( )Aprivate Bpublic Cprotected Dstatic6下列正确的有( )A call by value 不会改变实际参数的数值B call by reference 能改变实际参数的参考地址C call by reference 不能改变实际参数的参考地址D call by reference 能改变实际参数的内容7下列说法错误的
6、有( )A 在类方法中可用 this 来调用本类的类方法 B在类方法中调用本类的类方法时可直接调用C 在类方法中只能调用本类中的类方法D 在类方法中绝对不能调用实例方法8下列说法错误的有( )A Java 面向对象语言容许单独的过程与函数存在B Java 面向对象语言容许单独的方法存在C Java 语言中的方法属于类中的成员(member)D Java 语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同9下列是 java 关键字的有( )A NULLB trueC sizeofD implementE instanceof10以下哪些属于 Session 的方法( )A load(
7、)B save()C delete()D update()E open()F close()三、判断题(每题 2 分)1Java 程序中的起始类名称必须与存放该类的文件名相同。( )2Unicode 是用 16 位来表示一个字的。( )3原生类中的数据类型均可任意转换。( )4Java 基本数据类型包含 string。( )5char 不能放下一下中文字符。( )6在 java 中一个类被声明为 final 类型,表示该类不能被继承,是顶级类。( )7Error 表示需要捕捉或者需要程序进行处理的异常。( )8wait():使一个线程处于等待状态,并且释放所持有的对象的 lock。( )9St
8、ring 没有 length()这个方法,但有同样功能的 length 属性,数组有 length()这个方法。( )四、简答题1谈谈 final, finally, finalize 的区别。(10 分)2写一个字符串反转的方法,把“abcdefg”转换成“gfedcba”。 (10 分)3写一段连 Oracle 的程序,并实现数据查询。 (12 分)答案一、单选题1答案:B2答案:B3答案:C4答案:A5答案:A6答案:C7答案:D8答案:A9答案:D10答案: A二、 多项选择题1答案:BCD2答案:BCD3答案:ACD4答案:BCD5答案:ACD6答案:ACD7答案:ACD8答案:AB
9、C9答案:BDE10答案: ABCDF三、 判断题1答案:正确2答案:正确3答案:错误4答案:错误5答案:错误6答案:正确7答案:错误8答案:正确9答案:错误四、简答题1答案:final修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载 finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize方法名。 Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。