1、java 笔试题以及答案详解 一 一、单项选择题 1 Java 是从()语言改进重新设计。AAda B C+ CPasacal DBASIC答案:B 2 下列语句哪一个正确()A Java 程序经编译后会产生 machine codeB Java 程序经编译后会产生 byte codeC Java 程序经编译后会产生 DLLD以上都不正确答案:B 3 下列说法正确的选项有()A class 中的 constructor 不可省略B constructor 必须与 class 同名,但方法不能与 class 同名C constructor 在一个对象被 new 时执行D一个 class 只能定义
2、一个 constructor答 案:C 详解: 见下面代码, 很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。package net.study;public class TestConStructorpublic TestConStructor()System.out.println(“constructor“);public void TestConStructor()System.out.println(“not constructor“);public static void main(String args)TestConStructor testConS
3、tructor = new TestConStructor();System.out.println(“main“);testConStructor.TestConStructor();4 提 供 Java 存取数据库能力的包是()Ajava.sql Bjava.awt Cjava.lang Djava.swing答案:A5 下 列运算符合法的是()Ac=0;do-c;a=a-1;while(a0);后,C 的值是()A0 B1 C-1 D死循环答 案:C详解:Do while 中的语句是至少要执行一次的。 执行顺序为:do 中的语句,然后价差 while 条件,如果为 false,则终止;如
4、果为 true,则继续执行 Do 中的语句,然后再检查 while 条件,如此循环。7 下列哪一种叙述是正确的()A abstract 修饰符可修饰字段、方法和类B抽 象方法的 body 部分必须用一对大括号 包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号答案:D详解:abstract 不能修饰字段。既然是抽象方法,当然是没有实现的方法,根本就没有 body 部分。8 下列语句正确的是()A形式参数可被视为 local variableB形式 参数可被字段修饰符修饰C形式参数为方法被调用时,真正被传递的参数D形式参数不可以是对象答案:A详解:形参可以看成方法中的局部变量。 传递
5、的是对象引用9 下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B实例方法可直接调用超类的类方法 C实例方法可直接调用其他类的实例方法D实例方法可直接调用本类的 类方法答案:D二、多项选择题1 Java 程序的种类有()A类 (Class ) BApplet CApplication DServletJava 程序的种类有:1、内嵌于 web 文件中,由浏览器来观看的 Applet2、可独立运行的 Application3、服务器端的 Servlet2 下列说法正 确的有()A 环境变量可在编译 source code 时指定B在编译程序时,所能指定的环境变量不包括 class pa
6、thC javac 一次可同时编译数个 Java 源文件D javac.exe 能指定编译结果要置于哪个目录(directory )答案:BCD3 下列标识符不合法的有 ()Anew B$Usdollars C1234 Dcar.taxi答案:ACD解释:java 变量命名规则:1. 大小写有别,例如 a 和 A 是两个变量 2. 长度任意 3. 可以任何字母开始,另外还可以以“_“和“$“ 开始,一般 “$“是很多代码生成器用的,人工写出来的代码不鼓励“_“ “$“ 4. 除了第一个字符,后面可以跟任何字母,数字,_和$new 是关键字不行。 不能以数字开头。 不用有“.” 这种符号4 下列
7、说法错误的有()A数组是一种对象B数组属于一种原生类C int number=31,23,33,43,35,63D数组的大 小可以任意改变答案:BCD解释:数组不是原生类:int double boolean float byte short long char ,初始化多大就是多大5不能用来修饰 interface 的有()Aprivate Bpublic Cprotected Dstatic答案:ACD解释:interface 是 public 的, 加不加都是 public6 下列正确的有()A call by value 不会改变实际参数的数值B call by reference 能
8、改变实际参数的参考地址C call by reference 不能改变实际参数的参考地址D call by reference 能改变实际参数的内容答案:ACD7 下列说法 错误的有()A在类方法中可 用 this 来调用本类的类方法B在类方法中调用本类的类方法时可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法答案:CD解释:原来答案中包含 A,但是在 JDK1.5 中,这样写是不会出错的,只不过会有警告而已。 类方法中当然可以条用其它的方法,比如 system.out 。 当然你也可以 new Object, 调用一下 object.toString()8下列说法
9、错误的有()A Java 面向对象语言容许单独的过程与函数存在B Java 面向对象语言容许单独的方法存在 C Java 语言中的方法属于类中的成员(member)D Java 语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC解释:java 全部完全面向对象的 9 下列说法错误的有 ()A能被 java.exe 成功运行的 java class 文件必须有 main()方法B J2SDK 就是 Java APIC Appletviewer.exe 可利用 jar 选项运行.jar 文件D能被 Appletviewer 成功运行的 java class 文件必须有 ma
10、in()方法答案:BCD解释:A 正确 main 方法是入口 BJ2SDK 当然不仅仅包含 java API C jar 选项是 java.exe 的选项 D Appletviewer 是运行 applet 的, applet 不用 main 方法,继承 applet 类即可。三、判断题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.000001if ( a -EXP)pointer : if ( a != NULL) or if(a = NULL)