java笔试题以及答案详解
一、单项选择题
  1Java是从()语言改进重新设计。
  AAda BC++ CPasacal DBASIC
   答案:B 
  2.下列语句哪一个正确()
  A Java程序经编译后会产生machine code
   B Java程序经编译后会产生byte code
  C Java程序经编译后会产生DLL
  D.以上都不正确
   答案:B 
  3.下列说法正确的有()
   A class中的constructor不可省略
  B constructor必须与class同名,但方法不能与class同名
  C constructor在一个对象被new时执行
   D.一个class只能定义一个constructor
  答 案:
详解:  见下面代码, 很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。
package net.study;

public class TestConStructor
{

public TestConStructor()
{
System.out.println("constructor");
}

public void TestConStructor()
{
System.out.println("not constructor");
}

public static void main(String[] args)
{
TestConStructor testConStructor = new TestConStructor();

System.out.println("main");

testConStructor.TestConStructor();

}
}

  4.提 Java存取数据库能力的包是()
   Ajava.sql Bjava.awt Cjava.lang Djava.swing
  答案:A
  5.下 列运算符合法的是()
  A&& B<> Cif D:=
  答案:A
详解:
java 中没有<> := 这种运算符, if else不算运算符
   6.执行如下程序代码
   a=0;c=0;
  do{
  --c;
  a=a-1;
   }while(a>0);
  后,C的值是()
  A0 B1 C-1 D.死循环
  答 案:C
详解:
Do  while 中的语句是至少要执行一次的。 执行顺序为:do 中的语句,然后价差while条件,如果为false,则终止;如果为true,则继续执行Do中的语句,然后再检查while条件,如此循环。
   7.下列哪一种叙述是正确的()
  A abstract修饰符可修饰字段、方法和类
  B.抽 象方法的body部分必须用一对大括号{ }包住
  C.声明抽象方法,大括号可有可无
  D.声明抽象方法不可写出大括号
   答案:D
详解:
abstract不能修饰字段。既然是抽象方法,当然是没有实现的方法,根本就没有body部分。
   8.下列语句正确的是()
  A.形式参数可被视为local variable
  B.形式 参数可被字段修饰符修饰
   C.形式参数为方法被调用时,真正被传递的参数
  D.形式参数不可以是对象
  答案:A
详解:
形参可以看成方法中的局部变量。 传递的是对象引用
  9.下列哪种说法是正确的()
   A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
  C.实例方法可直接调用其他类的实例方法
   D.实例方法可直接调用本类的 类方法
  答案:D
  二、多项选择题
  1Java程序的种类有()
   A.类 Class BApplet CApplication DServlet
  2.下列说法正 确的有()
  A 环境变量可在编译source code时指定
  B.在编译程序时,所能指定的环境变量不包括 class path
  C javac一次可同时编译数个Java源文件
  D 能指定编译结果要置于哪个目录(directory
   答案:BCD
  3.下列标识符不合法的有 ()
  Anew B$Usdollars C1234 Dcar.taxi
  答案:ACD
解释:
java 变量命名规则:1. 大小写有别,例如 a A是两个变量  2. 长度任意 3. 可以任何字母开始,另外还可以以"_""$"开始,一般"$"是很多代码生成器用的,人工写出来的代码不鼓励"_" "$" 4. 除了第一个字符,后面可以跟任何字母,数字,_$
new 是关键字不行。  不能以数字开头。 不用有“.”这种符号
   4.下列说法错误的有()
  A.数组是一种对象
   B.数组属于一种原生类
  C int number=[]={31,23,33,43,35,63}
  D.数组的大 小可以任意改变
  答案:BCD
解释:
数组不是原生类:int double boolean float byte short long char ,初始化多大就是多大
  5.不能用来修饰interface的有()
  Aprivate Bpublic Cprotected Dstatic
   答案:ACD
解释:
interface public的, 加不加都是public
   6.下列正确的有()
  A call by value不会改变实际参数的数值
  B call by reference能改变实际参数的参考地址
   C call by reference不能改变实际参数的参考地址
   D call by reference能改变实际参数的内容
  答案:ACD
  7.下列说法 错误的有()
  A.在类方法中可 this来调用本类的类方法
  B.在类方法中调用本类的类方法时可直接调用
   C.在类方法中只能调用本类中的类方法
   D.在类方法中绝对不能调用实例方法
  答案:CD
解释:
原来答案中包含A,但是在 JDK1.5中,这样写是不会出错的,只不过会有警告而已。 类方法中当然可以条用其它的方法,比如system.out 当然你也可以new Object 调用一下String()
  8.下列说法错误的有()
  A Java面向对象语言容许单独的过程与函数存在
B Java面向对象语言容许单独的方法存在
  C Java语言中的方法属于类中的成员(member
  D Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
  答案:ABC
解释:
java全部完全面向对象的 
   9.下列说法错误的有 ()
  A.能被成功运行的java class文件必须有main()方法
  B J2SDK就是Java API
  C 可利用jar选项运行.jar文件
  D.能被 Appletviewer成功运行的java class文件必须有main()方法
  答案:BCD
解释:
Ajava程序设计教程第二版课后答案航空工业出版社正确main方法是入口 BJ2SDK当然不仅仅包含java API C jar选项是 的选项 D Appletviewer是运行applet的, applet 不用main方法,继承applet类即可。
   三、判断题
   1Java程序中的起始类名称必须与存放该类的文件名相同。()
  答案:正确
  2Unicode是用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 && a >-EXP)
  pointer : if ( a != NULL) or if(a == NULL)