一、单项选择填空(每小题2分,共50分)1.下列不属于main方法的修饰词的是()A.public B.void C.static D.final2.Java源程序经过编译后的文件类型是()A.字节码文件 B.可执行文件C.目标文件D.中间文件3.下列关于运算符的结合性说法正确的是()A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++的前缀和后缀不一样B.单目运算符是左结合C.关系运算符是左结合 D.赋值运算符是左结合4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A.继承性B.抽象性C.封装性D.多态性5.下面哪个是合法的布尔值()A.”false”B.false C.0 D.f6.下面哪个是Java语言中的关键字?()A.sizeof B.abstract C.InstanceOf D.Native7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?()A.do-while循环B.for循环C.while循环D.以上都不是8.以下哪个选项用以确定字符串的长度?()A.size B.length C.max_value D.length()9.下面的语句哪个是正确的?()A.char=’abc’; B.long l=0xfff; C.float f=0.23 需加上f;D.double=0.7e-3;10.下列哪个类的声明是错误的?()A.final abstract class A B.final class AC.protected class A D.public class A11.下面程序段的执行结果是什么?()public class Foo{public static void main(String[] args){try{return;}finally{System.out.println(“Finally!”);}}}A.程序正常运行,但不输出任何结果B.程序正常运行,并输出FinallyC.编译能通过,但运行时会出现例外D.因为没有catch语句块,所以不能通过编译12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为()A.1 B.2 C.0 D.-313.Java语言中,下列常量中是字符型常量的为()A.’\0xFFFF’B.’\u’C.’\\’转义字符D.”ABC”14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
()若是字节就是2个A、8B、16C、32D、6415.下面哪个选项是Java语言中的关键字?()A.toString B.Class C.instanceof D.Int16.以下哪个选项是字符串对象的长度?()A.size B.length C.max_value D.length()17.下面程序段的执行结果是什么?()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、程序正常运行,并输出FinallyC、编译能通过,但运行时会出现例外D、因为catch语句块不对应,所以不能通过编译18.class MethodOverload{public void setValue(int a, int b, float c){}}下列哪个方法定义是setValue的重载方法:()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.下列叙述中哪个是不正确的?()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、编译错误,提示无法从静态上下文中引用非静态变量arrB、编译时正确,运行时将产生错误C、输出0D、输出空21.下面对于字符串初始化的方法不正确的是?()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的区别不包括:()A、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面23.容器JFrame及JPanel默认的布局管理器分别是()A、FlowLayout和GridLayoutB、BorderLayout和FlowLayoutC、FlowLayout和FlowLayoutD、CardLayout和BorderLayout24.在开发一个JAVA GUI程序时,通常都要对按键事件作出响应和处理,一般需要在程序的开头写上()语句。
A、import java.awt.*;B、import java.applet.*;C、import java.io.*;D、import java.awt.event.*;25.每个使用Swing组件的程序必须有一个()A、按钮B、标签C、菜单D、容器二、填空题(每空1分,共21分)1.JAVA源程序是由包定义语句、执行语句等五部分组成的。
2.JAVA程序可以分为两类,一类是JAVA应用程序,另一类是JAVA小应用程序。
3.4.算术运算异常、下表数组越界异常类都源于Exception这个父类。
5.在Java但通过接6.多种异常处理是通过在一个try句(块)来实现的。
7.数不同的多个方法。
8.Java强制转换。
9.局部变量与实例变量同名的问题。
10.this关键字代表当前对象,而super11.饰。
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 不确定循环次数,且先判断再执行;Do loop 先执行再判断;2、简述静态成员与非静态成员的区别。
静态是被所有对象共享。
怎么访问静态,可以通过类名访问。
非静态不能访问静态3、简述Java程序设计中四种权限修饰符的作用。
Public 共有类4、简述Java开发图形用户界面程序的流程。
5、任意列举五个以上的关键字,并简要说明其作用。
四、写程序结果(每题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= 02、public class abc{public static void main(String args[ ]){ AB s = new AB("Hello!","I love JAVA.");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=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。