判断题:

1.程序运行中可以改变数组的大小。 F

2.同一作用域内的局部变量可以重复命名。 F

3.静态属性不能使用对象名直接访问。 F

4.所谓方法重写,就是在同一个作用域内方法名相同但参数个数或者参数类型不同的方法。 F

5.在Java中,含有抽象方法的类一定是抽象类。 T

6.Java虚拟机可以将类文件(.class)在不同的操作系统上运行,从而实现跨平台特性。 T

7.一个Java源文件中可以包含多个类,编译后产生一个.class文件。 F

8.一个异常处理中 finally语句块可以不出现,也可以出现一次。 T

9.抽象类是不能实例化的。 T

10.子类继承了父类,子类便拥有了父类所有的成员,因此父类中的成员变量和方法可以直接在子类中使用。 F

11.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。 T

12.一个Java源文件中可以有多个类,但只能有一个类是public的。 T

13.如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后将生成多个扩展名为.class的文件。 T

14.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 T

15.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 T

16.在Java程序中,可以使用private来修饰一个类。 T

17.一个Java源文件就是由类和接口组成的。 T

18.Java中所有的I/O都是通过流来实现的。 T

19.在Java中,含有抽象方法的类一定是抽象类。 F

20.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 T

21.Object是Java中所有类的共同父类。 T

22.Java语言的标识符不区分大小写。 F

23.JAVA抽象类中一定含有抽象方法。 F

24.Java语言中,变量名可以用汉字表示。 T

25.JAVA中,一个接口允许继承多个接口。 T

26.String是Java中定义的基本数据类型。 F

27.package语句必须放到java程序的最开始。 T


单选题:

1.在JAVA中,给定代码片段如下所示,则编译运行后,输出结果是()。
for (int i = 0; i < 10; i++) {
    if (i == 10 - i) {
        break;
    }

    if (i % 3 != 0) {
        continue;
    }
    System.out.print(i + " ");
}

B.0 3

2. 24 % 5 is( )。

D.4

3.下列关于变量作用域的说法中,正确的是()

A.在main()方法中任何位置定义的变量,其作用域为整个main()方法。

B.代码块中定义的变量,在代码块外也是可以使用的。

C.变量的作用域为:从定义处开始,到变量所在代码块结束的位置。

D.变量的作用域不受代码块的限制。

4.以下标识符中,不合法的是( )

C.class 

5.下列选项中,属于布尔常量的是()

C.true

6.以下关于变量的定义,正确的是 ( )

A.int a=10;

7.下列选项中,哪一个不能通过编译( )

    A.byte a=1;   

    B.short b=100;

    C.int c='a';

D.long d=8888888888888888;

8.在下面的代码段中,下列m的( )值将引起“default”的输出。
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int m = input.nextInt();
        switch(m) {
            case 0: System.out.println("case 0");
            case 1: System.out.println("case 1");break;
            case 2:
            default:System.out.println("default");
        }
    }
}

C.2

9.对于构造方法,下列叙述不正确的是( )。

    A.构造方法是类的一种特殊方法,它的方法名必须与类名相同

B.构造方法的返回类型只能是void型,即在方法名前加void

    C.构造方法的主要作用是完成对类的对象的初始化工作

    D.一般在创建新对象时,系统会自动调用构造方法

10.在下面类的定义中,填出空缺的内容 :
public class Person {
      String name  ;
      int age  ;
      public _________ toString( ) {
        return  ( name+" "+age );
      }
}

B.String 

11.在空格处填上哪行代码不会出现语法或运行时错误:
public class Test {
  java.util.Date date;

  public static void main(String[] args) {
    Test test = new Test();
    System.out.println(_________________);
  }
}

A.test.date

12.对于下列Dog类,哪个叙述是错误的?
class Dog { 
      Dog(int m) { } 
      Dog(double m) { }
      int Dog(int m) { return 23; } 
      void Dog(double m) { } 
}

    A.Dog(int m)与 Dog(double m)是互为重载的构造方法。

    B.int Dog(int m)与void Dog(double m)是互为重载的非构造方法。

    C.Dog类只有两个构造方法,而且没有无参数的构造方法

D.Dog类有3个构造方法

13.关于构造方法定义与作用,下列说法错误的是:( )。

    A.用来创建类的实例时调用的方法

    B.调用该方法时,对实例变量赋值

C.定义时,方法名称与类名相同,返回值类型可以不写,也可以写成void

    D.一个类的构造方法可以定义多个,多个构造方法的参数有明显区别。

14.某个类的方法中,在成员变量和局部变量重名的情况下,( )变量优先使用。如果要使用( )变量,必须使用关键字( )进行限定。

A.局部 成员 this

    B.成员 局部 this

    C.类 实例 this

    D.实例 类 this

15.有如下程序代码,哪处出现编译错误?( )
final class Father{           //A
 int a=100;
}
 class Child  extends Father{  //B
  int b=200;
 }
 public class B{              //C
  public static void main(String[] args) {
   Child child=new Child();   //D  
 }  
 }

B.B处

16.下列不可作为java语言标识符的是( )。

D.22

17.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是( )。

A.a1.java

18.Java中( ) 。

    A.一个子类可以有多个父类,一个父类也可以有多个子类

    B.一个子类可以有多个父类,但一个父类只可以有一个子类

C.一个子类可以有一个父类,但一个父类可以有多个子类

    D.上述说法都不对


填空题:

1.在Java语言中,所有的类都直接或间接继承自 Object
2.For code below:
Loop1:
while ( true ) {            //    1
    for ( ; true; ) {
        if ( i ==2 )
            break Loop1;    //    2
    }
    k=4;                //    3
}
k=5;                    //    4

After executing line 2, where will the program jump to? 4

3.请说出A类中System.out.println的输出结果。
class B{
    int x=100,y=200;
    public void setX(int x){ x=x; }
    public void setY(int y){ this.y=y; } 
    public int getXYSum(){ return x+y; } 
 } 
 public class A { 
    public static void main(String args[]){
        B b=newB(); 
        b.setX(-100); 
        b.setY(-200); 
        System.out.println("sum="+b.getXYSum()); 
    } 
 }

程序输出结果为:sum= -100