资源描述
选择题
第一章 java语言概述
1 在下列概念中, Java语言只保留了 B .
A.运算符重载 B.方法重载 C.指针` D.结构和联合
2 下列关于Java语言特性的描述中,错误的是___D_.
A.支持多线程操作
B. JAVA程序与平台无关
C. JAVA程序可以直接访问Internet上的对象
D. 支持单继承和多继承
3 下列关于JavaApplication程序在结构上特点的描述中,错误的是 C
A. Java程序是由一个或多个类组成的
B. 组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中
C. Java程序的文件名要与某个类名相同
D. 组成Java程序的多个类中,有且仅有一个主类.
4 Java 程序经过编译后生成的文件的后缀是 C
A. .obj B. .exe C. .class D. .java
5 下列关于运行字节码文件的命令行参数的描述中,正确的是 A
A.第一个命令行参数被存放在args[0]中
B.第一个命令行参数被存放在args[1]中
C.命令行的命令字被存放在args[0]中
D.数组args[]的大小与命令行参数的个数无关。
6 下列关于java语言面向对象特性描述中,错误的是___C___
A.具有封装性 B. 支持多态性,允许方法重载
C. 支持单继承和多继承 D. 支持多接口
7 下列关于java语言与C++语言异同点的描述中,错误的是______D
A. java语言取消了goto语句|
B. java语言中取消了指针
C. java 语言不支持运算符重载
D. java 语言仍保留了结构和联合
8 列关于JavaApplication程序特点的描述中,错误的是 A
A. 该程序只能是一个名字与主类名相同的文件组成
B. 该程序中仅有一个主方法,并被包含在某个类中
C. 该 程序中没有不属于某个类的方法
D. 该程序实际上是一个类串
9 使用Java语言编写的源程序保存时的文件扩展名是( B )。
A.class B.java C.cpp D.txt
10 Java源文件和编译后的文件扩展名分别为( B )
(A) .class和 .java (B).java和 .class
(C).class和 .class (D) .java和 .java
11 Java语言使用的字符码集是 ( D )
(A) ASCII (B) BCD
(C) DCB (D) Unicode
12 下面关于main方法说明正确的是( B )
(A) public main(String args[ ])
(B) public static void main(String args[ ])
(C) private static void main(String args[ ])
(D) void main()
13 Java application中的主类需包含main方法以下哪项是main方法的正确形参( B )
A、 String args B、String args[] C、Char arg D、StringBuffer args[]
14 下列关于Java语言和C++语言之间差别的描述中,不正确的一项是( A )
A. Java虽然提供了安全机制,但是还是没有C++安全
B. Java的内存管理优于C++的内存管理
C. Java没有全局变量,但是C++有全局变量
D. Java没有指针,但是C++的指针最灵活
15 关于Java语言的内存回收机制,下列选项中最正确的一项是(C )
A. Java程序要求用户必须手工创建一个线程来释放内存
B. Java程序允许用户使用指针来释放内存
C. 内存回收线程负责释放无用内存
D. 内存回收线程不能释放内存对象
16 下列关于Java语言和C++语言之间差别的描述中,不正确的一项是(A )
A. Java虽然提供了安全机制,但是还是没有C++安全
B. Java的内存管理优于C++的内存管理
C. Java没有全局变量,但是C++有全局变量
D. Java没有指针,但是C++的指针最灵活
17 Java语言是一种( D)
A. 面向机器的编程语言 B. 面向过程的编译型编程语言
C. 面向问题的解释型编程语言 D. 面向对象的解释型编程语言
18 下面的说法正确的是( C )。
A. Java语言里的线程不是对象
B. Java中任何可执行的类都需要main方法
C. Java语言的类都是java.1ang.Object的子类
D. double是Java语言的合法标识符
19 关于Java语言的内存回收机制,下列选项中最正确的一项是(C )
A. Java程序要求用户必须手工创建一个线程来释放内存
B. Java程序允许用户使用指针来释放内存
C. 内存回收线程负责释放无用内存
D. 内存回收线程不能释放内存对象
第二章 java语言语法基础
20 java语言所用的字符集中字符是______B____位
A. 8 B. 16 C. 32 D. 64
21 下列关于标识符的描述中,正确的是____A___
A.标识符中可以使用下划线和美元符
B.标识符可以使用边接符和井号符
C.标识符中大小写字母是无区别的
D.标识符可选用关键字
22 Java语言的各种分隔符中,非法的是_____D____
A. 空白符 B.分号 C. 逗号 D. 问号
23 下列Java语言中可用的注释符,其中错误的是____C____
A. // B. /*...*/ C. /**.. **/ D. /**...*/
24 Java语言中字符型数据的长度是_____B____位。
A 8 B. 16 C. 32 D. 64
25 下列描述的两种数据类型的长度不相等的是_____A_____
A. 字符型和布尔型 B.字节型和布尔型
C. 短整型和字符型 D. 整型和单精度浮点型
26 下列是Java语言中的复合数据类型,其中错误的是_____C___
A.数组 B.接口 C.枚举 D.类
27 下面是关于Java语言中数据类型的强制转换的描述,其中错误的是_____BC___
A. 当数据类型从高转换为低时需要强制转换
B. 强制转换时使用强制转换运算符,形如(<类型>)
C. 浮点型数据强制转换为整形时,小数部分四舍五入
D. 赋值操作中都要采用强制类型转换
28 下列关于常量的描述中,错误的是_____BD_____
A.Java语言的常量有5种
B. 浮点整形数据12.456是单精度
C. 布尔型常量只有两个选值:true和false
D. 字符串常量含有结束符’\0’
29 下列关于定义符号常量的描述中,错误的是_____A____
A.定义符号常量使用关键字const
B.定义符号常量时要赋初值
C.符号常量既可定义为类成员,又可在方法中定义
D.定义符号常量时必须给出数据类型-
30 下列关于变量的默认值的描述,其中错误的是__BC__
A.定义变量而没有进行初始化时,该变量具有默认值
B.字符型变量的默认值为换行符
C.布尔型变量的默认值为true
D.变量的默认值是可以被改变的
31 下列关于变量定义的描述中,正确的是____AC____
A.定义变量时,至少应指出变量的名字和类型
B.定义变量时没有给出初值,该变量可能是无意义值
C.定义变量时,同一个类型多个变量间可用逗号分隔
D.定义变量时,必须要给变量初始化
32 下列关于变量作用域的描述,错误的是___D____
A. 在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的。
B. 在类中定义的变量的作用域在该类中的方法内是可以使用的
C. 在方法中定义的变量的作用域仅在该方法内
D. 在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量。
33 下列关于开关语句的描述中,正确的是
A.开关语句中, default子句可以省略
B.开关语句中,case子句的<语句序列>中一定含有break语句
C.开关语句中,case子句和default子句都可以有多个
D.退出开关语句的唯一条件是执行break语句
34 下列哪个编译没有警告或错误 C
A. float f=1.3; B. char c="a";
C. byte b=254; D. boolean b=null;
35 下列表达式中,非法的是 B
int a=5, b=6; double c=1.1, d=2.2;
A. a+c+++d B.(a+c)-- C. c<<b D. a!=? c:d
36 下列循环语句的循环次数是 D
int i=5;
do{
System.out.println(i--)
i--;
}while(i!=0);
A. 0 B. 1 C. 5 D.无限
37 下列关于Java语言的数组描述中,错误的是 D
A.数组的长度通常用length表示
B.数组的下标从0开始
C.数组元素是按顺序存放在内存的
D.数组在赋初值和赋值时都不判界
38 下列关于数组的定义形式,正确的是( B)
A.int []a; a=new int; B. char b[]; b=new char[80];
C.int []c=new char[10]; D.int []d[3] = new int[2][];
39 下列关字字符串的描述中,错误的是___B_____
A. Java语言中,字符串分为字符串常量和字符串变量两种
B.两种不同的字符串都是String类的对象|
C. Java语言中不再使用字符数组存放字符串
D. Java Application程序的main()的对数args[]是一个String类的对象数组,用它可存放若干个命令行参数。
40 设有数组的定义int[] a = new int[3]则下面对数组元素的引用错误的是( C )。
Aa[0]; Ba[a.length-1];
Ca[3]; Dint i=1 a[i];
41 下面哪一个是Java中不合法的标识符( D )。
A$persons BtwoNum
C_myVar D*point
42 下面哪个是非法的( B )
(A) int I = 32; (B) float f = 45.0;
(C) double d = 45.0; (D) char c = ‘u’
43 以下代码段执行后的输出结果为( C )
int x=3 int y =10
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
44 若有定义byte[] x={11,22,33,-66}; 其中0≤k≤3则对x数组元素错误的引用是( C )
Ax[5-3] Bx[k] C x[k+5] Dx[0]
45 以下哪个不是Java的原始数据类型 (B)
A、int B、Boolean C、float D、char
46 有以下方法的定义请选择该方法的返回类型( D )。
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A、byte B、short C、int D、double
47 有以下程序片段下列哪个选项不能插入到行1。( D)
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
48 下面哪些选项不可以用作变量名的首字符?( C )
A. 字母B. 下划线(_) C. 数字 D. 美圆符号($)
49 下面的程序段输出的结果是( A )
String s1="Abc",s2="Bcd";
System.out.println(pareTo(s2));
A. -1 B. 1 C. false D. true
50 下列表达式哪些是正确的?( C )
A. byte=340 B. Boolean=1
C. long l=-2 D. double=0.9239d
51 下列方法定义中,方法头不正确的是( D)
A. public int x(){...} B. public static int x(double y){...}
C. void x(double d) D. public static x(double a){...}
52 执行下面语句,myArray数组的长度是____B___
int[] myArray= new int [3]; myArray= new int[6];
A. 3 B.6 C.9 D.执行错误 E. 5
53 下列关于int类型的说法中,正确的一个是(C )
A. int类型可以自动转换为所有的简单类型
B. int类型只能自动转换为float、long、double类型
C. 103是合法的int类型常量
D. int类型包括有符号整型和无符号整型
54 编译一个定义了两个类和三个方法的的Java源码文件,总共会产生几个字节码文件,这些字节码文件的扩展名是什么?(D)
A. 5个字节码文件,以".java"为扩展名
B. 2个字节码文件,以".java"为扩展名
C. 5个字节码文件,以".class"为扩展名
D. 2个字节码文件,以".class"为扩展名
55 现有一个变量声明为boolean b1;下面赋值语句中正确的是(A )
A. b1 = true; B. b1 = True;
C. b1 = "ture"; D. b1 = 0;
56 若有如下程序段:
int index=1;
int foo[]=new int[3];
int bar=foo[index]
int baz=bar+index;
程序的执行结果正确的是( B )。
A. 整型变量baz的值为0 B. 整型变量baz的值为1
C. 整型变量baz的值为2 D. 执行有错误
57 下列语句执行后,i的值是( C )
int i=2;
do{i*=i;} while(i<16);
A. 4 B. 8 C. 16 D. 32
58 下列说法中,正确的一个是( A )
A. 接口属于复合数据类型 B. 接口属于简单数据类型
C. 标识符的总的字符个数是有限的 D. 标识符就是保留字
59 下列表达式哪些是正确的?( C )
A. byte=340 B. Boolean=1
C. long l=-2 D. double=0.9239d
60 有如下数组:
byte[] arrayl,array2[]
byte array3[][]
byte[][]array4
假设每个变量都已初始化,以下哪一条语句会导致编译错误?( A )
A. array2=arrayl; B. array2=array3;
C. array2=array4; D. A并且B
61 下面哪条语句定义了5个元素的数组( A )
A、int [] a={22,23,24,25,12}; B、int a[]=new int(5);
C、int [5] array; D、int [] arr;
62 下面哪个语句不能定义一个字符变量( B )
A、char c1=’a’; B、char c2=” S ”
C、char c4=97 D、char c3=’\u0041’;
第三章 java语言面向对象的特征
63 下列对封装性的描述中,错误的是_______B
A.封装体包含了属性和行为
B.封装体中的属性和行为的访问权限是相同的
C.被封装的某些信息在封装体外是不可见的
D.封装使得抽象的数据类型提高了可重用性
64 下列关于继承性的描述中,错误的是 C
A.一个类可以同时生成多个子类
B.子类继承了父类的所有成员
C.Java语言支持单继承和多重继承
D.Java语言通过接口可使子类使用多个父类的成员
65 下列关于多态性的描述中,错误的是 A
A.java语言允许运算符重载
B.java语言允许方法重载
C.java语言允许变量覆盖
D.多态性提高了程序的抽象性和简洁性
66 在类的修饰符中,规定只能被同一包类所使用的修饰符是____B___
A.public B.默认 C.final D.abstract
67 在成员变量的修饰符中,规定只允许该类自身访问的修饰符是
A.private B.public C.默认 D.protected
68 在成员变量的修饰符中,规定访问权限包含类自身,同包的其他类和其它包中的子类的修饰符是: D
A.private B.public C.默认 D.protected
69 下列关于构造方法的特点的描述中, 错误的是 A
A.不可重载 B.方法名同类名
C.无返回值 D.系统自动调用
70 下列关于静态方法的描述中,错误的是 D
A.在类体内说明静态方法用关键字static
B. 静态方法可能处理静态变量或调用静态方法
C. 静态方法不占用对象的内存空间,非静态方法占用对象的内存空间
D.静态方法只能类名调用
71 下列对静态初始化器的描述中,错误的是 D
A.静态初始化器是用来对类进行初始化的,而不是对某个对象初始化的
B.静态初始化器是由关键字static和一对花括号组成的语句组
C.静态初始化器不同于构造方法,它不是方法
D.初始化器是产生新对象时,由系统自动调用的
72 下列关于抽象类的描述中,错误的是_______C___
A.抽象类是用修饰符abstract说明的
B.抽象类是不可以定义对象的
C.抽象类是不可以有构造方法的
D.抽象类通常要有它的子类
73 下列关于类的继承性的描述中,错误的是 D
A.继承是在已有的基础上生成新类的一种方法
B.子类继承父类的所有成员
C.Java语言要求了个子类只有一个父类
D.父类中成员的访问权限在子类中将被改变
74 下列关于子类继承父类的成员的描述中,错误的是 A
A.子类中继承父类中的所有成员都可以直接访问
B.子类中定义的与父类同名的变量时,使用自己定义的变量
C.当子类中出现成员方法头与父类的方法头相同的方法时,子类成员方法覆盖父类了成员方法
D.方法重载是编译时处理的,而方法的覆盖是在运行时处理的
75 下列关于接口的描述中,错误的是 B
A.接口实际上是由常量和抽象方法构成的特殊类
B.一个类只允许继承一个接口
C.定义接口使用的关键字是interface
D.在继承接口的类中,通常要给出接口袋定义的抽象方法的具体实现
76 下列关于包的描述中,错误的是 A
A.包是一种特殊的类 C.若干个类的集合
C.包是使用package 语句创建的 D.包有有名包和无名包两种
77 下列常用包中,存放用户图形界面类库的包是___A___
A. java.awt B. java.lang C. java.util D. java.io
78 下列是系统提供的常用的类,所有类的父类的类是____B____
A. Math B. Object C. System D. String
79 下列关于方法的描述中,错误的是___B___
A. 方法只有类的成员方法,再无其他方法
B. 方法可以重载和内联
C. 对象作为方法的参数时,参数传递的是对象的地址值
D. 方法的返回值是通过return来实现的
80 在下列关于静态成员的描述中,错误的是___D____
A. 静态成员有成员变量和方法两种
B. 静态成员的修饰符是static
C. 静态成员可以使用类名来访问,也可使用对象名的访问
D. 静态方法可以访问静态成员变量也可以访问非静态的成员变量。
81 在下列关于类的继承的描述中,错误的是____B___
A. 子类只允许一个父类
B. 一个父类只能生成一个子类
C. 继承不改变成员访问权限
D. 私有成员和构造方法不能继承
82 在下列关于方法的重载和覆盖的描述中,错误的是__D____
A. 方法重载是指在面一个类中允许出现方法参数、个数、顺序不同而方法名相同的若干个方法
B. 方法覆盖是指在父类和子类之间出现的方法头相同而方法体不同的多个方法
C. 方法重载是在编译时进行选择的
D. 方法覆盖是在编译时进行选择的
83 给出下面代码关于该程序以下哪个说法是正确的( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{ System.out.println(arr[0]); }
}
A、编译时将产生错误 B、编译时正确运行时将产生错误
C、输出零 D、输出空
84 以下有关构造方法的说法正确的是( A )
A 一个类的构造方法可以有多个
B 构造方法在类定义时被调用
C 构造方法只能由对象中的其它方法调用。
D 构造方法可以和类同名也可以和类名不同
85 在Java中一个类可同时定义许多同名的方法这些方法的形式参数的个数、类型或顺序各不相同传回的值也可以不相同。这种面向对象程序特性称为( C )
A 隐藏 B 重写 C 重载 D Java不支持此特性
86 以下关于继承的叙述正确的是( A )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
87 关于抽象方法的说法正确的是( )
(A)可以有方法体 (B) 可以出现在非抽象类中
(C) 是没有方法体的方法 (D) 抽象类中的方法都是抽象方法
88 如果一个类的成员变量只能在所在类中使用则该成员变量必须使用的修饰是( )
(A) public (B) protected (C) private (D) static
89 对于一个Java源文件import, class定义以及package正确的顺序是( A )
(A) package,import,class (B) class,import,package
(C) import,package,class (D) package,class,import
90 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它该方法头的形式为( A )。
Astatic void method( ) Bpublic void method( )
Cfinal void method( ) Dabstract void method( )
91 类与对象的关系是( A )。
A类是对象的抽象 B对象是类的抽象
C对象是类的子类 D类是对象的具体实例
92 在类的定义中构造函数的作用是( D )。
A保护成员变量 B读取类的成员变量
C描述类的特征 D初始化成员变量
93 在类的定义中可以有两个同名函数这种现象称为函数( D )。
A封装 B继承 C覆盖 D重载
94 设有下面两个赋值语句
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述说法正确的是( D )。
A、a是整数类型变量b是整数类对象。 B、a是整数类对象b是整数类型变量。
C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
95 为了使包ch4在当前程序中可见可以使用的语句是( A )。
Aimport ch4.*; Bpackage ch4.*;
Cch4 import; Dch4 package;
96 下面程序段执行后b的值是( B )。
Integer integ =new Integer(9);
boolean b = integ instanceof Object;
A) 9 B) true C) 1 D) false
97 关于对象成员占用内存的说法哪个正确( B )
A同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段但静态成员共享相同的内存空间
C对象的方法不占用内存
D以上都不对
98 覆盖与重载的关系是 ( A )
A、覆盖只有发生在父类与子类之间而重载可以发生在同一个类中
B覆盖方法可以不同名而重载方法必须同名
Cfinal修饰的方法可以被覆盖但不能被重载
D覆盖与重载是同一回事
99 类Account中方法的声明哪项正确( C )
A. class Account B. class Account
{ deposit(); } { void deposit(); }
C. class Account D. class Account
{ void deposit(){} } { void deposit{} }
100 如果一个类的成员变量只能在所在类中使用则该成员变量必须使用的修饰是( C )
(A) public (B) protected (C) private (D) static
101 定义主类的类头时可以使用的访问控制符是( )
A. public B. protected C. private D. private protected
102 为了区分重载多态中同名的不同方法,要求( A )
A. 形式参数个数或者类型不同 B. 返回值类型不同
C. 调用时用类名或对象名做前缀 D. 形式参数名称不同
103 下列哪个不是面向对象程序设计方法的特点( D )
A. 抽象 B. 继承 C. 多态 D. 结构化
104 关于类的说法中,不正确的一项是( D)
A. 一般类体的域包括常量、变量、数组等独立的实体
B. 类中的每个方法都由方法头和方法体构成
C. java程序中可以有多个类,但是公共类只有一个
D. java程序可以有多个公共类
105 下列选项中,用于在程序开头引入包的关键字是(A )
A. import B. implements C. interface D. protected
106 在一个相同的包中,想让一个类能够引用另一个类的成员,达到这个目的最小的访问控制权限的修饰符是什么?( C )
A. public B. private C. protected D. 不需要任何修饰符
107 下述声明中哪一种可防止该类产生子类?( D )
A. static class FooBar{} B. private class Foobar{}
C. abstract class FooBar{} D . final public class FooBar{}
108 一下关于面向对象概念的描述中,不正确的一项是( B)
A. 在现实生活中,对象是指客观世界的实体
B. 程序中的对象就是现实生活中的对象
C. 在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类
D. 在程序中,对象是一组变量和相关方法的集合
109 现有
public class Parentt {
public void change (int x){}
}
public class Child extends Parent{
//覆盖父类chang()的方法
} ( c )
A. protected void change (int x){}
B. public void change(int x, int y){}
C. public void change (int x){}
D. public void change (String s){}
110 现有
public class Pet{}
public class Cat extends Pet{}
执行代码
Cat c= new Cat();
Pet p=new Pet();
后下列哪项是正确的_____D_因重复定义了p___
A. Pet p=(Pet)c 编译错误
B. Pet p=(Pet)c 运行错误
C. Pet p=(Pet)c 正常运行
D.以上均不对
111 下面哪个方法不是public int add(int a)的重载方法____B_____
A. public int add(long a)
B. public void add(int a)
C. public void add(long a)
D. public int add(float a)
112 为了使System.out.println()输出对象引用时得到有意义的信息,我们应覆盖Object类的哪个方法___B___
A. equals B. toString C. hashode D.notify
113 在子类中调用父类中被覆盖的方法时需要使用哪项关键字____B___
A. this B.super C.new D.以上都不是
114 下列有关接口哪项定义正确____C___
A. interface C{int a;}
B. public interface A implements B {}
C. public interface A {int a(); }
D. abstract interface D {}
115 为了区分重载多态中同名的不同方法,要求(A )
A. 形式参数个数或者类型不同 B. 返回值类型不同
C. 调用时用类名或对象名做前缀 D. 形式参数名称不同
116 Java语言的类间的继承关系是(B )
A. 多重的 B. 单重的 C. 线程的 D. 不能继承
117 分析以下程序段:
abstract class AbstractIt {
abstract float getFloat (); //第2行
}
public class AbstractTest extend
展开阅读全文