JAVA语言基础内部测试题
选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分)
没有注明选择几项的,只选择一项
1、 JAVA所定义的版本中不包括:()
A、 JAVA2 EE
B、 JAVA2 Card
C、 JAVA2 ME
D、 JAVA2 HE
E、 JAVA2 SE
2、 下列说法正确的是()
A、 JAVA程序的main方法必须写在类里面
B、 JAVA程序中可以有多个main方法
C、 JAVA程序中类名必须与文件名一样
D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
3、 Java中,在如下所示的Test类中,共有()个构造方法。
public class Test{
private int x;
public Test(){
x=35;
}
public void Test(double f){
This.x=(int)f;
}
public Test(String s){}
}
A、 0
B、 1
C、 2
D、 3
4、 变量命名规范说法正确的是()
A、 变量由字母、下划线、数字、$符号随意组成;
B、 变量不能以数字作为开头;
C、 A和a在java中是同一个变量;
D、 不同类型的变量,可以起相同的名字;
5、 下列javaDoc注释正确的是()
A、 /*我爱北京天安门*/
B、 //我爱北京天安门*/
C、 /**我爱北京天安门*/
D、 /*我爱北京天安门**/
6、 为一个boolean类型变量赋值时,可以使用()方式
A、 boolean = 1;
B、 boolean a = (9 >= 10);
C、 boolean a="真";
D、 boolean a = = false;
7、 以下()不是合法的标识符
A、 STRING
B、 x3x;
C、 void
D、 de$f
8、 表达式(11+3*8)/4%3的值是()
A、 31
B、 0
C、 1
D、 2
9、 ()表达式不可以作为循环条件
A、 i++;
B、 i>5;
C、 bEqual = str.equals("q");
D、 count = = i;
10、 运算符优先级别排序正确的是()
A、 由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B、 由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;
C、 由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;
D、 由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;
11、 以下程序的运行结果是:()
public class Increment{
public static void main(String args[]) {
int a;
a = 6;
System.out.print(a);
System.out.print(a++);
System.out.print(a);
}
}
A. 666
B. 667
C. 677
D. 676
12、 下列值不为true的表达式有()。
A、 "john" = = "john"
B、 "john".equals("john")
C、 "john" = "john"
D、 "john".equals(new String("john"))
13、 下列输出结果是()
int a = 0 ;
while ( a < 5 ) {
switch(a){
case 0:
case 3 : a = a + 2;
case 1 :
case 2 : a = a + 3;
default : a = a + 5;
}
}
System.out.print ( a ) ;
A、 0
B、 5
C、 10
D、 其他
14、 下列代码输出结果是()
int i = 10;
while ( i > 0 ){
i = i + 1;
if ( i = =10 ){
break;
}
}
A. while循环执行10次
B. 死循环
C. 循环一次都不执行
D. 循环执行一次
15、 下面有关for循环的描述正确的是()
A、 for循环体语句中,可以包含多条语句,但要用大括号括起来
B、 for循环只能用于循环次数已经确定的情况
C、 在for循环中,不能使用break语句跳出循环
D、 for循环是先执行循环体语句,后进行条件判断
16、 下列()属于引用数据类型(选择两项)
A、 String
B、 char
C、 用户自定义的Student类类型
D、 int
17、 对象的特征在类中表示为变量,称为类的()。
A、 对象
B、 属性
C、 方法
D、 数据类型
18、 在java中下列关于自动类型转换说法正确的是()
A、 基本数据类型和String相加结果一定是字符串型
B、 char类型和int类型相加结果一定是字符
C、 double类型可以自动转换为int
D、 char + int + double +"" 结果一定是double;
19、 关于类的描叙正确的是()(选择两项)
A、 在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C、 使用别的类的方法仅仅需要引用方法的名字即可
D、 一个类的方法使用该类的另一个方法时可以直接引用方法名
20、 下列关于字符串的描叙中错误的是()(选择两项)
A、 字符串是对象
B、 String对象存储字符串的效率比StringBuffer高
C、 可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sb
D、 String类提供了许多用来操作字符串的方法:连接,提取,查询等
21、 以下()代码,能够对数组正确初始化(或者是默认初始化)。
A、 int[] a;
B、 a = {1, 2, 3, 4, 5};
C、 int[] a = new int[5]{1, 2, 3, 4, 5};
D、 int[] a = new int[5];
22、 score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()
temp = score[0];
for (int index = 1;index < 5;index++) {
if (score[index] < temp) {
temp = score[index];
}
}
A. 求最大数
B. 求最小数
C. 找到数组最后一个元素
D. 编译出错
23、 下面关于数组的说法中,错误的是()(选择两项)
A、 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空
B、 数组可以在内存空间连续存储任意一组数据
C、 数组必须先声明,然后才能使用
D、 数组本身是一个对象
24、 在Java中下面代码是()条语句
int i;i=123;
int j=0,k=0;
System.out.println(i+";"+";"+j+""+k);
A、 3
B、 4
C、 5
D、 6
25、 在Java中,关于构造方法,下列说法错误的是( )
A、 构造方法的名称必须与类名相同
B、 构造方法可以带参数
C、 构造方法不可以重载
D、 构造方法绝对不能有返回值
26、 执行下面代码结果()
for(int i=0;;){
System.out.println("这是 "+i);
break;
}
A、 语法错误,缺少表达式2和表达式3
B、 死循环
C、 程序什么都不输出
D、 输出:这是0
27、 下面代码输出结果是()。
int i=0,s=0;
do{
if (i%2 = = 0 ){
i++;
continue;
}
i++;
s = s + i;
} while (i<7);
System.out.println(s);
A、 16
B、 12
C、 28
D、 21
28、 下面()不是String类提供的合法的方法。
A、 equals(String)
B、 trim()
C、 append()
D、 indexOf()
29、 在JAVA中,以下( )类的对象以键-值的方式存储对象
A、 java.util.List
B、 java.util.ArrayList
C、 java.util.HashMap
D、 java.util.LinkedList
30、 给定如下所示的JAVA代码,则运行时,会产生()类型的异常
String s = null;
s.concat("abc");
A. ArithmeticException
B. NullPointerException
C. IOException
D. ClassNotFoundException
31、 给定java代码如下所示,在A处新增下列()方法,是对cal方法的重载(选择两项)
public class Test
{
public void cal(int x, int y, int z)
{
}
//A
}
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 viod cal(int z,int y,int x){}
32、 给定如下Java 程序代码片段,编译运行这段代码,结果是()。
java.util.HashMap map = new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.get("name"));
A. null
B. Jack
C. nullJack
D. 运行时出现异常
33、 给定以下JAVA代码,这段代码编译运行后输出的结果是()
public class Test{
public static int aMethod(int i) throws Exception {
try{
return i/10;
}catch(Exception ex){
throw new Exception ("exception in a aMothod");
}finally{
System.out.print("finally");
}
}
public static void main(String [] args){
try{
aMethod(0);
}catch(Exception ex){
System.out.print("exception in main");
}
System.out.print("finished");
}
}
A、 finallyexception in mainfinished
B、 exception in mainfinally
C、 finallyfinished
D、 finallyexception in mainfinished
34、 在Java中,下面对于构造函数的描述错误的是()(选择两项)
A、 类不一定要显式定义构造函数
B、 构造函数的返回类型是void
C、 如果构造函数不带任何参数,那么构造函数的名称和类名可以不同
D、 一个类可以定义多个构造函数
35、 在Java语言中,下列关于类的继承的描述,正确的是()。
A、 一个类可以继承多个父类
B、 一个类可以具有多个子类
C、 子类可以使用父类的所有方法
D、 子类一定比父类有更多的成员方法
36、 下列选项中关于Java中super关键字的说法正确的是()。
A、 super关键字是在子类对象内部指代其父类对象的引用
B、 super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D、 子类通过super关键字只能调用父类的属性,而不能调用父类的方法
37、 在Java接口中,下列选项中有效的方法声明是()。(选择二项)
A、 public void aMethod();
B、 void aMethod();
C、 protected void aMethod();
D、 private void aMethod();
38、 在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。
A、 try
B、 catch
C、 throw
D、 throws
39、 分析如下Java代码,编译运行后将输出()。
public class Test{
public Test(){}
static void print(ArrayList al){
al.add(2);
al=new ArrayList();
al.add(3);
al.add(4);
}
public static void main(String[]args){
Test test=new Test();
ArrayList al=new ArrayList();
al.add(1);
print(al);
System.out.println(al.get(1));
}
}
A、 1
B、 2
C、 3
D、 4
40、 在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。
A、 equals(Object obj)
B、 getClass()
C、 toString()
D、 trim()
41、 下列选项中关于Java中封装的说法错误的是()。
A、 封装就是将属性私有化,提供共有的方法访问私有属性
B、 属性的访问方法包括setter方法和getter方法
C、 setter方法用于赋值,getter方法用于取值
D、 包含属性的类都必须封装属性,否则无法通过编译
42、 Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()
A、 C不仅继承了B中的成员,同样也继承了A中的成员
B、 C只继承了B中的成员
C、 C只继承了A中的成员
D、 C不能继承A或B中的成员
43、 分析选项中关于Java中this关键字的说法正确的是()
A、 this关键字是在对象内部指代自身的引用
B、 this关键字可以在类中的任何位置使用
C、 this关键字和类关联,而不是和特定的对象关联
D、 同一个类的不同对象共用一个this
44、 在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。
A、 add(Object o)
B、 add(int index,Object o)
C、 remove(Object o)
D、 removeLast()
45、 在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是()。
A、 bookTypeList.add("小说");
B、 bookTypeList.get("小说");
C、 bookTypeList.contains("小说");
D、 bookTypeList.remove("小说");
46、 给定如下Java代码,其中第(无答案)行代码有错误。
A、 4
B、 5
C、 6
D、 7
E、 8
F、 9
47、 以下关于布局的说法,错误的是()
A、 BorderLayout是边框布局,它是窗体的默认布局
B、 null是空布局,它是面板的默认布局
C、 FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序从左向右排列, 一行排满之后就转到下一行继续从左至右排列
D、 GridLayout是网格布局,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件
48、 以下用于创建容器对象的类是()(选择两项)
A、 Frame
B、 Checkbox
C、 Panel
D、 TextField
49、 以下关于抽象类和接口的说法错误的是()
A、 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。
B、 在抽象类中可以没有抽象方法
C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现
D、 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E、 接口中的方法都必须加上public关键字。
50、 关于面向对象的说法正确的是()
A、 类可以让我们用程序模拟现实世界中的实体
B、 有多少个实体就要创建多少个类
C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现
D、 现实世界中的某些实体不能用类来描述