java基础笔试测试题及答案.pdf
Java 一章 至 五章 考试 一.填空题(8 分)1.面向对象的三大原则是(封装 ),(继承 )和(多态 ).2 分 2.如果想在对象实例化的同时就初始化成员属性,则使用(构造函数 ).2 分 3.(实体)方法和(构造)方法不能修饰为 abstract?分 二选择题(60 分)1)在 Java 语言中,下列(a,d)是不满足命名规范的变量名。(选择二项)a)姓名 b)$Name c)_instanceof d)instanceof 2)下列 Java 代码片段的输出结果是(a)。char c=a;int i=c;float f=i;byte b=(byte)c;System.out.println(c+,+i+,+f+,+b);a)编译错误 b)a,97,97,97 c)a,97,97.0,97 d)a,97,97.0f,97 3)下列 Java 代码中,空白处的代码是(b,c)。(选择两项)public interface Fee public float calLabFee(float unitPrice,float time);public class FeeImpl implements Fee public float calLabFee(float unitPrice,float time)return unitPrice*time;public class FeeInterfaceTest public static void main(String args)_ Float labFee=fee.calLabFee(400.00,5);欢迎下载 2 a)Fee fee=new Fee();b)Fee fee=new FeeImpl();c)FeeImpl fee=new FeeImpl();d)FeeImpl fee=new Fee();4)在 JAVA 语言中,在包 Package1 中包含包 Package2,类 Class_A 直接隶属于包 Package1,类Class_C 直接隶属于包 package2.在类Class_B 要应用 Class_A的 A 和 Class_C 的方法 B,你需要(a,b)语句。(选择两项)a)import package1.*;b)import package1.package2.*;c)import package2.*;d)import package2.package1.*;5)int my_Array;my_Array=new int5;for(int count=0;count=5;count+)System.out.println(my_Arraycount);正确的运行结果是(d)a)将 1,2,3,4,5 输出到屏幕 b)将 0,1,2,3,4 输出到屏幕 c)将 0,1,2,3,4,5 输出到屏幕 d)将出现运行时异常 6)在 java 语言中,如果你有下面的类定义:(b)abstract class Shape abstract void draw();class Square extends Shape.(选择一项)a)一切成功编译 b)Shape 可以编译,Square 不能编译 c)Square 可以编译,Shape 不能编译 d)Square,Shape 都不能编译 7)在 JAVA 编程中,以下(b)命令用来执行 JAVA 类文件 a)javac b)java c)appletviewer d)以上所有选项都不正确 欢迎下载 3 8)编译并运行下面的 Java 程序:(c)class A int var1=1;int var2;public static void main(String args)int var3=3;A a=new A();System.out.println(a.var1+a.var2+var3);a)0 b)4 c)3 d)代码无法编译,因为 var2 根本没有被初始化 9)在 Java 语言中,下面关于构造函数的描述正确的是(d)。(选择一项)a)类必须有显式构造函数 b)它的返回类型是 void c)它和类有相同的名称,但它不能带有任何参数 d)以上皆非 10)在 java 语言中,类 Worker 是类 Person 的子类,Worker 的构造方法中有一句super(),该语句(c).(选择一项)a)调用类 Worker 中定义的 super()方法 b)调用类 Person 中定义的 super()方法 c)调用类 Person 的构造函数 d)语法错误 11)研究下面的 JAVA 代码:switch(x)case1:System.out.println(1);case2:case3:System.out.println(3);case4:System.out.println(4);当 x=2 时,运行结果是(d).(选择一项)欢迎下载 4 a)没有输出任何结果 b)输出结果为 3 c)输出结果为 3 和 4 d)输出结果为 1,3 和 4 12)在/point x 处的哪些申明是句法上合法的?(选择两项)class Person private int a;public int change(int m)return m;public class Teacher extends Person public int b;public static void main(String arg)Person p=new Person();Teacher t=new Teacher();int i;/point x (c,d)a)i=m;b)i=b;c)i=p.a;d)i=p.change(30);e)i=t.b;13)下面关于继承的哪些叙述是正确的?(选择两项)(a,d)a)在 java 中只允许单一继承 b)在 java 中一个类只能实现一个接口 c)在 java 中一个类不能同时继承一个类和实现一个接口。d)java 的单一继承使代码更可靠。14)public class test3 欢迎下载 5 public static void main(string args)for(int i=0;i=0;j-)if(i=j)continue;system.out.printin(“i=”+i+“j=”+j);(a,d,b)(选择三项)a)i=0 j=3 b)i=0 j=0 c)i=2 j=2 d)i=0 j=2 e)i=1 j=2 15)(d)修饰符允许对类成员的访问不依赖于该类的任何对象 a)abstract b)static c)return d)public 16)研究下面的 Java 代码:public class testException public static void main(String args)int a=0,1,2,3,4;int sum=0;try for(int i=1;i6;i+)sum=sum+ai;System.out.println(sum=+sum);catch(ArrayIndexOutOfBoundsException e)欢迎下载 6 System.out.println(数组越界);finally System.out.println(程序结束);输出结果将是(b)。(选择一项)a)10 数组越界 程序结束 b)10 程序结束 c)数组越界 程序结束 d)程序结束 17)给定如下 java 代码:public class Test public static void main(String args)int output=10;boolean b1=false;if(b1=true)&(output+=10)=20)System.out.println(“Equal”+output);else System.out.println(“Not equal”+output);(c )a)Equal 10 b)Equal 20 c)Not equal 10 d)Not equal 20 18)给定如下 java 代码,编译运行后将会输出(c)(选择一项)public class Test public static void main(String args)int a=5;System.out.println(a%2=1)?(a+1)/2:a/2);欢迎下载 7 a)1 b)2 c)3 d)4 19)public class Test extends Parent public int count()return 1%9;public static void main(String args)System.out.println(count();编译运行结果是(c)(选择一项)a)编译错误 b)运行时出现例外 c)正常运行,输出 d)正常运行,输出 20)已知 A 类被打包在 packageA,B 类被打包在 packageB,且 B 类被声明为public,且有一个成员变量 x 被声明为 protected 控制方式。C 类也位于packageA 包,且继承了 B 类。则以下说话正确的是(c)(选择一项)a)A 类的实例不能访问到 B 类的实例 b)A 类的实例能够访问到 B 类一个实例的 x 成员 c)C 类的实例可以访问到 B 类一个实例的 x 成员 d)C 类的实例不能访问到 B 类的实例 三问答题(22 分)1.方法重载要符合什么条件?4 分 1,方法名相同 2,参数类型不同(参数个数不同,或者参数类型不同,或者类型和参数都不同)3,与返回类型无关 2.修饰成员变量的四种访问权限是哪些,分别在哪些地方可以访问?分 1,public,所有都可访问 2,protected,子类和同包可访问 3,private,本类可访问 4,默认,同包可访问 欢迎下载 8 3.super 关键字的作用?它什么时候用?分 1,放在子类构造函数的第一行,显示调用父类的构造函数 2,super.方法名,调用父类的方法 3,super.属性名,调用父类的成员属性 4.方法重写要符合什么条件?和方法重载有什么区别?5 分 1,有继承 2,方法名,参数,返回类型都相同 与重载的区别:重载是参数不同,与返回类型无关 4.多态分哪两种?前提条件分别是什么?3 分 1,运行时多态,前提是有继承,子类重写父类的方法,并且父类的引用指向子类的应用 2,编译时多态,6 final 有哪些作用?分别有哪些注意事项?3 分 1,类不能被继承,方法不能被重写 2,方法中不能用 this 关键字 四附加题:(10)抽象类、继承、接口综合 设计一个系统:XXX 门的实现过程:流程:设计一张抽象的门 Door,那么对于这张门来说,就应该拥有所有门的共性,开门 openDoor()和 关 门 closeDoor();然 后 对 门 进 行 另 外 的 功 能 设 计,防 盗-theftproof()、防 水-waterproof()、防弹-bulletproof()、防火、防锈 要求:利用继承、抽象类、接口的知识设计该门 public interface Function Public void theftproof();public void waterproof();public void bulletproof();public void fireproof();public void rustproof();public abatract Door public void openDoor();public void closeDoor();欢迎下载 9 public class theftProofDoor extends Door,implements Function public void openDoor()System.out.println(“开门。”)public void closeDoor()System.out.println(“关门。”)public void theftproof()System.out.println(“这是防盗门。”)public void bulletproof()public void waterproof()public void fireproof()public void rustproof()public class waterProofDoor extends Door,implements Function public void openDoor()System.out.println(“开门。”)public void closeDoor()System.out.println(“关门。”)public void theftproof()public void bulletproof()public void fireproof()public void rustproof()public void waterproof()欢迎下载 10 System.out.println(“这是防水门。”)public class bulletProofDoor extends Door,implements Function public void openDoor()System.out.println(“开门。”)public void closeDoor()System.out.println(“关门。”)public void theftproof()public void waterproof()public void fireproof()public void rustproof()Public void bulletproof()System.out.println(“这是防弹门。”)public class fireProofDoor extends Door,implements Function public void openDoor()System.out.println(“开门。”)public void closeDoor()System.out.println(“关门。”)public void theftproof()public void waterproof()public void fireproof()System.out.println(“这是防火门。”)欢迎下载 11 public void rustproof()Public void bulletproof()public class rustProofDoor extends Door,implements Function public void openDoor()System.out.println(“开门。”)public void closeDoor()System.out.println(“关门。”)public void theftproof()public void waterproof()public void fireproof()public void rustproof()System.out.println(“这是防锈门。”)Public void bulletproof()