1、JAVAT定义的版本中不包括:(D )
A JAVA2 EE B JAVA2 Card C JAVA2 ME D JAVA2 HE E JAVA2 SE
2
下列说法正确的是( A )
A、JAVA程序的main方法必须写在类里面 B、JAVAS序中可以有多个 main方法 C JAVA程序中类名必须与文件名一样
D JAVA 程序的 main 方法中如果只有一条语句,可以不用括
起来
3
变量命名规范说法正确的是( B )
A 变量由字母下划线数字 $符号随意组成; B 变量不能以数字作为开头;
C、A和a在java中是同一个变量;
D 不 同类型的变量,可以起相同的名字;
4、下列javaDoc注释正确的是( C )
A /* 我爱北京天安门 */ B // 我爱北京天安门 */ C /** 我爱北京天安门*/ D / *我爱北京天安门**/
5
为一个 boolean 类型变量赋值时,可以使用 ( B )方式
A boolean = 1;
B boolean a= (9 >= 10); C、boolean a=\"M\";
D boolean a= = false;
6 以下 ( C )不是合法的标识符
A
STRING B x3x; C void D
de$f
7 表达式 (11+3*8)/4%3的值是 ( D )
A 31
(大括号 ) {}B 0 C1
8
( A )表达式不可以作为循环条件
A i++; B i>5;
C bEqual = str.equals(\"q\"); D count = = i;
9
运算符优先级别排序正确的是( A )
A 由高向低分别是: () ! 算术运算符关系运算符逻辑运算符
赋值运算符;
B 由高向低分别是: ()关系运算符算术运算符赋值运算符
逻辑运算符;
C 由高向低分别是: ()算术运算符逻辑运算符关系运算符
赋值运算符;
D 由 高向低分别是: () ! 关系运算符赋值运算符算术运算符
逻辑运算符; 以下程序的运行结果是: ( B )
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. B. C. D.
666 667 677 676
10
11 下列值不为 true 的表达式有( C ) 。
A \"john\" = = \"john\"
B \"john\".equals(\"john\") C \"john\" = \"john\"
D \"john\".equals(new String(\"john\"))
12 下列输出结果是( C )
int a = 0 ;
while ( a < 5 ) {
switch(a){
case 0:
case 3 : a = a + 2; case 1 :
case 2 : a = a + 3;
case 3 : a = a + 5; }
}
( a ) ; A 0 B 5 C 10 D 其他
13 下列代码输出结果是 ( B )
int i = 10;
while ( i > 0 ){ i = i + 1;
if ( i = =10 ){ break; }
}
A. while 循环执行 10 次 B. 死循环
C. 循环一次都不执行 D. 循环执行一次 14
下面有关 for 循环的描述正确的是( A )
A for 循环体语句中,可以包含多条语句,但要用大括号括起来 B for 循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D for 循环是先执行循环体语句,后进行条件判断 下列( A C )属于引用数据类型(选择两项)
A String B char
C 用户自定义的 Student 类类型 D int
15
16
对象的特征在类中表示为变量,称为类的( B ) 。 A 对象 B 属性 C 方法
D 数 据类型
、 在java中下列关于自动类型转换说法正确的是( A ) A 基本数据类型和 String 相加结果一定是字符串型 B char 类型和 int 类型相加结果一定是字符 C double 类型可以自动转换为 int
D char + int + double +\"\" 结果一定是 double;
17
18
关于类的描叙正确的是( BD) (选择两项)
A 在类中定义的变量称为类的成员变量,在别的类中可以直接使用 B 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控
制流块中
C 使用别的类的方法仅仅需要引用方法的名字即可
D 一 个类的方法使用该类的另一个方法时可以直接引用方法名
下列关于字符串的描叙中错误的是( BC ) (选择两项) A 字符串是对象
B、String对象存储字符串的效率比 StringBuffer高
C、可以使用 StringBuffer sb=\"&里是字符串\"声明并初始化 StringBuffer
对象 sb
D String 类提供了许多用来操作字符串的方法:连接,提取,查询等 以下( D )代码,能够对数组正确初始化(或者是默认初始化) 。
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];
19
20
21
、 score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读 下面代码,程序运行结果是( B )
temp = score[0];
for (int index = 1;index < 5;index++) {
if (score[index] < temp) {
temp = score[index]; } } A. B. C. D.
求最大数 求最小数
找到数组最后一个元素 编译出错
下面关于数组的说法中,错误的是( AB ) (选择两项)
A 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值
元素值为空
B 数组可以在内存空间连续存储任意一组数据 C 数组必须先声明,然后才能使用 D 数 组本身是一个对象
、 在Java中,关于构造方法,下列说法错误的是(C ) A 构造方法的名称必须与类名相同 B 构造方法可以带参数 C 构造方法不可以重载
D 构 造方法绝对不能有返回值
22
23
24 执行下面代码结果( D )
for(int i=0;;){
System.out.println(\"这是\"+i); break; }
A 语法错误,缺少表达式 2 和表达式 3 B 死循环
C 程序什么都不输出 D 输出:这是
0
25 下面代码输出结果是( B ) 。
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
26、 下面(C )不是String类提供的合法的方法。
A equals(String) B trim()
C append() StringBuffer D indexOf()
27、 在JAVA中,以下(C )类的对象以键-值的方式存储对象
A B C D
28、 给定如下所示的JAVA弋码,则运行时,会产生( B )类型的异常
String s = null; s.concat(\"abc\");
A. ArithmeticException B. NullPointerException C. IOException
D. ClassNotFoundException 29、
给定java代码如下所示,在A处新增下列(AC)方法,是对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){}
30、
给定如下 Java 程序代码片段,编译运行这段代码,结果是( B ) java.util.HashMap map = new java.util.HashMap(); map.put(\"name\map.put(\"name\
System.out.println(map.get(\"name\")); A. null B. Jack C. nullJack
D. 运行时出现异常 31、
给定以下JAVA弋码,这段代码编译运行后输出的结果是( C )
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
32、 在Java中,下面对于构造函数的描述错误的是( BC )(选择两项)
A 类不一定要显式定义构造函数 B 构造函数的返回类型是 void
C 如果构造函数不带任何参数,那么构造函数的名称和类名可以不同 D 一个类可以定义多个构造函数 33、 在Java语言中,下列关于类的继承的描述,正确的是(B )。
A 一个类可以继承多个父类 B 一个类可以具有多个子类 C 子类可以使用父类的所有方法 D 子类一定比父类有更多的成员方法 34、 下列选项中关于Java中super关键字的说法正确的是(A )。
A super关键字是在子类对象内部指代其父类对象的引用
B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D 子类通过 super 关键字只能调用父类的属性,而不能调用父类的方法 35、在Java接口中,下列选项中有效的方法声明是( AB )。(选择二项) A public
void aMethod(); B void aMethod();
C protected void aMethod(); D private void aMethod(); 36、 在JAVA勺异常处理模型中,能单独和 巾nally语句一起使用的块是(A )。
A try B catch C throw D throws 37、
分析如下Java代码,编译运行后将输出(B )。
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)); } } A1 B2 C3 D4 38、
在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自 类,下列选项中的( D )方法不属于 Object 类的方法。
A equals(Object obj) B getClass() C toString() D trim()
Object
39、
下列选项中关于Java中封装的说法错误的是(D )。
A 封装就是将属性私有化,提供共有的方法访问私有属性 B 属性的访问方法包括 setter 方法和 getter 方法 C setter 方法用于赋值, getter 方法用于取值
D 包 含属性的类都必须封装属性,否则无法通过编译
40、
Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正 确的是( A )
A C 不仅继承了 B 中的成员,同样也继承了 A 中的成员 BC 只继承了 B 中的成员 CC 只继承了 A 中的成员 DC 不能继承A 或 B 中的成员
41、
分析选项中关于Java中this关键字的说法正确的是( A ) A、this关键字是在对象内部指代自身的引用 B、this关键字可以在类中的任何位置使用
C、this关键字和类关联,而不是和特定的对象关联 D、同一个类的不同对象共用一个this
在JAVAt, LinkedList类和ArrayList类同属于集合框架类,下列( D )选项42、
中的方法是LinkedList类令而ArrayList类没有的。
A add(Object o)
B、add(int index, Object o) C、remove(Object o) D、 removeLast() 43、
在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了 ArrayList类的对象bookTypeList,则下列语句中能够实现 断列表中是否存在字符串小说”的是(C )o
A bookTypeList.add('小说\");
B、bookTypeList.get('小说\");
C、bookTypeList.contains('小说\"); D、(\"小说) 44、
给定如下Java代码,其中第( 无答案)行代码有错误
import java.util.
class Tesr (
put Lie stat ic void main (String []
) \\
List pList = new AcuayList();
pLisL.add(\"A,,
J ; 6
pLlst-addCT**); 7
工口匚(Lnc i = □; KpList.size () ; 1++J (
8
StLLinq str = pList .get (i) toStr ing (); 9
. pi: int (str) j
10 11
12
A、4 B、5 C、6 D、7 E、8 F、9 45、
以下关于布局的说法,错误的是( B )
A、BorderLayout是边框布局,它是窗体的默认布局 B、null是空布局,它是面板的默认布局
判 C、FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序
从左向右排列, 一行排满之后就转到下一行继续从左至右排列
D、 GridLayout 是网格布局,它以矩形网格形式对容器的组件进行布置。
容器被分成大小相等的矩形,一个矩形中放置一个组件
46、
以下用于创建容器对象的类是( AC ) (选择两项)
A、 Frame B、 Checkbox C、 Panel
D、 TextField
47、
以下关于抽象类和接口的说法错误的是( E )
A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次 继
承。但是一个类却可以实现多个接口。 B、 在抽象类中可以没有抽象方法
C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象
类。接口中的方法都不能被实现
D、 接 口中定义的变量默认是 public static final 型,且必须给其初值,所
以实现类中不能重新定义,也不能改变其值。 E、 接 口中的方法都必须加上 public 关键字。
关于面向对象的说法正确的是( A )
A、 类可以让我们用程序模拟现实世界中的实体 B、 有多少个实体就要创建多少个类
C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,
但是要知道类的内部是如何实现
D、 现 实世界中的某些实体不能用类来描述
48、
一、单项选择题
1.下面( B )是合法的 Java 标识符。 A、 #_pound B、 _underscore
2.下面( D A、 float f=1.3;
C、 5Interstate D、 class
)赋值语句不会出现编译警告或错误。
B、 char c=\"a\"; C、 byte b=257;
D、 int i=10;
3 .编译一个定义了两个类和三个方法的 ( D )个字节码文件。
A、5个字节码文件,以“.jav的扩展名 为扩
Java 源程序文件,总共会产生 B、 2 个字节码文件,以 “ .java
展名
C、5个字节码文件,以“.clasS;扩展名 为扩D、 2 个字节码文件,以 展名 “ .class
4.有关类的说法,正确的是(
A、类具有封装性,所以类的数据是不能被访问的
R类具有封装性,但可以通过类的公共接口访问类中的数据 C声明一个类时,必须使用 public修饰符 D、每个类中必须有 main方法,否则程序无法运行 5.执行完下面程序片段后, (
B )的结论是正确的。
int a, b, c; a = 1; b = 2;
c = (a + b > 3 ? a++ : b++); A、 a 的值是 2, b 的值是 3 B、 a 的值是 1, b C、 a 的值是 1, b 的值是 2
D、 c 的值是 false
6.将类的成员的访问权限设置为默认的,则该成员能被( A、同一包中的类访问 R其他包中的类访问 C所有的类访问
A )
3
的值是 D、所有的类的子类访问
7.下面的方法重载,正确的是( A、 int fun(int a, float b)
{ } float fun(int a, float b) { }
C、 float fun(float a) { }
float fun(float a, float b) { } 8.下面关于继承的说法,正确的
C )。
B、 float fun(int a, float b) { } float fun(int x, float y) { }
D、 float fun1(int a, float b) { } float fun2(int a, float b) { }
D )。
B、一个类可以有几个超类 C ) 。
是(
9.下面关于多态性的说法,正确的是(
A、一个类中不能有同名的方法
B、子类中不能有和父类中同名的方法
C、子类中可以有和父类中同名且参数相同的方法
D、多态性就是方法的名字可以一样,但返回的类型必须不一样 10 .关于下面程序, ( A )的结论是正确
的。
class J_SubClass extends J_Test { } public class J_Test { J_Test(int i) {
System.out.println(i); }
public static void main(String[] args) { J_SubClass a = new
}
A、不能通过编译,因为类 J_Test没有定义无参数的构造方法 B、不能通过编译,因为类 J_SubClas殿有定义无参数的构造方法 C、不能通过编译,因为没有实现 J_SubClass(int的构造方法 D、可以成功通过编译
11 .关于下面程序片段, ( B
String a = \"Java\"; String b = \"Java\"; String x = \"Ja\"; String y = \"va\"; String c = x + y; A、 a和 b指向同一个实例对象, B、 a和 b指向同一个实例对象, C、 a和 b不指向同一个实例对象, D、 a和 b不指向同一个实例对象, 12 .假设下面的程序代码都放在
)的结论是正确的。
a 和 c 指向
同一个实例对
象
a 和 c 不指向同一个实例
MyClass.java文件中, ( D )程序 B、 package mypackage;
import java.awt.*; public class myClass { }
D、 /*This is a comment*/
package mypackage; import java.awt.*;
代码能够编译通过。
A、 import java.awt.*;
package mypackage; class MyClass { } C、 int m;
package mypackage; import java.awt.*; class MyClass { }
13 . 当 需 要在 文 件 中写 入 字 符 而 不 是 字 节时 , 在 下 面 的 类
中 最好 选用 B )类。 A、 java.io.RandomAccessFile B、 java.io.PrintWriter C、 java.io.PrintStream D、 java.io.PrintOutputStream
14 .关于事件监听,正确的是( C ) 。 A、一个事件只能监听一个组件 B、一个事件只能监听处理一种事件
C、一个组件可以注册多个事件,一个事件也可以注册到多个 组件
上
D、一个组件只能引发一种事件
二、填空题
1 . Clas洪是由Java编译器自动生成的,它伴随每个类。 2 .任何一个Java程序都默认引入一个包,这个包的名字是
java.lang
3 .在 Java 语言中,有一个类是所有类或接口的父类,这个类的名称是
java.lang.Object 。 4 .在 Java 中所实现的二维数组,实际上是由一维数组构成的数组 。 5.在 Java 中,字符串是作为对象出现的。
6 .接口可以看作是仅容纳抽象方法 、常量,而又不能直接生成对象的特殊抽
象类。
7 . FileInputStream 是字节流, BufferedWriter 是字符流, ObjectOutputStream 是 对象流 。
8 . 在 Java 中, 组件不能地显示出来, 必须将组件放在一定的 容器 中才 能显示。
9 . Applet 是能够嵌入到 HTML 格式中的文件,并能够在浏览器中运行的 Java 类。
三、判断题
1 、 Java 程序一般应当含有 main 方法,因为它是所有
(x )
2、Java语言的标识符是不区分大小写的。 3、 Java语言为所有的Java程序自动导入包
Java 程序执行的入口。
( x )
“java.lang , ”因止匕Java程
序
可以直接用 “java.lang的类和接口。位于类继承关系层次结构树的根部 的类Object就是在包“java.lan肝的类。(V )
4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。
(x )
5、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包 括隐
式调用) , 并且调用父类构造方法的语句必须是子类构造方法的第一 条语句0 ( V )
6 、 Java 语言对内存的释放是采用垃圾回收机制。 Java 虚拟机自动判断并收集
垃圾”,但一般不会立即释放它们的存储空间。 ( x )
7、在编译Java源程序时,计算机根本不会去识别各个变量名的具体含义, 因此命名
规范对编写 Java程序而言不是必要的,而且有可能会降低编写 Java源程序的效率。 (x )
一、单项选择题
1 .作为 Java 应用程序入口的 main 方法,其声明格式可以是( A ) A、 public static void main(String[] args) B、 public static int main(String[] args) C、 public void main(String[] args) D、 public int main(String[] args)
2 .在一个合法的Java源程序文件中定义了 3个类,其中属性为public的类 可能有( B )个。
A、 0 B、 1 C、 2 D、 3 3 .下面( B )单词是 Java 语言的关键字。
A、 sizeof B、 abstract C、 null D、 String
4 .下面( C )语句不会出现编译警告或错误。 A、 float f = 1.3; B、 char c = \"a\"; C、 D、 boolean byte b = 25; d = null;
5 .下面程序片段输出的是( D ) 。
int i = 0, j = 9; do {
if(i++ > --j) break;
} while(i < 4);
System.out.println(\"i = \" + i + \" and j = \" + j); A、 i = 4 and j B、 i = 5 and j = = 4 5 C、 i = 5 and j D、 i = 4 and j 6.对于下面( B )类定义,可以通过 “new J_Class生成类J_Class的 实例对象。 A、 public class J_Class { public J_Class(void) { } } B、 public c lass J _Class { } C、 public class J_Class {
public J_Class(String s) { } }
D、 public class J_Class {
public void J_Class() { } public J_Class(String s) { }
7.要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类 的子类访问到, 但是不能被不在同一个包内的其他类访问到。 下面 ( C )
可以满足上述要求。
A、该成员域的封装属性设置为 public B、该成员域的封装属性设置为 private C、该成员域的封装属性设置为 protected D、该成员域不需要特殊的封装属性
8 .关于下面程序, ( D )的结论是正确。
public class J_Test {
public static void main(String[] args) { int[] a = new int[5];
boolean[] b = new boolean[5]; System.out.println(a[4]); System.out.println(b[5]); }
}
A、程序可以通过编译并正常运行,结果输出 “Ofalse B、程序可以通过编译并正常运行,结果输出 “1true C、程序无法通过编译
D、程序可以通过编译,但无法正常运行 9 .下面这段代码会产生( C )个 String 对象。
String s1 = \"hello\";
String s2 = s1.substring(2, 3); String s3 = s1.toString();
String s4 = new StringBuffer(s1).toString(); A、 1 B、 2 C、 3 D、 4 10 .关于下面程序, ( D )的结论是正确的。 public class J_Test {
public static void main(String[] args) { try {
return; }
finally {
System.out.println(\"1\"); }
}
}
A、上面程序含有编译错误
B、上面程序在运行时会产生一个运行时异常 C、上面程序会正常运行,但不产生任何输出 D、上面程序输出“1”
11 .用 “new FileOutputStream( “data.txt 创建一个” ,true)
F”ileOutputStream 实例
对象,则下面( B )说法是正确的。
A、如果文件 “data.txl存在,则将抛出lOException异常
B、如果文件“data.txt存在,则将在文件的末尾开始添加新内容 C、如果文件“data.txt存在,则将覆盖掉文件中已有的内容 D、如果文件“data.txt不存在,则将抛出 ©Exception异常
12 .改变当前容器的布局方式, ( A ) 。
A、调用方法setLayout
B、容器一旦生成,它的布局方式就不能改变 C、调用方法 setLayoutManager D、调用方法 updateLayout
13 .关于小应用程序执行过程的生命周期, ( D )的结论是正确的。
A、 当小应用程序从运行态进入停止态时, 首先要调用的成员方法是B、 当关闭正处于运行态的小应用程序时, 用的成员方法是 destory()
pause() 首先要调 C、当小应用程序从停止态进入运行态时,首先要调用的成员方法是 D 、当关闭正处于停止态的小应用程序时,首先要调用的成员方法是 destory()
14 .下面( D )方法可以用来加载 JDBC驱动程序 A、 类 java.sql.DriverManager 的 getDriver 方法 B、类 java.sql.DriverManager 的 getDrivers 方法 C、 java.sql.Driver 的方法 connect D、类 java.lang.Class 的 forName 方法
paint()
二、概念填空题
1 . Java 语言通过 垃圾回收 机制简化了程序的内存管理。 2 . Java标识符是由 字母、数字、下划线、美元符号 组成的字符序列。
3 .面向对象的计算机语言一般应具有 3 个基本特性,分别是
封装、继承、
多态 。
4 . Java 中的 java.lang.Object 类是最顶层的类,所有其他的类都是它直接或 间接的子类。
5 .在 Java 的基本数据类型中, char 类型采用 Unicode 编码方案,这样,无 论是中文字符还是英文字符,都是占 2 字节内存空间。 6 .类的静态成员属于这个类的 所有对象 。
7 . 一个类要具有可序列化的特性一般 就必须实现接口 java.io.Serializable 。 8 .类 String 本身负责维护一个字符串池。该字符串池存放 字符串常量 所 指向的字符串示例,以及调用过类 String 成员方法 intern 后的字符串示 例。 三、判断题
1、父类的构造方法不可以被子类继承。 ( V )
2、在接口中定义的方法都只能是没有方法体的抽象方法。 9 、 Java 程序分成应用程序和小应用程序两类,所以一个
(V )
Java 程序不可能既
是应用程序,又是小应用程序。 ( x ) 10 、 javadoc 是一种从文档注释生成 HTML 帮助文件的工具。 它可以处理在 java
源 程 序 中 介 于 “ /* 和” “ */ 之” 间 的 注 释 , 并 生 成 相 应 的 程 序 文 档 。
( x )
5、采用事件适配器比采用事件的执行效率要高,因为采用事件适配器 可以只处理所需处理的事件。 ( X ) 11 、每个 java.sql.Statement 实例对象只能对应一个 java.sql.ResultSet 实例对 象, 所以如果执行 SQL 语句返回多个结果, 一般需要分多次取得返回结果。
(V )
、单项选择题
1 .下面选项中, ( B )是 Java 关键字。 A、 then B、 continue C、 java D、 PUBLIC
2 .下面语句中,正确的是( B ) 。
A、 boolean b= ” true ” ; B、 double x=2.5f; C、 char c=A””; D、 float y=0.8d;
3 .设有定义 “int k=3; ,语法正确且值为” true 的表达式是( D ) 。 A、 k=3; B、 k++>3; C、 k--==3&&k++==3; D、 k++==3||++k>3; 4 .设有定义:String s= \"WorldT列语句错误的是( D )。 A、 int m=s.indexOf( ‘ r ’ ); B、 char c=s.charAt(0); C、 int n=s.length(); D、 String str=s.append( ‘ 2’ ); 5 .假设在Java源程序文件“MyClass.jav中只含有一个类,而且这个类必须
能够被位于个庞大的软件系统中的所有 Java 类访问到, 那么下面 ( C )
声明有可能是符合要求的类声明。
A、 private class MyClass extends Object B、 public class myclass extends Object C、 public class MyClass D、 class MyClass extends Object
6 .在 Java 中,用 package 语句说明一个包时,该包的层次结构必须是 (A )。
A、与文件目录的层次相同 C、与文件类型相同
B、与文件的结构相同 D、与文件大小相同
B ) 。
7 .下面关于数组的说法,错误的是( B、声明数组时,必须分配内存
A、数组是最简单的复合数据类型,是一系列数据的集合 C、数组的元素可以是值(基本数据类型) 、对象或其他数组 D、一个数组中的所有值都必须是相同的类型 8 .下面关于方法的说法,错误的是(
C ) 。
A、 Java 中的方法参数传递时传值调用,而不是地址调用 B、方法体是对方法的实现,包括变量声明和 Java的合法语句
C、如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自
动生成空的构造方法
D、类的私有方法不能被其子类直接访问
9 .下面关于内部类的说法,错误的是(
A ) 。
A、内部类不能有自己的成员方法和成员变量
8、 内部类可用 abstract 修饰定义为抽象类, 也可以用 private 或 protected
定义
C、内部类可作为其他类的成员,而且可访问它所在类的成员 D、除static内部类外,不能在类内声明 static成员
10 .在字节流中,可以使用文件名作为参数的类有( A、 DataInputStream B、 BufferedReader C、 FileInputStream D、 FileReader
C ) 。
11 . 语 句 : JTextField=new JTextField(8);, 语 句 中 的 8 表 示 文 本
框 的 A )。 A、列宽
B、所显示的字符用
C行高 D、编号
12 .文档标签 @exception 在文档注释中的格式一般是( A ) 。 A、 @exception 类名 描述 B、 @exception 异常描述
C、 @exception 异常变量名 描述 D、不存在文档标签@exception
二、填空题
1 . Java 虚拟机运行 Java 程序的基本步骤是:首先从后缀为 class 的文
件加载代码到内存中,接着在内存中检测代码的合法性和安全性,然后解 释执行合法和安全的代码。
2 .在Java语言中,字符串直接量是用双引号括起来的字符序列, 字符串不是
字符数组,而是类 String 的实例对象。
3 .类 System 的三个成员域 in、 out 、 err 分别指向标准输入流、标准输出
流和标准错误输出流。
4 .有时运行一个Java小应用程序需要多个文件,如 “.clas文件、声音文件、 图像文件等。 为了提高效率, 可以考虑将运行小应用程序所需要的各种文件做成 一个 jar 文件 。
5 .假设用 Java 语言为某大学(网址为 “hznu.edu.cn )编写了图像处理包”
( image) , 那 么 按 照 Sun 公 司 的 建 议 , 这 个 包 的 名 称 最 好 为
cn.edu.hznu.image 。
6 . 在编写和运行数据库程序之前需要建立起 Java 数据库程序的开发环境, 这
至少需要安装JDK数据库和 JDBC驱动程序 。
7 . 传 递 给 实 现 了 java.awt.event.MouseMotionListener 接 口 的 类 中
mouseDragged 方法的事件对象是 MouseEvent 类。 三、判断题
1 、假设有一个 Java 源程序文件,它只定义了一个具有 public 属性的类 Hello,那么编译该文件的命令是 “javac Hello。\"( x ) 2、switch语句中可以没有 default子句。 ( V ) 3、常量87.363的数据类型是float。
( X )
4、构造方法一般不允许有任何返回值,因此需要在构造方法返回类型处标注 为 void。 ( x )
5 、 如果在定义一个类的时候没有用到关键字 extends, 则这个类没有直接父类。 (x )
6、抽象万法不能含有万法体,并且必须在抽象类中。 ( x ) 7、如果类的访问控制符是 public ,则类中成员的访问控制属性也必须是 public。 ( x )
8、假设文件“a.txt的长度为100字节,那么当正常运行语句 “OutputStream f = new
FileOutputStream(new File( \"a.txt 之底);文件 “a.txt的长
度变为 0 字节。
(V )
9、对于数组 int[][] t = {{1,2,3},{4,5,6}}来说,t.length 等于 3, t[0].length 等于 2。 ( X )
——学年第学期
« Java程序设计 》课程试题
,考试 UA卷
,闭卷 课程号:
□考查 UB卷
口开卷
、单项选择题(20题;每题2分,共40分)
题 号 一 二 三 四 五 六 七 八 九 十 总分 [阅卷教师 各题分数 40 20 10 5 5 20 100 实得分数 1、位运算~(9&5)的运行结果是 A) 9
B) 14 C) 1 D) 5
答案:B (难度系数C知识点:位运算)
2、下列关于JAVA语言特点的叙述中,错误的是。 A) Java是面向过程的编程语言
B) Java支持分布式计算
学号:
试题共 页加白纸 C) Java是跨平台的编程语言 D) Java支持多线程
java基础)
答案:A (难度系数C知识点:
3,定义私有的成员函数或成员变量,正确的是。 A)不需要定义,缺省的访问级就是私有级
B)在类的开头部分集中定义
D)利用private关键字定义
C)成员函数需要定义,而成员变量不需要定义
答案:D (难度系数C知识点:类成员) 4、创建一个标识有 关闭”按钮的语句是。 A) TextField b = new TextField(关闭”); B) Label b = new Label(关闭”); C) Checkbox b = new Checkbox(关闭”); D) Button b = new Button(关'闭”);
答案:D (难度系数C)知识点:GUI编程
5、在编写异常处理的Java程序中,每个catch语句块都应该与 语句块对 应,使得用该语句块来启动Java的异常处理机制。
A) if — else B) switch C) try
D) throw
答案:C (难度系数B)知识点:异常
6、以下关于循环语句描述正确的是 ____ 。 A) for循环不可能产生死循环 B) while循环不可能产生死循环 C) for循环不能嵌套while循环 D)即使条作不满足do ...... while循环体内的语句也至少执行一次 答案:D (难度系数B)知识点:循环 7、Java中的文件是指。
A) java文档生成器 B) java编译器 C) java解释器 D) java类诊断器 答案:C—(难度系数C,JAVA语言特点)
8、Java中 类提供了随机访问文件的功能.
A) RandomAccessFile B) RandomFile C File D) AccessFile 答案:A_ (难度系数B)知识点:数据流 9、实现一个继承接口 Runnable中类需要实现 方法。 A) start B) run C) wait D) paint
答案:B (难度系数B)知识点:多线程
10、关于被私有访问控制符private修饰的成员变量,以下说法正确的是。 A)可以被
三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中 的该类的子类 B)可以被两种类访问和引用:该类本身、该类的所有子类 C)只能被该类自身所访问和修改 D)只能被同一个包中的类访问 答案:C (难度系数: B 知识点:关键字)
11、以下描述正确的是。
A) JAVA不可以用来开发手机程序 B)在JAVA程序中包是唯一自动引入的类库
C)包是JAVA语言的输入输出类库 D) JAVA的包中可以有相同的类名
答案:C (难度系数B)知识点:JAVA简介,包 12、以下关于数组的描述有误的是。
A)整型数组中的各元素的值必须是整型 B)数组是有序数据的集合
C)如数组名为ab,即可以取得该数组的长度 D)数组的下标从1开始
答案:D (难度系数B)知识点:数组
13、下面各类对象不能接受用户输入的是。 A) TextField B) JTextField
C) JTextarea D) Jlable
答案D (难度系数C 知识点:常用组件,可视化)
14、以下语句正确的是 o
A) x+1=5; B) i++=1; C) a++b=1; D) x+=1; 答案:D (难度系数B) 知识点:表达式 15、以下结果为真(true)的是。
A) 10>‘ a' B) ' a' >20C) !true D) (3<5) && (4>10) 答案:B (难度系数B) 知识
点:表达式
16、在Java中,贝责对字节代码解释执行。 A)垃圾回收器 B)虚拟机 C)编译器 D)多线程机制
答案:B; 难度系数:C;知识点:java特性。
17、属于合法的Java标识符。 A) cat B) 5books C) +static D)
答案:A;难度:C;知识点:语法基础
18,下面语句中,不会出现编译警告或错误。
A) float f=1.3; B) char c= \" a© byte b=25; D) boolean b=null; 答案:C (难度
系数B)
19、下列叙述正确的是。 A) final类可以有子类
知识点:赋值相容
B) abstract类中只可以有 abstract方法
C) abstract类上可以有非abstract方法,但该方法不可以用final修饰 D)不可以
同时用final和abstract修饰一个方法 答案:D_ (难度系数B) 知识点:抽象类,抽象方法
20,下列类的定义中,错误的是。A) class x {....}
B) public x extends y {....} C) public class x extends y { .... } D) class x extends y implements y1 { .... }
答案:B (难度系数B) 知识点:类的定义
二、填空题(10题;每题2分,共20分)
1、表达式1/2*3的结果是。
答案:0 (难度系数 B)知识点:表达式
2、定义一个包含7个元素的数组a,则该数组的最后一个元素是 。
答案:a[6]_ (难度系数C)知识点:数组
3 设有数组定义:int a[ ] = { 11 , 22,33,44,55,66,77,88,99 };则执行以 下几个语
句后的输出结果是 、、。
for (int i = 0 ; i < a.length ; i ++ )
if ( a[i]%3==0 ) System.out.println(a[i]);
答案:33、 66、 99 (难度系数 B)知识点:运算符
4顺序执行以下两个语句的输出结果是:。
String s =\"广东海洋大学\";
System.out.println(s.length());
答案:12 难度系数B) 知识点:字符串
5读写器是以 ___________ 为基本单位访问文件的,读写器之外的其他输入流、
输出流以及随机访问文件都是以 ____________ 为基本单位访问文件的。 答案:字符 、 字节 (难度系数C)
6、在定义类时,指明类成员的权限修饰符有、
知识点:文件与数据流
和。
答案public protected private 答案Socket
ServerSocket
难度系数B知识点:类的定义 难度系数B知识点:网络基本类
7、在java.net 中提供了两个类: 和, 分别用 来用于客户端和服务器端的Socket 8、不能定义实例的类称为 ,它由关键词 来标明。
答案抽象类 abstract 难度系数B知识点:类的定义,对象使用
知识点:类的定义,派生
知识点:多态机制
9、不能作为超类的称为 ,它由关键词 来标明。
答案最终类、final 难度系数B
10、java 提供的两种多态机制是 和。.
答案重载和覆盖
难度系数(B)
三、判断题(10题;每题1分,共10分)
1 .() 所有的文件输入/输出流都继承于Inputstream /Outputstream类。 答案:出— (难度系数B)知识点:数据流
2 .()抽象类中只能包含抽象方法,不能包含一般方法。
答案:错 难度系数C知识点: 抽象类
3 .() 一个异常处理中finally语句块只能有一个或者可以没有。 答案:对— (难度系数B)知识点:异常
4 . ( ) Java是区分大小写的语言,关键字的大小写不能搞错,如果把类 class 写成Class或者CLASS,都是错误的。
答案:四— (难度系数B)知识点:关键字
JAVA虚拟机自动判
5 .( ) JAVA语言对内存的释放是采用垃圾自动回收机制。
断并收集 垃圾”,但一般不立即释放它们的存储空间。 答案:出—(难度系数B)知识点:内存回收
6 .()子类可以继承父类所有的成员变量和成员方法。
答案:错 (难度系数B)知识点:继承
7 .()访问类的成员,必须以类的对象为前缀。
答案错 难度系数C知识点:类的封装,访问
8 .()诊断和改正程序中错误的工作通常称为程序执行。 答案:错;又t度系数:C;知识点:编程基础。
9 .() 一个包就相当于操作系统的文件夹,包中的类就相当于文件。 答案:对;又t度系数:C;知识点:java特性。 10 .(
)当线程类所定义的run()方法执行完毕,线程的运行就会终止
答案:错 难度系数:B知识点:多线程
四、程序填空题(1题;每题5分,共5分)
1 .下面是关于异常处理的程序,请完善程序。
class IllegalAgeException extends Exception { public String getMessage()
{ return \"Error age\"; } }
class UserTrial { int age;
//在下行划线处填上声明抛弃IllegalAgeException异常的语句 void setAge(int a) CD ____________________________ { if (a>60)
//在下行划线处填上抛出IllegalAgeException异常的语句 age = a; }
}
class ThrowExample {
public static void main (String args口){ UserTrial values = new UserTrial(); try {
values.setAge(75); }
//在下行空白处填上捕获IllegalAgeException异常的语句 _______________ ③ _______________________________ {
System.out.println (e.getMessage()); } } }
(难度系数B)知识点:异常处理 答案:
①throws IllegalAgeException ②throw new IllegalAgeException()
③ catch(IllegalAgeException e )
五、读程序写结果(1题;每题5分,共5分)
1 .下面程序实现将已经存入数组中的值按逆序打印出来。 请将程序空白处补全。
class mm()
{ void fte(int arr口) { for( _ (1) )
{System.out.print( \" \" +arr[i]);} } }
(2) class print_arr
{ public static void main(String args口) {int a□={45,,7,6,0}; (3) pp= new (4);
(5) _______ ;
} } 答案:(1)int i=arr.length-1;i>=0;i++ (2) public (3) mm (4)mm() (5)pp.fte(a)
难度:B
知识点:java程序基本结构,循环,数组,类的定义,对象使用,成员调用。
六、编程题(2题;每题10分,共20分)
1、利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-
分之间的用B表示,60分以下的用C表示。 难度系数:B知识点:JAVA程序结构 答案:
public class Prog5{
public static void main(String口 args){ int n = -1; try{
n
Integer.parseInt(args[0]);
=
}catch(ArrayIndexOutOfBoundsException
e){ System.out.println(”请输入成绩\"); return; } grade(n);
private static void grade(int n){
if(n>100 || n<0)
System.out.println(\"输入无效\"); else{
String str = (n>=90)?\"分,属于 A 等\":((n>60)?\"分,属于 B 等\":\"分,
属 于 C 等\");
System.out.println(n+str); } }
}
2、 “public static double random() ”运算下面表达式 (int) (Math.random()*20+0.5)
10000次,
统计其中生成的整数0,1 , 2,…,20的个数分别是多少,并输出统计结果 (难度系数 B)
答案: public class Count {
public static void main(String[] args) { int c[]=new int[21]; int i,ran;
for(i=0;i for(i=0;i<10000;i++) { ran=(int)(Math.random()*20+0.5); c[ran]++; } for(i=0;i 知识点: \"+c[i]); } }
因篇幅问题不能全部显示,请点此查看更多更全内容