javaOO上册——考试题
作者:互联网
JavaOO阶段性考核测试试题
注:本测试试题共计50道单项选择题,每题2分,共计100分,答题时间120分钟
A:90~100分 B+:80~90分 B:70~80分 B-:60-70分 C:50-60分 D:50分以下
- 下列不属于Java运行环境要执行的工作是( )
A. 从Java源文件编译成字节码文件
B. 字节码校验
C.解释执行
D. 类加载
- 在JDK1.8中,switch(expr1)中,expr1不可以是如下哪个类型( )
- byte B. short C. char D. long E. int F. String
- 下面哪一个是合法的自定义Java标识符( )
- –hello B. _String$123 C. return D. 38Test
4、以下不属于Java基本数据类型的有( )
A. long B. float C. String D. char E. double
5、有一个Hello.java的文件,内容如下( )
class Test{ public static void main(String[] args){ System.out.println("abc"); } } |
正确编译并执行的命令是()
- javac Hello.java
java Hello
- javac Hello.java
java Hello.class
- javac Hello.java
java Test.class
D. javac Hello.java
java Test
6. 下列的哪个赋值语句是不正确的( )。
A. long x = 90;
float f = x;
B. int x = 9/7;
C. byte b1 = 7,b2 = 8;
b1 = b1+b2;
D. double y = 4*2.3;
7. 以下代码执行结果为( )
public class A{ public static char c = 'A'; public static void main(String[] args){ for(int j = 0; j<2 && test(c);){ j++; } } public static boolean test(char c){ c += 1; System.out.print(c+" "); return true; } } |
A. B C D B. B B B
C. B C D. B B
8、以下代码执行结果是( )
public static void main(String[] args){ int a = 8; switch(a/4){ case 1: System.out.print("1 "); case 2: System.out.print("2 "); case 3: System.out.print("3 "); default: System.out.print("default "); } } |
A. 1 2 3 default B. 2
C. 2 3 default D. 2 3
9、表达式5<6?4:3执行的结果是( )。
A. 4 B. 3 C. true D. false
10、以下循环,哪个是死循环( )
A. boolean x = false;
while(x = true){
System.out.println(x);
}
B. int x = 0;
do{
System.out.println(x);
x++;
}while(x>10);
C. int x = 8;
while(x > 10){
System.out.println(x);
}
D. for(int i=0;;i++){
System.out.println(i);
if(i > 5) break;
}
11、以下代码执行结果为( )
int a=1,b=10; do{ b-=a; a++; }while (b--<0); System.out.println(b); |
- 0 B. 8 C. 9 D. 10
12、至少执行一次的循环是( )
A. while B. for C. do……while D. continue
13、在java中,真和假以什么方式表示( )。
A. true为真,false为假
B. 真只能用1表示,假用0表示;
C. 所有的非0都表示真,假用0表示;
D. 以上都不对
14、以下代码输出结果是:( )
public class A{ public static void main(String[] args){ int i = 6; System.out.print(test(i)); }
public static void test(int i){ System.out.print(i++); } } |
A. 编译错误 B. 运行错误
C. 打印6 7 D. 打印6 6
15、下面不属于数组特点的是( )
A. 数组是一段连续的空间
B. 数组元素通过下标进行访问。
C. 数组创建后,长度可以变化。
D. 数组元素在创建后会完成初始化。
16、以下代码输出结果是()
public class A{ public static void main(String[] args){ int i = 6; int[] array = {1,2,3}; test(i,array); System.out.print(i+" "+array[0]); }
public static void test(int i,int[] array){ i += 3; array[0] += 3; } } |
A. 9 4 B. 6 4
C. 6 1 D. 9 1
17、生成doc帮助文档,需要使用什么命令( )。
A. java B. javac C. jar D. javadoc
18、以下代码执行结果是( ):
public class A{ public static void main(String[] args){ int x = 10; if(x > 3){ System.out.print("***"); } else if(x > 5){ System.out.print("&&&"); } } } |
- *** &&& B. *** C. &&& D. 没有输出
19、下面程序的运行结果是( )
int[] my_Array; my_Array = new int[5]; for(int count = 0; count <= 5; count++) { System.out.println(my_Array[count]); } |
A. 将1,2,3,4,5输出到屏幕
B. 将0,1,2,3,4输出到屏幕
C. 将0,1,2,3,4,5输出到屏幕
D. 运行错误
20. 假如方法的定义形式为:
public static void fun(int a,char b){……}
那么下面哪种调用是正确的( )
A. fun(5, “A”); B. fun(5, '65');
C. fun('A', 65); D. fun(5.2, 65);
21、不属于面向对象特点的是( )
A. 垃圾回收 B. 多态 C. 继承 D. 封装
22、 |
下面关于对象说法不正确的是( ) |
|
|
A. |
万物皆对象 |
|
B. |
对象一定是看得见,摸得着的 |
|
C. |
对象因关注产生 |
|
D. |
对象包含属性和行为。 |
23、当编译和运行下面程序时会发生什么事情( )。
public class Program { public static void main(String args[]) { int i; System.out.println(i); } } |
A. 通过编译并输出0 B. 产生编译错误
C. 通过编译并输出null D. 通过编译但出现运行异常
24、 下列说法正确的是( )
A. class中的构造方法不可省略
B. 构造方法必须与class同名,但普通方法不能与class同名
C. 构造方法在一个对象被new时执行
D. 一个class只能定义一个构造方法
25、 关于抽象类描述不正确的是( )
A. 有abstract关键字修饰,允许包含未实现方法的类被称为抽象类
B. 在抽象类中可以不包含抽象方法
C. 抽象类可以实例化
D. 抽象类可以被继承
26、有以下代码
package pack1; class A{ void method1(){} static void method2(){} private void method3(){} protected void method4(){} }
package pack2; class B extends A{ public B(){ //here } } |
其中哪个方法可以放在here处?
A. this.method1(); B. this.method2();
C. this.method3(); D. this.method4();
27、给定Java代码如下,关于super的用法以下描述正确的是( )。
class C extends B { public C() { super(); } } |
A、 用来调用类B中定义的super()方法
B、 用来调用类C中定义的super()方法
C、 用来调用类B中的无参数的构造方法
D、 用来调用类B中第一个出现的构造方法
28、 |
给定JAVA代码,如下,编译运行后,结果是( ).
|
||
|
A. |
编译错误 B. 运行错误 |
|
|
C. |
正常运行,输出true D. 正常运行,输出false |
29. 以下代码执行结果是()
public class MyClass { public void MyClass(){ System.out.print("MyClass"); } public void method() { System.out.print("method"); } public static void main(String[] args){ MyClass m = new MyClass(); m.method(); } } |
A. 编译错误 B. MyClass method
C. MyClass D. method
30、以下代码,执行结果是( )
public class Father{ public Father(int x){ System.out.println("XXX"); } }
class Child extends Father{ public Child(){ System.out.println("yyy"); } public static void main(String[] args){ new Child(); } } |
- 编译错误 B. 运行错误 C. 输出XXXyyy D. 输出yyyXXX
31、给定Java代码如下,编译运行结果是( )。
public class Test{ public int count(){ return 1%9; }
public static void main(String[] args){ System.out.println(count()); } } |
- 编译错误 B. 运行异常 C. 正常运行,输出1 D. 正常运行,输出0
32、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用( )关键字来声明父类的这些方法。
A. final B. static C. abstract D. void
33、 以下代码执行结果是()
public class Student { public int code; }
public class Test { public static void main(String[] args) { int x = 4; Student s1 = new Student(); s1.code = 8; test(s1,x); System.out.println(s1.code+" "+x); } public static void test(Student s1,int x){ s1.code = 2; s1 = new Student(); s1.code = 10; x = 1; } } |
A. 10 1 B. 8 4
C. 2 4 D. 10 4
34、以下关于final关键字说法错误的是()
A. final不能修饰抽象类
B. final修饰的类不能被继承
C. final修饰的方法不能被重载
D. final修饰的变量不允许被再次赋值
35、有这样的定义 ( )
class A{} class B extends A{} class C extends B{} interface IFly{} class D implements IFly{} class Imp{ public void foo(B b,IFly fly){} public static void main(String[] args){ Imp mp = new Imp(); //here } } |
下面哪个代码能插在here处()
A. mp.foo(new B(), new IFly());
B. mp.foo(new A(), new D());
C. mp.foo(new C(), new IFly());
D. mp.foo(new C(), new D());
36、当试图编译并运行下面程序时会出现什么结果()。
class A { public int getNumber(int a) { return a + 1; } }
class B extends A { public int getNumber(int a, int c) { return a + 2; } public static void main(String[] args) { B b = new B(); System.out.println(b.getNumber(0)); } } |
A. 编译错误 B. 运行异常 C. 1 D. 2
37、 当编译并运行下面程序时会出现什么结果()。
class Man{ public int age; }
public class Program { public static void main(String args[]){ Man[] x = new Man[5]; x[0].age = 2; System.out.println(x[0].age); } } |
- 编译错误 B. 运行异常 C. 输出0 D. 输出2
38、 下面关于抽象类和接口的说法哪个是正确的()。
A. 抽象类中只能包括抽象方法,必须写abstract关键字
B. 接口中的方法只能是抽象的,但不能写abstract关键字
C. 接口中的方法只能是public的
D. 抽象类不能被抽象类继承
39 、 下面关于静态初始化块和实例初始化块说法正确的是( )。
A、 静态初始化块只能被调用一次,是在第一次产生对象的时候
B、 每次产生对象的时候都会执行一次实例初始化块
C、 每次产生对象的时候都会执行一次静态初始化块
D、 实例初始化块是在执行构造方法之后马上被执行的。
40、给定java代码,如下:
abstract class Shape{ abstract public void draw( ); } |
要创建Shape类的子类Circle,以下代码正确的是()。
A. class Circle extends Shape{
public int draw( ){}
}
B. abstract class Circle extends Shape{}
C. class Circle extends Shape{
public void draw( );
}
- class Circle extends Shape{
protected void draw( ){}
}
41、下面关于构造方法的说法错误的是()
A . 构造方法不能被继承
B. 构造方法不能被重写
C. 构造方法不能被重载
D. 构造方法可以被重载
42、在Java接口中,下列选项里有效的定义是( )
A. public void method(){}
B. void
method();
C. static void method();
D. protected
void method();
43、使用( )修饰符时,一个类能被同一包或不同包中的其他类访问。
A. private B. pretected C. public D. friendly
44、有以下定义:
class MyClass{ public int x; public static void test(){} public static void main(String[] args){ MyClass a = new MyClass(); //here } } |
下面哪个代码不能插在here处?( )
A. MyClass.test(); B. MyClass.x = 2;
C. a.x = 2; D. a.test();
45、在Java语言中,下面关于构造器的描述正确的是()。
A. 类必须有显式构造器
B. 它的返回类型是void
C. 它和类有相同的名称,但它不能带任何参数
D. 以上皆非
46、下面哪行代码进行了垃圾回收()
class MyObj{ public String name; public static MyObj m; public static void main(String[] args){ MyObj x = new MyObj(); //1 MyObj a = x; //2 x = m; //3 a = new MyObj(); //4 a.name = "mike"; //5 } } |
- 1 B. 2 C. 3 D. 4 E. 5
47、下面的Java代码编译后生成的类文件的文件名不包括( )。
public class One { public class Three {} }
class Two { } |
A. One.class B. Two.class
C. One$Three.class D. One$Two.class
48、 以下代码执行结果是()
class Man{ private int age; public Man(int age){ this.age = age; } } public class Test{ public static void main(String[] args){ Man m1 = new Man(5); Man m2 = new Man(5);
System.out.print(m1 == m2); System.out.print(m1.equals(m2)); } } |
A. true true B. false false
C. true false D. false true
49、在Java语言中,下面关于类的描述正确的是()。
A. 一个子类可以有多个父类
B. 一个超类可以有多个子类
C. 子类可以使用超类的所有方法
D. 子类一定比超类有更多的成员方法
50、执行以下代码结果是()
public class Father{ public int age; public void test(){ System.out.println(this.age); } }
class Child extends Father{ public String s; public void speak(){ System.out.println(s); } }
class Test{ public static void main(String[] args){ Father f = new Child(); f.speak(); } } |
A. 0 B. null
C. 编译错误 D. 运行错误
标签:javaOO,int,void,System,public,上册,static,考试题,class 来源: https://www.cnblogs.com/libobo22/p/11656095.html