java练习1(含答案)
- 格式:docx
- 大小:20.53 KB
- 文档页数:10
java练习1(含答案)
一、选择、填空(每题1分,共30分)
1、运行Java 程序需要的工具软件所在的目录是__A___。
A)JDK 的bin 目录 B)JDK 的demo 目录
C)JDK 的lib 目录 D)JDKR 的jre 目录
2、以下___B____不是Java中有效的关键字
A)const B) NULL
C)false D) this
3、下列关于for循环和while循环的说法中哪个是正确的___A____
A)while循环能实现的操作,for循环也都能实现
B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C)两种循环任何时候都可替换
D)两种循环结构中都必须有循环体,循环体不能为空
4、下列关于Java 对import 语句规定的叙述中,错误的是___C__。
A)在Java 程序中import 语句可以有多个
B)在Java 程序中import 语句可以没有
C)在Java 程序中import 语句必须有一个
D)在Java 程序中import 语句必须引入在所有类定义之前
5、下列基本类型数据所占的字节数相同的是__A____
A) boolean和char B) int和float
C) byte和short D) int和double
6、以下的选项中能正确表示Java语言中的一个double型常量的是 C
A) Float.MIN_V ALUE B) 1.8e-6F
C) 2.0 D)abcf?
7、阅读下列代码后
public class Person{ int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
正确的说法是 ____A____
A)编译时将产生错误 B)编译时正确,运行时将产生错误
C)输出为零 D)输出为空
8、下列语句序列执行后,k 的值是 C
int i=6,j=8,k=10,m=7;
if(i>j||m<="" p="">
A) 12 B)11 C) 10 D) 9
9、下列语句序列执行后,k 的值是 C
int i=10, j=19, k=30;
switch( j - i ) {
case 8 : k++;
case 9 : k+=2;
case 10: k+=6;
default : k/=j;
}
A) 31 B) 32 C) 2 D) 33
10、下列语句序列执行后,ch1 的值是 B
char ch1='A',ch2='W';
if(ch1+2 < ch2 ) ++ch1;
A) …A?B) …B?C) …C?D) B
11.内部类是在一个类内嵌套定义的类。其特点描述错误的是(A )
(A)只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名
(B)可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 (C)可以作为其它类的成员,而且可访问它所在类的成员
(D)除static内部类外,不能在类内声明static成员
12、下列叙述中,错误的是__D_____
A)接口与类的层次无关 B)通过接口说明类所实现的方法
C)通过接口可了解对象的交互界面 D)接口与存储空间有关
13、System类在哪个包中 D
A) java.util B) java.io C) java.awt D)
/doc/6916875066.html,ng
14.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )
A.捕获异常
B.抛出异常
C.声明异常
D.嵌套异常
15. 给出一段程序,试判断哪个是正确的结果( D )
public class MyProgram{
public static void main (String args[]){
try{
System.out.print(“Hello world ”);
}
finally{
Syste m.out.println(“Finally executing”);
}
}
}
A、无法编译,因为没有指定异常
B、无法编译,因为没有catch子句
C、Hello world
D、Hello world Finally executing
16、封装、继承和多态是Java语言的三大基本特性。
17、Java程序从 main方法开始执行。 18、Java中类成员的权限修饰词有以下几种:private, public,
__protected___, __默认
____。其中,___public_____的限定的范围最大。
19、接口中所有属性均为___public______、___static______和___final_____的。
20、Java中所有类都是类___Object_____的子类。
21、final关键字能修饰__非抽象类___、___非抽象类成员方法__、__变量___。
22、在Java 中,3.14156D 表示的是______double______类型的数据。
23、复用代码的两种方法复用类组合和继承。
24、Java中的基本数据类型和对象引用类型分别存储在栈和栈。
25、一个对象是某个类的_成员对象___,如果要建立一个属于类Car的对象myCar,其语法格式为___Car myCar=new Car()__。
26、Java 不直接支持多继承,但可以通过_____接口_______实现多继承。
27、如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头
_import java.awt.*________________。
28.用static修饰的方法,称为静态方法。它们不是对象的方法,而是整个类的方法。静态方法只能处理用关键字 static 修饰的数据。
29.比较两个对象里面的值是否相等,可以通过实现object中equals 方法的覆写来实现。
30.Java语言通过接口和类支持多重继承,使类继承具有更灵活的扩展性。
二、程序分析题(共30分)
2.1 对下面的程序,分析程序输出结果(10分)
class Plate {
Plate(int i) {
System.out.println("Plate constructor"); }
}
class DinnerPlate extends Plate {
DinnerPlate(int i) {
super(i);
System.out.println("DinnerPlate constructor");
}
}
class Utensil {
Utensil(int i) {
System.out.println("Utensil constructor");
}
}
class Spoon extends Utensil {
Spoon(int i) {
super(i);
System.out.println("Spoon constructor");
}
}
class Fork extends Utensil {
Fork(int i) {
super(i);
System.out.println("Fork constructor");
}
}
class Knife extends Utensil {
Knife(int i) {
super(i);
System.out.println("Knife constructor");
} }
class Custom {
Custom(int i) {
System.out.println("Custom constructor");
}
}
public class PlaceSetting extends Custom {
private Spoon sp;
private Fork frk;
private Knife kn;
private DinnerPlate pl;
public PlaceSetting(int i) {
super(i + 1);
sp = new Spoon(i + 2);
frk = new Fork(i + 3);
kn = new Knife(i + 4);
pl = new DinnerPlate(i + 5);
System.out.println("PlaceSetting constructor");
}
public static void main(String[] args) {
PlaceSetting x = new PlaceSetting(9);
}
}
结果:
Custom constructor
Utensil constructor
Spoon constructor
Utensil constructor
Fork constructor
Utensil constructor