Java基础测试题
不定项选择题
1、面向对象的三大特征是(  )
A) 封装            B) 继承            C) 多态            D) 线性
2、 变量命名规范说法正确的是(  )
A) 变量由英文字母、下划线、数字、$符号组成
B) 变量不能以数字作为开头
C)  A和a在Java中代表同一个变量
D)  不同类型的变量,可以起相同的名字
3、i的值为10,表达式(i++)+(i--)的值为(  )
A) 21            B) 20            C) 19            D) 18
4、下面哪些定义变量的语句是正确的?(  )
A) int i = 'A';                       B) float f = 1.23; 
C) byte b = (byte)128;                 D) int c[5][5] = new int[ ][ ];
5、以下代码的执行结果是(  )
int a = 1;
boolean m = a%2 = = 1;
if(m = false){
    System.out.println("false");
}else{
    System.out.println("true");
}
A) false            B) true            C) 编译不通过
6、以下程序段中,哪个选项不能插入到第二行? (  )
A) class Demo2 { }                  B)  import java.util.*;
C)  public static void main(String args[ ]) { }
D)  package com;                    E)  public class Demo2 { }
7、下面有关Java循环结构的描述正确的是(  )
A)  for循环体语句中,可以包含多条语句,但要用大括号括起来
B)  for循环和do...while循环都是先执行循环体语句,后进行条件判断
C)  continue和break只能用于循环结构中
D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作
8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。在jdk1.7中,switch中的表达式可以是以下哪种类型(  )
A)int      B)char        C)double      D) float    E)String  F) short
9、和下面while循环完成相同功能的选项是(  )
A)  for (i = 1; i <= 100; i++)  {i++; sum = sum + i;}                    
B)  for (i = 0; i <= 100; i++)  {i++; sum = sum + i;}
C)  for (i = 0; i <= 100; i+=2) {sum = sum+i;}     
D)  for (i = 1; i <= 100; i+=2) {sum = sum+i;}
10、编译运行以下程序后,输出结果是 (  )
public class TestMain {
public static void main(String args[ ]){
int x=4;
System.out.println("value is "+ ((x>4) ? 9.9 :9));
}
}
A) value is 9.9          B) value is 9                C) value is 9.0
11、在面向对象编程里,经常使用is-a来说明对象之间的继承关系。下列对象中不具备继承关系的是?(  )
A) 手机与小米手机                      B) 企业家与马云 
C) 编程语言与Java                      D) 中国与北京
12、下列说法正确的是( )
A)  Java程序可以一次编译,到处运行
B)  类可以看成一类对象的模板,对象可以看成该类的一个具体实例
C)  能被成功运行的java class文件必须有main( )方法
D)  Java致力于检查程序在编译和运行时的错误
13、在Java中,关于数组描述正确是(  )
A) 声明数组仅仅是给出了数组的名字和元素的数据类型,要想真正地使用数组还必须使用new关键字在堆内存中分配内存空间
B) 存储在数组中的元素都属于同一数据类型
C) 已知二维数组int [ ] [ ] array={{1,2,3},{4,5}},则array[1].length的值为3
D) 创建数组后,系统会给每个数组元素一个默认值,如boolean型元素的默认值是true
14、哪个修饰符能够使得某个成员变量可被它所在包访问到和它的子类访问到的是( 
A) public        B) private        C) protected        D) 不加修饰符
15、下面哪个可作为int add(int a, int b){return a+b;}的重载方法(  )
A)  int add(int c, int d){return c+d;}
B)  void add(int a, int b){System.out.println(a+b);}
C)  double add(double a, double b){return a+b;}
D)  int add(int a, int b, int c){return a+b+c;}
16、System是jdk中常用的类之一。以下说法正确的是(  )
A)  System类位于java.lang包中
B)  System类是用final修饰的,所以不能被继承
C)  System类中有多个重载的println方法
D)  in和out是System类中的两个公共静态成员变量
E)  System.currentTimeMillis( )返回一个long类型的值
java面向对象的特征有哪些方面
17、程序的运行结果是(  )
A) null123      B) null        C) 出现空指针异常      D) 编译失败
18、对于static关键字,说法正确的是(  )
A) 可以使用static修饰内部类
B) 被static关键字修饰的成员变量可以被该类所有的实例对象共享
C) 静态代码块随着类的加载而加载,并且只执行一次
D) 静态方法中只能通过对象调用非静态方法,而不能直接调用
19、设三个整型变量 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是(  )
A) 3            B) 3.5          C) 4            D) 5
20、以下选项中可以使成员变量m 被函数fun( )直接访问的是(  )
class Test {
    private int m;
    public static void fun() {       
        System.out.println(m);
    }
}
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
E) 将public static void fun( ) 改为 public void fun( )
21、父类中有一个方法public void aa(int  i) throws IOException {...},子类要重写该方法,正确的定义是( )
A) public void aa(int  j ) {...}
B) public void aa(Integer  j) {...}
C) public void aa(int  i ) throws Exception {...}
D) protected void aa( int  i) {...}
E) public void aa( int  j) throw IOException {...}
22、关于抽象类和接口,下列说法正确的是(  )
A)  抽象类中可以没有抽象方法
B)  抽象类中可以定义main方法和构造方法
C)  抽象类实现接口时可以不用实现接口中的方法
D)  一个类通过implement关键字实现接口
23、以下关于this和super关键字的说法错误的是(  )
A) this关键字指向当前对象自身,super关键字指向当前对象的直接父类
B) this和super关键字都可以访问成员属性,成员方法和构造方法
C) 在构造方法中可以使用this调用本类中其他构造方法,但必须位于首句 
D) 在main方法中可以存在this或super关键字,但不能同时存在
E) 可以使用super访问父类所有属性和方法
24、关于构造方法,下列说法不正确的是(  )
A) 构造方法与类同名,且不能声明返回值类型 
B) 用构造方法创建对象时,需使用new关键字
C)  构造方法中不能含有return语句
D)  我们在定义一个类时,必须要声明至少一个构造方法
25、阅读以下程序段
                  int a = 7, b = 8;    //1 
    int temp = a;      //2 
    a = b;            //3 
    b = temp;        //4
下面哪个选项可以替换该程序段的2—4行,并实现与之相同的功能?(  )
A)  a = a^b; b = a^b; a = a^b;             

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。