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、现实世界中的某些实体不能用类来描述