当前位置:文档之家› java基础笔试测试题与答案

java基础笔试测试题与答案

Java 一章至五章考试一. 填空题(8 分)1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分二.选择题(60 分)1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。

(选择二项)a) 姓名b) $Namec) _instanceofd) instanceof2) 下列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,97c) a,97,97.0,97d) a,97,97.0f,973) 下列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);}}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 int[5];for(int count=0;count<=5;count++)System.out.println(my_Array[count]);正确的运行结果是( 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) javacb) javac) appletviewerd) 以上所有选项都不正确.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) 0b) 4c) 3d) 代码无法编译,因为var2 根本没有被初始化9) 在Java 语言中,下面关于构造函数的描述正确的是( d )。

(选择一项)a) 类必须有显式构造函数b) 它的返回类型是voidc) 它和类有相同的名称,但它不能带有任何参数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 ).( 选择一项)a) 没有输出任何结果b) 输出结果为 3c) 输出结果为 3 和4d) 输出结果为1,3 和412) 在//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 {public static void main(string args[ ]) {for (int i=0;i<3; i ++) {for(int j=3;j >=0;j--) {if(i= =j)continue;system.out.printin( “i= ”+i+ “j= ”+j);}}}}(a,d,b) ( 选择三项)a) i =0 j=3b) i =0 j=0c) i =2 j=2d) i =0 j=2e) i =1 j=215) ( d ) 修饰符允许对类成员的访问不依赖于该类的任何对象a) abstractb) static c)return d)public16) 研究下面的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;i<6;i++)sum=sum+a[i];System.out.println("sum="+sum);}catch(ArrayIndexOutOfBoundsException e){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 10b) Equal 20c) Not equal 10d) Not equal 2018) 给定如下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);}}a) 1b) 2c) 3d) 419) 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) 正常运行,输出1d) 正常运行,输出020) 已知 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 分)4. 方法重载要符合什么条件? 4 分1,方法名相同2,参数类型不同(参数个数不同,或者参数类型不同,或者类型和参数都不同)3,与返回类型无关5. 修饰成员变量的四种访问权限是哪些,分别在哪些地方可以访问?4分1,public ,所有都可访问2,protected ,子类和同包可访问3,private ,本类可访问4,默认,同包可访问6.super 关键字的作用?它什么时候用?3分1,放在子类构造函数的第一行,显示调用父类的构造函数2,super. 方法名,调用父类的方法3,super. 属性名,调用父类的成员属性7. 方法重写要符合什么条件?和方法重载有什么区别? 5 分1,有继承2,方法名,参数,返回类型都相同与重载的区别:重载是参数不同,与返回类型无关4. 多态分哪两种?前提条件分别是什么? 3 分1,运行时多态,前提是有继承,子类重写父类的方法,并且父类的引用指向子类的应用2,编译时多态,6.final 有哪些作用?分别有哪些注意事项? 3 分1,类不能被继承,方法不能被重写2,方法中不能用this 关键字四.附加题:(10)合抽象类、继承、接口综:统设计一个系XXX门的实现过程:流程:设计一张抽象的门Door,那么对于这张门来说,开门openDoor()性,就应该拥有所有门的共行另外的功能设计, 防盗--theftproof() 、防水和关门closeDoor() ;然后对门进--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();}public class theftProofDoor extends Door,implements Function {public void openDoor(){System.out.println( “开门。

相关主题