一、 单项选择填空(每小题2分,共50分)
1. 下列不属于main方法的修饰词的是(D)
A.public B.void C.static D.final 2. Java源程序经过编译后的文件类型是(A)
A.字节码文件 B.可执行文件 C.目标文件 D.中间文件 3. 下列关于运算符的结合性说法正确的是(C)
A.算术运算符和条件运算符都是左结合(即从左至右) B.单目运算符是左结合 C.关系运算符是左结合 D.赋值运算符是左结合
4. 对于同一消息,对象可以产生不同的行为,这称为类的什么特性?(D)
A.继承性 B.抽象性 C.封装性 D.多态性 5. 下面哪个是合法的布尔值(B)
A.”false” B.false C.0 D.f 6. 下面哪个是Java语言中的关键字?(B)
A.sizeof B.abstract C.InstanceOf D.Native
7. 哪种循环在条件表达式被计算之前至少执行循环体语句一次?(A)
A.do-while循环 B.for循环 C.while循环 D.以上都不是 8. 以下哪个选项用以确定字符串的长度?(D)
A.size B.length C.max_value D.length() 9. 下面的语句哪个是正确的?(B)
A.char=‟abc‟; B.long l=0xfff; C.float f=0.23; D.double=0.7e-3; 10. 下列哪个类的声明是错误的?(A)
A.final abstract class A B.final class A C.protected class A D.public class A 11. 下面程序段的执行结果是什么?(B)
public class Foo{
public static void main(String[] args){ try{
return;}
finally{System.out.println(“Finally!”);} }}
A.程序正常运行,但不输出任何结果 B.程序正常运行,并输出Finally
C.编译能通过,但运行时会出现例外 D.因为没有catch语句块,所以不能通过编译
12. 设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为(C)
A.1 B.2 C.0 D.-3
13. Java语言中,下列常量中是字符型常量的为(C)
A.‟\\0xFFFF‟ B.‟\":{"h":20.375,"w":15.047,"x":389.415,"y":1022.154,"z":311},"ps":null,"t":"word‟ C.‟\\\\‟ D.”ABC” 14. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____
个比特位。( B )
A、8 B、16 C、32 D、64 15. 下面哪个选项是Java语言中的关键字?(C)
A.toString B.Class C.instanceof D.Int 16. 以下哪个选项是字符串对象的长度?(D)
A.size B.length C.max_value D.length() 17. 下面程序段的执行结果是什么?(B)
public class Exp{
public static void main(String[] args){ try{ int f=12;return;}
catch(Exception e){ System.out.println(e.getMessage());} finally{System.out.println(“Finally!”);} }}
A、程序正常运行,但不输出任何结果 B、程序正常运行,并输出Finally C、编译能通过,但运行时会出现例外 D、因为catch语句块不对应,所以不能通过编译
18. class MethodOverload{
public void setValue(int a, int b, float c){} }
下列哪个方法定义是setValue的重载方法:(C) A.public void setValue (int a, int c, float b){} B. public void setVar(int a, int b){}
C. public int setValue(int a, float c, int b){return a;} D. public float setValue(int a, int c, float b){return a;} 19. 下列叙述中哪个是不正确的?(D)
A、final类不可以有子类 B、abstract类不可以有abstract的静态方法 C、不可以同时用final和abstract修饰一个方法
D、abstract类中可以有非abstract方法,但该方法不可以用final修饰 20. 阅读下列代码, public class Person{ int[] arr[]=new int[10] [];
public static void main(String args[]){
arr[1]=new int[10];System.out.println(arr[1][0]); } }
根据上面的代码,下列正确的说法是(A)
A、编译错误, 提示无法从静态上下文中引用非静态变量arr
B、编译时正确,运行时将产生错误 C、输出0 D、输出空 21. 下面对于字符串初始化的方法不正确的是?(D)
A、String s=”Hello Word!”; B、String s=new String(“Hello World!”); C、Char dataStr[]={„H‟, „e‟, „l‟, „l‟, „o‟};String s=new String(dataStr); D、String s=‟Hello world!‟;
22. Swing与AWT的区别不包括 :(D)
A、Swing是由纯Java实现的轻量级构件 B、Swing没有本地代码
C、Swing不依赖操作系统的支持 D、Swing支持图形用户界面 23. 容器JFrame及JPanel默认的布局管理器分别是(B)
A、FlowLayout和GridLayout B、BorderLayout和FlowLayout
C、FlowLayout和FlowLayout D、CardLayout和BorderLayout 24. 在开发一个JAVA GUI程序时,通常都要对按键事件作出响应和处理,一般需要在程序的开头写上(D)语句。
A、import java.awt.*; B、import java.applet.*; C、import java.io.*; D、import java.awt.event.*; 25. 每个使用Swing组件的程序必须有一个(D)
A、按钮 B、标签 C、菜单 D、容器
二、 填空题(每空1分,共21分)
1. JAVA源程序是由 包定义语句、 导入语句 、 类定义语句 、 方法定义语句 和执行语句等五部分组成的。
2. JAVA程序可以分为两类,一类是 java小应用程序 ,另一类是
java应用程序 。
3. 面向对象程序设计的三个基本特征分别是 封装 、 继承、多态 。 4. 算术运算异常、下表数组越界异常类都源于 Exception 这个父类。 5. 在Java程序中,通过类的定义只能实现 单 重继承,但通过接口
的定义可以实现 多 重继承。
6. 多种异常处理是通过在一个try块后声明若干个 Catch 语句(块)
来实现的。
7. 方法的 重载 是指在同一个类中,声明方法名称相同但参数不同的多个方法。
8. Java语言的各种数据类型之间提供两种转换: 自动转换 和强制转换。
9. 在类的构造方法和实例方法中,使用关键字 this 可以解决局部变量与实例变量同名的问题。
10. this关键字代表当前对象,而super关键字是指 当前对象的父类 。 11. 抽象方法不能使用修饰符 final 和 static 修饰。
12. 在进行Java GUI程序设计时,一般都要用到swing特性,因此必须在程
序的开头写上__import javax.swing.*;___语句。
13. 在Java语言中, 包 是组织Java程序中类的一种手段,其作用与
Windows系统中的 目录 类似。
三、 简答题(第1、2题各3分,第3题4分,第4、5题各5分,共20分)
1、 简述Java流程控制语句中的三种循环控制语句,并描述下它们的区别。 For:确定循环次数 While Do-while
2、 简述静态成员与非静态成员的区别。
3、 简述Java程序设计中四种权限修饰符的作用。 Public、包、受保护的、私有的
4、 简述Java开发图形用户界面程序的流程。
5、 任意列举五个以上的关键字,并简要说明其作用。 Int、class、final、
四、 写程序结果(每题3分,共9分)
1、 Class B {
int x=100,y;
public void setX(int x) {this.x+=x;}
public void setY(int y) { y+=y;}
public int getXYSum() {return x+y;} }
public class A {
public static void main(String[] args)
{
B b=new B();
b.setX(-100);b.setY(-200);
System.out.println(“sum=”+b.getXYSum());
} }
程序结果为: sum=0
2、 public class abc {
public static void main(String args[ ])
{ AB s = new AB(\"Hello!\ System.out.println(s.toString( )); } } class AB {
String s1; String s2;
AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2;} }
程序结果为:Hello!I Love JAVA.
3、 class MyException extends Exception{
String message;MyException(String str){ message=str;} public String getMessage(){return message;} }
abstract class A{abstract int f(int x,int y) throws MyException;} class B extends A{
int f(int x,int y) throws MyException{
if (x>99||y>99) throw new MyException(“乘过操作99”); return x*y;} }
public class E{
public static void main(String args[]){ A a; a=new B();
try{System.out.println(a.f(25,8));System.out.println(a.f(20,101));
}
catch(MyException e){
System.out.println(e.getMessage());}}} 程序结果为:200
乘过操作99
因篇幅问题不能全部显示,请点此查看更多更全内容