JavaSE阶段复习题(选择题)

Java阶段测试卷
选择题(一)

  1. 在Java类中,使用以下( )声明语句来定义公有的int型常量MAX。
    A. public int MAX = 100;
    B. final int MAX = 100;
    C. public static int MAX = 100;
    D. public static final int MAX = 100;
  2. 给定Java代码如下所示,在横线处新增下列( )方法,是对cal方法的重载。(选二项)
    public class Test{
    public void cal(int x, int y, int z) {}

}
A. public int cal(int x, int y, float z){ return 0; }
B. public int cal(int x, int y, int z){ return 0; }
C. public void cal(int x, int z){ }
D. public void cal(int z, int y, int x){ }
3) 下面Java代码的运行结果是( )。
class Penguin {
private String name=null; // 名字
private int health=0; // 健康值
private String sex=null; // 性别
public void Penguin() {
health = 10;
sex = “雄”;
System.out.println(“执行构造方法。”);
}
public void print() {
System.out.println(“企鹅的名字是” + name +
“,健康值是” + health + “,性别是” + sex+ “。”);
}
public static void main(String[] args) {
Penguin pgn = new Penguin();
pgn.print();
}
}
A. 企鹅的名字是null,健康值是10,性别是雄。
B. 执行构造方法。
企鹅的名字是null,健康值是0,性别是null。
C. 企鹅的名字是null,健康值是0,性别是null。
D. 执行构造方法。
企鹅的名字是null,健康值是10,性别是雄。

4)在Java中,以下程序编译运行后的输出结果为( )。
public class Test {
int x, y;
Test(int x, int y) {
this.x = x;
this.y = y;
}
public static void main(String[] args) {
Test pt1, pt2;
pt1 = new Test(3, 3);
pt2 = new Test(4, 4);
System.out.print(pt1.x + pt2.x);
}
}
A. 6
B. 3 4
C. 8
D. 7
5) Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是( )。
A. C不仅继承了B中的公有成员,同样也继承了A中的公有成员
B. C只继承了B中的成员
C. C只继承了A中的成员
D. C不能继承A或B中的成员
6) 给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是( )。
class Parent1 {
Parent1(String s){
System.out.println(s);
}
}
class Parent2 extends Parent1{
Parent2(){
System.out.println(“parent2”);
}
}
public class Child extends Parent2 {
public static void main(String[] args) {
Child child = new Child();
}
}
A. 编译错误:没有找到构造器Child()
B. 编译错误:没有找到构造器Parent1()
C. 正确运行,没有输出值
D. 正确运行,输出结果为:parent2

  1. 以下关于Object类说法错误的是( )。
    A. 一切类都直接或间接继承自Object类
    B. 接口亦继承Object类
    C. Object类中定义了toString()方法
    D. Object类在java.lang包中

  2. 给定Java代码如下所示,则编译运行后,输出结果是( )。
    class Parent {
    public void count() {
    System.out.println(10%3);
    }
    }
    public class Child extends Parent{
    public void count() {
    System.out.println(10/3);
    }
    public static void main(String args[]) {
    Parent p = new Child();
    p.count();
    }
    }

    A. 1
    B. 1.0
    C. 3
    D. 3.3333333333333335

  3. 编译运行如下Java代码,输出结果是( )。
    class Base {
    public void method(){
    System.out.print (“Base method”);
    }
    }
    class Child extends Base{
    public void methodB(){
    System.out.print (“Child methodB”);
    }
    }
    Public class Sample {
    public static void main(String[] args) {
    Base base= new Child();
    base.methodB();
    }
    }
    A. Base method
    B. Child methodB
    C. Base method Child MethodB
    D. 编译错误

  4. 给定如下Java程序代码,在横线处加入( )语句,可以使这段代码编译通过。(选二项)
    interface Parent{
    public int count(int i);
    }
    public class Test implements Parent {
    public int count(int i){
    return i % 9;
    }
    public static void main(String[] args){
    ________________
    int i = p.count(20);
    }
    }
    A. Test p = new Test();
    B. Parent p = new Test();
    C. Parent p = new Parent();
    D. Test p = new Parent();

  1. 下面关于Java接口的说法错误的是( )。
    A. 一个Java接口是一些方法特征的集合,但没有方法的实现
    B. Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为
    C. Java接口中可以声明私有成员
    D. Java接口不能被实例化

12、下列表达式不能正确判断String对象str以“fr”开头的是( )
A.str.substring(0,1).equals(“fr”)
B.str.startsWith(“fr”)
C.str.indexOf(“fr”)0
D.str.charAt(0)
’f’&&str.charAt(1)==’r’

13、关于String和StringBuilder的描述说法正确的是( )
A.String长度不可变,StringBuilder长度可变
B.String长度可变,StringBuilder长度不可变
C.String和StringBuilder长度都可变
D.String和StringBuilder长度都不可变

14、面向对象的三大特征不包括( )
A. 封装
B. 继承
C. 多态
D. 实现

15、以下不全是引用类型的是( )
A.包装类
B.Float、Double、String
C.int、int[]、int[][]
D.除了8种基本数据类型的其他类型

16、下面关于可见限定修饰符描述正确的是( )
A.public修饰的成员任何位置均可访问
B.private修饰的成员任何位置都不可访问
C.protected修饰的成员只在扩展类中可访问
D.没有修饰符的成员同private

17、下面关于final关键字描述不正确的是( )
A.final可以修饰成员变量、方法、类
B.final修饰的成员变量可以看成常量
C.final修饰的方法不能被重载
D.final修饰的类不能被继承

18、下面异常处理语句结构一定不正确的是( )
A.try{} catch(……){} finally{}
B.try{} catch(……){}
C.try{} finally{}
D.catch(……){} finally{}

19、代码String s=new String(“abc”);对其内存结构说法正确的是( )
A.创建了一个对象,位于栈内存
B.创建了一个对象,位于堆内存
C.创建了两个对象,分别位于堆内存和和栈内存
D.创建了两个对象,分别位于堆内存和常量池中

20、下面关于构造方法Constructor说法错误的是( )
A.Constructor不能被继承,因此不能重写和重载
B.Constructor不能是native,final,static,synchronized 的,可以是public,private,或什么都没有
C.构造方法里可以写return,但后面什么都不许有
D.成员变量声明时候赋值,比构造方法执行还早

21、下列关于栈的叙述正确的是( )
A.栈是非线性结构
B.栈只允许在两端插入和删除元素
C.栈具有先进先出的特征
D.栈具有后进先出的特征

22、链表不具有的特点是( )
A.不必事先估计存储空间
B.可随机访问任一元素
C.插入删除不需要移动元素
D.所需空间与线性表长度成正比

23、下列哪些语句关于Java垃圾回收机制的说法是正确的是( )
A.程序员必须创建一个线程来释放内存
B.Java垃圾回收机制负责释放无用内存
C.Java垃圾回收机制允许程序员直接释放内存
D.Java垃圾回收机制可以在指定的时间释放内存对象

24、在Java语言中,下列关于类的继承的描述,正确的是( )。
A. 一个类可以继承多个父类
B. 一个类可以具有多个子类
C. 子类可以使用父类的所有方法
D. 子类一定比父类有更多的成员方法

选择题(二)
1、下面哪个是Java语言中正确的标识符()
A、3com B、import C、that D、this

2、下面哪个语句(初始化数组)是不正确的:()
A.int x[] = {1,2,3};
B.int x[3] = {1,2,3};
C.int[] x = {1,2,3};
D.int x[] = new int[]{1,2,3};

3、下述概念中不属于面向对象方法的是()。
A.对象、消息 B.继承、多态
C.类、封装 D.过程调用

4、下面的代码段中,执行之后i 和j 的值是什么? ()
int i = 1;
int j;
j = i++2+3–i;
A.1, 2 B.1, 5 C. 2, 1 D. 2, 2

5、下面哪条语句把方法声明为抽象的公共构造方法?()
A.public abstract method();
B.public abstract void method();
C.public abstract void method(){}
D.public void method() extends abstract;

6、下面关于java中类的说法哪个是不正确的?()
A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的? class A
{ int i;
static String s;
void method1() { }
static void method2() { }
}
A、System.out.println(a.i); B、a.method1();
C、A.method1(); D、A.method2()

8、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)
A.mid(2,s); B.charAt(2); C.s.indexOf(‘V’); D.indexOf(s,’V’);

9、给出下面代码:
public class Main{
static int arr[] = new int [10];
public static void main(String[] args){
System.out.println(arr[1]);
}
} 哪个语句是正确的? ()
A.编译时将产生错误; B.输出零;
C.编译时正确,运行时将产生错误; D.输出空。

10、给出下面代码:
public class Child {
public static void main(String[] args) {
char[] arr = new char[10];
for(char ch:arr)
System.out.println(ch);
}
} 哪个语句是正确的? ()
A.编译时将产生错误; B.输出零;
C.编译时正确,运行时将产生错误; D.输出空。

11、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1) A a0=new A();
2) A a1 =new B();
3) A a2=new C();
问以下哪个说法是正确的?
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
12、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点()
A.安全性 B.多线程 C.跨平台 D.可移植
19、编译并运行以下程序段的结果是:()
public class MyClass{
final static int i;
MyClass(){i =0;
}
public static void main(String args[]){
System.out.println(i);
}
}
A.编译出错 B、 null C、1 D、0

20、下面哪项可以得到数组元素的个数,java中定义数组名为 abc,()
A、abc.length( ) B、abc.length C、len(abc) D、ubound(abc)

21、构造方法何时被调用()
A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时

22、下列语句片段
int a=10,b=4,c=20,d=6;
System.out.println(a++b+c–a);
的结果为()
A.144 B.28 C.240 D.不能执行
23、下面哪个修饰符修饰的方法只能被本类中的其他方法使用()
A、protected B、static C、private D、public

24、编译并运行下述程序段的结果是:( b)。
public class Test{
public static void main(String argv[]){
int[] count = new int[4];
System.out.println(count[4]);
}
}
A.编译时错误 B.运行时错误 C.输出0 D.输出null

25、类Test1定义如下:

  1. public class Test1{
  2. public float aMethod(float a, float b){ }
  3. }
    将以下哪种方法插入行3是不合法的。()
    A、public float aMethod(float a, float b, float c){ }
    B、public float aMethod(float c, float d){ }
    C、public int aMethod(int a, int b){ }
    D、private float aMethod(int a, int b, int c){ }

26、Java程序的执行过程中用到一套JDK工具,其中java.exe是指()
A.Java文档生成器 B.Java解释器
C.Java编译器 D.Java类分解器

27、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:()
A. private class MyClass extends Object
B. class MyClass extends Object
C. public class MyClass
D. protected class MyClass extends Object
注:class只能被abstract,final,public或者无修饰符

28、给出如下代码 class Test{
private int m;
public static void fun() {
// some code…
}
}
如何使成员变量m 被函数fun()直接访问? ()
A、将private int m 改为protected int m
B、将private int m 改为 public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m

29、对象使用时,下面描述错误的是()
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用

30、下面代码哪行会引起错误? ()

  1. class Parent {
  2. private String name;
  3. public Parent(){}
  4. }
  5. public class Child extends Parent {
  6. private String department;
  7. public Child() {}
  8. public String getValue(){ return name; }
  9. public static void main(String arg[]) {
  10. Parent p = new Parent();
  11. }
  12. }
    A、 第3行 B、 第6行 C、 第7行 D、 第8行

31、java对类名有严格的要求,下列中说法正确的是()
A、类名首字母必须大写
B、类名必须与它说在的文件名相同
C、类名不容许出现数字
D、类名长度不得大于32个字符

32、while循环和do-while循环的区别是?()
A、没有区别,这两个结构在任何情况下效果一样
B、while循环比do-while循环执行效率高
C、 while循环是先循环后判断,所以循环体至少被执行一次
D、do-while循环是先循环后判断,所以循环体至少被执行一次

33、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是?()
A.2 7 8 12 35
B.12 35 8 7 2
C.35 12 8 7 2
D.8 7 12 35 2

34、下面哪几个函数是public void example(){…}的重载函数?(复选题)
A、public void example( int m){…}
B、public int example(){…}
C、public void example2(){…}
D、public int example ( int m, float f){…}

35、下列说法哪个是正确的()
A、子类即可以重载父类的方法,又可以重写父类的方法
B、子类只能重载父类的方法,而不能重写
C、子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法
D、子类只能覆盖父类的方法,而不能重写

36、关于this和super,下列说法正确的是? ()
A、都可以在main()方法中使用
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同

37、关于抽象方法,下列描述正确的是?()
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值