您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页JAVA习题及答案

JAVA习题及答案

来源:化拓教育网


复习题一

(二)多选题(每题两个正确答案)(共6题,每题3分,共18分)。 1. 在Java中,下列哪两句是正确的: ( ) A. 子类的构造方法与父类的构造方法同名 B. 子类可以继承父类的所有方法 C. 子类不一定能继承父类的所有方法

D. 子类可以继承父类protected和public的方法 E. 子类可以继承父类protected和private的方法

2. MyPoint方法,返回Point类型,其定义正确的是: ( ) A. public Point MyPoint (int x){„} B. public int MyPoint (int x) {„}

C. static Point MyPoint ( int x, int y) {„}

D. static int MyPoint (Point p) {„}

3. 若有以下接口的定义:public interface IA extends IB ,IC, ID{„};则:( ) A. 这个接口的声明是错误的 B. 接口IA继承了接口IB,IC和ID C. 接口IA实现了接口IB,IC和ID D. 关键字extends指明接口的继承关系

4. 下面哪几个函数是public void example(){...}的重载函数?( ) A public void example( int m){...} B public int example(){...} C public void example2(){...}

D public int example ( int m, float f){...}

5. 已知如下定义:String s = \"story\";下面哪个表达式是合法的( )

A s += \"books\"; B char c = s[1]; C int len = s.length;

D String t = s.toLowerCase();(返回一个字符串,该字符串中的字母被转换为小写字母。) 6.定义主类的类头时可以使用到的关键字是( ) A. abstract B. final C.private D. super 三. 填空题(共30空,每空一分,共30分)。

1. JAVA基本数据类型有byte、 、 、 int 、 、 、 、 。 (填英文关键字名)。

2. JAVA基本数据类型类有Byte、 、 、 Integer 、 、 、 、 。 (填英文关键字名)。

3. 执行下列语句:int m,n,i=3,j=2; m=i++; n=--j;

则,m= 、n= 、i= 、j= 。 4. 转义字符 ‘\\ n’ 的含义是 。

5. 分别写出用new运算符和不用new运算符生成字符串“ I like java”对象的方法 1) String str= 2) String str=

6. 字节码文件的扩展名是_____________。

7. 在Java语言中,逻辑常量只有__ _ _和__ _两个值。 8. int a=10,b=11,c=12;表达式(a+b)10. 方法,不需要类的实例化对象,可以直接通过类名来调用。 11. 方法,其名字和类名相同,并且在生成对象时被调用。

12. 构造方法的方法名必须与 名相同。使用运算符 创建类的对象,给对象分配内存空间。 13. 产生一个50~100随机数的语句是 。

14. 求字符串String s = “java”;的长度,语句是 。 四. 程序填空(每空2分,共8分)

下面是一个源程序中定义的两个类A和B,程序应保存的文件名是 ,在程序横线处填写,将程序补充完整。 Public class A B {

public static void main(String[] x) {

A a = new A(); a.myfunc2(); }

public void myfunc1()

{ System.out.println(“myfunc1”); } public void myfunc2() {

this.myfunc1();

.myfunc2(); //调用父类的方法 } } class B {

abstract public void myfunc1(); public void myfunc2()

{ System.out.println(“myfunc2”); } 最佳答案

1、cd 2、ac 3、bd 4、ad 5、ad 6、ab

1、short long float double boolean char 2、Short Long Float Double Boolean Character

3、3,1,4,1 (个人认为这题答案不唯一,所用编译器不同答案也将不同。) 4、换行

5、\"I like java\6、.class 7、true,false 8、false 9、class 10、静态 11、构造 12、类,new

13、Math.random()%50 + 50 14、s.length()

extends,super

复习题二

一、判断题:判断下列说法是否正确,正确打“√”,错误打“×”。本题共5题,每题2分,共10分。

(说明:首先建立一个文件名为P07软件1或者2或者3+序号+自己的姓名的文件夹,把所有的文件放入到文件夹中,第一题将试题答案填写到电子答题纸中并放入到文件夹。)

1、Java源程序文件应以.java为后缀名保存,文件内包含几个类的定义就编译生成几个对应的字节码文

件。 ( ) 2、即使一个类中未显式定义构造函数,也会有一个缺省的构造函数函数体为

空。 ( )

3、程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。

( ) 4、public class testhello{ }中的类是testhello, java文件是hello.java。 ( ) 5、Java程序里,创建新的对象:Chexkbox abc= new Chexkbox (“shose”); 。

二、单项选择题:本题共2题,每题5分,共10分。 (第二题将试题答案填写到电子答题纸中并放入到文件夹。)

1、编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。 A、java B、class C、html D、exe

2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?

A、public static void main( )

B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 3、设有下面两个类的定义:

class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。 A、包含关系 B、继承关系

C、关联关系 D、无关系,上述类定义有语法错误 4、设有下面的两个类定义:

class AA {

void Show(){ System.out.println(“我喜欢Java!”); }

class BB extends AA {

void Show(){ System.out.println(“我喜欢C++!”); }

则顺序执行如下语句后输出结果为:( ) AA a; BB b; a.Show(); b.Show();

A、我喜欢Java! B、我喜欢C++! 我喜欢C++! 我喜欢Java! C、我喜欢Java! D、我喜欢C++! 我喜欢Java! 我喜欢C++! 5、设有下面的一个类定义: class AA {

static void Show( ){ System.out.println(“我喜欢Java!”); } }

class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }

若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( A、a.Show( ) B、AA.Show( );

b.Show( ) BB.Show( ); C、AA.Show( ); D、a.Show( ); b.Show( ); BB.Show( );

三、程序阅读题:本题共3题,每题5分,共15分。 (第三题将试题答案填写到电子答题纸中并放入到文件夹。)

1、import java.io.*; 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;} }

运行结果:

2、 import java.io.*; public class abc {

public static void main(String args[]) {

String s1 = \"Hello!\";

String s2 = new String(\"World!\"); System.out.println(s1.concat(s2)); } } 运行结果:

3、import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\"s=\"+s); } } 运行结果:

四、程序填空题:本题共2题,每题6分,共12分。 (第四题将试题答案填写到电子答题纸中并放入到文件夹。)

1、java中如何调用方法 Class ex22 {

Public static void _________ (String args[]) {

System. out.println(“we are in the main function”); System. out.println();

System.out.println(“call to the method sample”); ______ ();//调用sample方法 System. out.println();

System. out.println(“back to main function”); }

Static void sample() {

int a=10; a=a*10;

System. out.println(“new we are in the sample method”); System. out.println(______);//显示输出变量a的值 } }

2、简单运算求和计算 class argsum {

public static void main(String a[]) {

int i;int sum=0; if(a. _______>0)

{

for(i=0;i sum=_______+Integer.parseInt(a[i]);// int与string之间的转换

} System.out.println(\"\"+_______);

} else {

System.out.println(\" } } }

得分

阅卷人

总和为:至少输入两个阿拉伯数\");

五、编程题:(上机调试运行源程序及生成中间代码都放在文件夹中之后压缩上交考试题)

1、新建名为“myexam”的工程,以下所有程序均放到此工程当中。最后将此工程文件夹连同前面三道题的电子答题纸部分复制到P07软件1或者2或者3+序号+自己的姓名的文件夹中,压缩之后一起上传。(3分)

2、(15分)编写一个程序,在一个界面上显示三个按钮和一个文本框,其标签分别为黄色、红色和蓝色。当用户点击按钮的时候,文本框背景颜色变为按钮标签所指示的颜色。 3、(15分)编写一个程序,显示一个叫做“文件”的菜单,该菜单中包含两个菜单项,分别为:“关于”和“退出”。当用户选择“关于”菜单项的时候,弹出一个对话框,显示“菜单编程练习”,选择“退出”的时候退出程序。

4、(20分)编写用户登陆程序,登陆失败用消息框提示“登陆失败”,登陆成功后用消息框显示成功登陆者的用户名及密码。 1)新建一个窗体,窗体内容如下:

用户名使用文本框,密码使用密码框。(5分)

2)登陆成功后进入欢迎界面,窗体上放置一个标签,内容为:“欢迎您成功登陆”。(5分)

3)登陆代码编写。(10分) ①用户名判空;(2分) ②密码判空;(2分)

③判断用户名和密码是否匹配;(4分)

④成功登陆后进入欢迎界面。(2分)

复习题三

一、单选择题(每小题2分,共10分)

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. .java B. .class C. .html D. .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5

3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( ) B. public void method( )

C. final void method( ) D. abstract void method( ) 二、填空题(每空格1分,共20分) 1、开发与运行Java程序需要经过的三个主要步骤为 、 和 。 2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名为 。 3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译 器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。 4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 字节内存空间。 5、设 x = 2 ,则表达式 ( x + + )/3 的值是 。 6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 和 。 7、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。 8、创建一个名为 MyPackage 的包的语句是 , 该语句应该放在程序的位置为: 。

9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 。 int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s );

10、在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。

三、写出下列程序完成的功能。(每小题5分,共20分)

1、public class Sum

{ public static void main( String args[ ]) { double sum = 0.0 ;

for ( int i = 1 ; i <= 100 ; i + + ) sum += 1.0/(double) i ; System.out.println( \"sum=\"+sum ); } }

2、 import java.io.* ; public class Reverse

{ public static void main(String args[ ]) { int i , n =10 ; int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in));

a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― ) System.out.print(a[i]+\" \"); System.out.println( ); } }

3、 import java.awt.*; public class abc

{ public static void main(String args[])

{ new FrameOut(); } }

class FrameOut extends Frame // Frame为系统定

{ Button btn; // 义的窗框类 FrameOut( )

{ super(\"按钮\");

btn = new Button(\"按下我\"); setLayout(new FlowLayout( )); add(btn);

setSize(300,200); show( ); } }

4、import java.io.*; public class abc

{ public static void main(String args[]) { SubClass sb = new SubClass( ); System.out.println(sb.max( )); }

}

class SuperClass

{ int a = 10 , b = 20 ; } class SubClass extends SuperClass

{ int max( ) { return ((a>b)?a:b); } }

四、写出下面程序的运行结果(每小题10分,共30分) 1、 import java.io.*; 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;} }

2、 import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\"s=\"+s); } }

3、import java.io.* ; public class abc {

public static void main(String args[ ]) )

{ System.out.println(\"a=\"+a+\"\\nb=\"+b); } }

class SubClass extends SuperClass { int c;

SubClass(int aa,int bb,int cc) { super(aa,bb); c=cc; } }

class SubSubClass extends SubClass { int a;

SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc); a=aa+bb+cc; }

void show()

{ System.out.println(\"a=\"+a+\"\\nb=\"+b+\"\\nc=\"+c); } }

五、使用Java语言编写程序。(每小题10分,共20分)

1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

2、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。

复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有:

RealPart : int型,代表复数的实数部分 ImaginPart : int型,代表复数的虚数部分 (2) 复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。 Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

参及评分标准

一、单选择题(每小题2分,共10分) 1、B 2、A 3、D 4、C 5、A

二、填空题(每空格1分,共20分)

1、编辑源程序、编译生成字节码、解释运行字节码 2、Applet、MyApplet 3、javac.exe、3、 . class 4、2 、2 5、0

6、true 、 false

7、抽象(abstract)方法、最终(final)方法

8、package MyPackage ; 应该在程序第一句。 9、120 10、单、多

三、写出下列程序完成的功能。(每小题5分,共20分) 1、计算 1/1+1/2+1/3+...+1/100 的值。

2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 3、创建一个标题为\"按钮\"的窗框,窗框中显示有\"按下我\"字样的按钮。 4、求两个数的最大值。

四、写出下面程序的运行结果(每小题10分,共30分) 1、Hello! I love JAVA. 2、s = 180 3、a=60 b=20 c=30

五、使用Java语言编写程序。(每小题10分,共20分) 1、参考程序如下:

import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , n = 10 , max = 0 , min = 0 , temp = 0; try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); max = min = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ;

for ( i = 2 ; i <= n ; i ++ ) { try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); temp = Integer.parseInt(br.readLine( )); if (temp > max ) max=temp; if (temp < min) min=temp; } catch ( IOException e ) { } ; }

System.out.println(\"max=\"+max+\"\\nmin=\"+min); } }

复习题四

一、填空题

1、 Java提供“包”来管理类名空间。“包”实际上提供了一种___命名机制________和 可见性机制 。

2、使用 createScreenCapture() 方法可以复制屏幕的一个矩形区域。

3、 Final关键字修饰变量,则该变量____常量________。Final修饰方法,则该方法___不允许其子类覆盖________。Final修饰类,则该类___不会再被扩展_________。

5、Java程序分两种,_ Java Application _________和___Java Applet________。

6、 final 关键字表明一个对象或变量在初始化不能修改。

7、在Java语言中,___ RandomAccessFile________文件允许对文件内容的随机读写。

8、一个Java的图形用户界面的最基本组成部分是____组件(Component)___________。

二、判断题

1、在Java语言中,常量true、false、null都是使用小写。y

2、Package语句必须放在程序的第一句。y

3、因为Java不支持多继承,所以定义类时implements关键字后面只能说明一个接口名。N

4、我们把客观世界的实体称为问题空间的对象。N

5、一个Java类可以有多个父类。N

6、抽象类必须被继承。Y

7、在Java中声明变量时必须指定一个类型。Y

8、传统的结构化程序设计方法是产生60年代末开始的软件危机的原因。N

9、当通过实现Listener接口完成事件处理时,要同时实现该接口中的所有方法。

10、对多线程的支持是Java的一大特点。Y

三、选择题

1、信息资源放在Web服务器后,需要把它的地址告诉大家,这就是 b 的功能。 A.WWW B.URL C.BBS D.TCP/IP

2、以下关于Applet的生命周期方法的说法哪个是不正确的?( d ) A、init() B、start() C、stop() D、main()

3、如定义对象 StringBuffer ch = new StringBuffer(“Shanghai”) 则ch.length()=( ) A.7 B.8 C.9 D.23

4、AWT中的Canvas类在使用时必须被( d )。

A.载入 B.封装 C.继承 D.重载

5、Java语言中的super关键字是( c )

A.指向父类的指针 B.父类的标识符 C.对父类的引用 D.指向父类对象的指针

6、下列特点不属于Java语言的选项是( b )。

A.易用性 B.可视性 C.平台无关性 D.面向对象性

7、下列不属于面向对象特性的选项是( d )。

A.封装性 B.继承性 C.多态性 D.鲁棒性

8、在程序的运行过程中所发生的异常事件称为( b )。 A.意外 B.例外 C.事故 D.中断

9、高级数据要转换成低级数据,( c )转换。

A.不需要任何 B.需要一般类型 C.需要强制类型 D.随机处理

10、Java 的类属于( d )类型

A、字符数据 B、布尔数据 C、简单数据 D、复合数据

四、阅读程序,写出运行结果 1、

import java.awt.*; import java.applet.*;

public class tf extends Applet{ Image myimage; Public void init(){

Myimage=getImaga(getDocumentBase(),”ff13.jpg”);} Public void paint(Graphics g){

g.drawImage(myimage,0,0,myimage.getWidth(this)*3,myimage.getHeight(this)/2,this); } }

2、 class acss

{public static void main(Srting arg[]) {String s= “See how to sccess a String”;

String s=”I know the char at the specified index is a”; System.out.println(s.length()); System.out.println(s.charAt(5); System.out.println(s.indexOf(‘c’)); System.out.println(s.lindexOf(s,12)); char sub[]=new char[10]; s.getChar(4,10,sub,0); System.out.println(sub); } }

五、编写程序

1、编写程序,在坐标(10,10)处以原图形长度和宽度的一半显示lxtu.gif图像,假设该图像文件保存在Java程序所在的文件夹。

2、编写一个java应用程序,求分数序列1/2,2/3,3/5,5/8,8/13,13/21,„的前10项之和。 1

复习题五

一、 选择

1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?

A ArrayList myList=new Object();

B List myList=new ArrayList();

C ArrayList myList=new List();

D List myList=new List();

2.paint()方法使用哪种类型的参数?

A Graphics

B Graphics2D

C String

D Color

3.指出正确的表达式

A byte=128;

B Boolean=null;

C long l=0xfffL;

D double=0.9239d;

4.指出下列程序运行的结果 public class Example{

String str=new String(\"good\"); char[]ch={'a','b','c'};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.print(ex.str+\" and \"); Sytem.out.print(ex.ch); }

public void change(String str,char ch[]){ str=\"test ok\"; ch[0]='g'; } }

A good and abc

B good and gbc

C test ok and abc

D test ok and gbc

5.运行下列程序, 会产生什么结果

public class X extends Thread implements Runable{ public void run(){

System.out.println(\"this is run()\"); }

public static void main(String args[]) {

Thread t=new Thread(new X()); t.start(); } }

A 第一行会产生编译错误

B 第六行会产生编译错误

C 第六行会产生运行错误

D 程序会运行和启动

6.要从文件\" file.dat\"文件中读出第10个字节到变量C中,下列哪个方法适合?

A FileInputStream in=new FileInputStream(\"file.dat\"); in.skip(9); int c=in.read();

B FileInputStream in=new FileInputStream(\"file.dat\"); in.skip(10); int c=in.read();

C FileInputStream in=new FileInputStream(\"file.dat\"); int c=in.read();

D RandomAccessFile in=new RandomAccessFile(\"file.dat\"); in.skip(9); int c=in.readByte();

7.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?

A CardLayout

B FlowLayout

C BorderLayout

D GridLayout

8.给出下面代码: public class Person{

static int arr[] = new int[10]; public static void main(String a[]) {

System.out.println(arr[1]); } }

那个语句是正确的?

A 编译时将产生错误;

B 编译时正确,运行时将产生错误;

C 输出零;

D 输出空。

9.哪个关键字可以对对象加互斥锁?

A transient

B synchronized

C serialize

D static

10.下列哪些语句关于内存回收的说明是正确的?

A 程序员必须创建一个线程来释放内存;

B 内存回收程序负责释放无用内存

C 内存回收程序允许程序员直接释放内存

D 内存回收程序可以在指定的时间释放内存对象

11.下列代码哪几行会出错: 1) public void modify() { 2) int I, j, k; 3) I = 100;

4) while ( I > 0 ) { 5) j = I * 2;

6) System.out.println (\" The value of j is \" + j ); 7) k = k + 1; 8) I--; 9) } 10) }

A line 4

B line 6

C line 7

D line 8

重置 窗体底端

窗体顶端

二、多项选择

1.执行下列代码后,哪个结论是正确的 String[] s=new String[10];

A s[10] 为 \"\";

B s[9] 为 null;

C s[0] 为 未定义

D s.length 为10

2.下面的表达式哪个是正确的?

A String s=\"你好\";int i=3; s+=i;

B String s=\"你好\";int i=3; if(i==s){ s+=i};

C String s=\"你好\";int i=3; s=i+s;

D String s=\"你好\";int i=3; s=i+;

E. String s=null; int i=(s!=null)&&(s.length>0)?s.length():0;

3.选出合理的标识符

A _sys1_lll

B 2mail

C $change

D class

4.哪个布局管理器使用的是组件的最佳尺寸( preferred size)

A FlowLayout

B BorderLayout

C GridLayout

D CardLayout

E.GridBagLayout

5.下列哪个方法可用于创建一个可运行的类?

A public class X implements Runable{ public void run(){ ......} }

B public class X implements Thread{ public void run(){ ......} }

C public class X implements Thread{ public int run(){ ......} }

D public class X implements Runable{ protected void run(){ ......} }

E.public class X implements Thread{ public void run(){ ......} }

6.下面哪个方法可以在任何时候被任何线程调用?

A notify()

B wait()

C notifyAll()

D sleep()

E.yield()

F.synchronized(this)

7.构造BufferedInputStream的合适参数是哪个?

A BufferedInputStream

B BufferedOutputStream

C FileInputStream

D FileOuterStream

E. File

8.下列说法正确的是

A java.lang.Clonable是类

B java.lang.Runnable是接口

C Double对象在java.lang包中

D Double a=1.0是正确的java语句

9.指出正确的表达式

A double a=1.0;

B Double a=new Double(1.0);

C byte a = 340;

D Byte a = 120;

10.定义一个类名为\"MyClass.java\"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:

A private class MyClass extends Object

B class MyClass extends Object

C public class MyClass

D public class MyClass extends Object

11.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。

A public int add(int a)

B public void add(long a)

C public void add(int a,int b)

D public void add(float a)

12.如果下列的方法能够正常运行,在控制台上将显示什么? public void example(){ try{

unsafe();

System.out.println(\"Test1\"); }

catch(SafeException e)

{System.out.println(\"Test 2\");}

finally{System.out.println(\"Test 3\");} System.out.println(\"Test 4\"); }

A Test 1

B Test 2

C Test 3

D Test 4

13.下列哪些情况可以终止当前线程的运行?

A 抛出一个例外时。

B 当该线程调用sleep()方法时。

C 当创建一个新线程时。

D 当一个优先级高的线程进入就绪状态时。

重置 窗体底端

窗体顶端

三、 填空题

1.执行下列代码后的结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++;

2.

包包含了Collection的接口和类的API

3.main方法的声明格式包括

4.下列程序中构造了一个SET并且调用其方法add(),输出结果是 public class A{

public int hashCode(){return 1;}

public Boolean equals(Object b){return true}

public static void main(String args[]){ Set set=new HashSet(); set.add(new A()); set.add(new A()); set.add(new A());

System.out.println(set.size()); } }

5.下列程序的运行结果是 class A{ class Dog{

private String name; private int age; public int step; Dog(String s,int a) {

name=s; age=a; step=0; }

public void run(Dog fast) {

fast.step++; } }

public static void main (String args[]) {

A a=new A();

Dog d=a.new Dog(\"Tom\ d.step=25; d.run(d);

System.out.println(d.step); } }

重置 窗体底端

窗体顶端

四、 编程题

1.编写一个输出\"Hello World!\"的程序,用两种方式实现(Application、Applet)。

2.打印输出10行杨晖三角形

3.有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串\"plain\"的话,服务器仅将\"hello\"字符串返回给用户。否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为\"Memo.txt\"),并向用户返回\"OK\"。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。Server的程序如下文件Server.java: public class Server{

public static void main(String args[]){

MemoController memoController = new MemoController(); try{

ServerSocket ss = new ServerSocket(1999); while (true){

Socket s = ss.accept(); try{

UserThread t = new UserThread(s, memoController); t.start();

}catch(Exception e){ e.printStackTrace(); } }

}catch(Exception e){ e.printStackTrace(); }finally{

memoController.close(); } } }

类UserThread程序如下: 文件UserThread.java:

public class UserThread extends Thread{ Socket s;

MemoController memo;

public UserThread (Socket s, MemoController memo){ this.s = s; this.memo = memo; }

public void run(){ try{

BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));

PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream())); String req = br.readLine(); if (req.equals(\"plain\")){ pw.println(\"hello\"); }else{

memo.append(req); pw.println(\"OK\"); }

pw.flush(); pw.close(); br.close(); s.close(); }catch(Exception e){ e.printStackTrace(); } } }

请根据题目的要求和现有的Server.java, UserThread.java的程序完成类MemoController.java的程序。

4.用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点\"Done\"按钮来告诉系统整个列表已输入完毕。 如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。 格式如:555-1212,Tom 123-456-70,Peggy L. 234-5678,Marc 234-5678,Ron 876-4321,Beth&Brian 33.1.42.45.70,Jean-Marc

窗体底端

四、 编程题答案 1

public class HelloWorld {

public static void main(String args[]) {

System.out.println(\"Hello,World!\"); } }

import java.awt.Graphics; import java.applet.Applet;

public class HelloWorld extends Applet{ String s;

public void init(){ s=\"Hello World!\"; }

public void paint(Graphics g){ g.drawString(s,25,25); } } 2

class yanghui {

public static void main (String args[]) {

int i,j; int yhlevel=10; int yanghui[][];

System.out.println(\"杨晖三角形:\");

yanghui=new int[yhlevel][]; for(i=0;iyanghui[0][0]=1;

for (i=1; i{

yanghui[i][0]=1;

for(j=1;jyanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j]; yanghui[i][yanghui[i].length-1]=1; }

for (i=0; ifor(j=0;j输出结果是: 杨晖三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 3

import java.io.*;

public class MemoController{ FileOutputStream fos; OutputStreamWriter osw; BufferedWriter bw;

public MemoController(){ try{

fos=new FileOutputStream(\"memo.txt\ osw=new OutputStreamWriter(fos); bw=new BufferedWriter(osw); }catch(FileNotFoundException e){}; }

public synchronized void append(String s){ try{

bw.write(s,0,s.length()); bw.flush(); bw.close(); osw.close();

fos.close();

}catch(IOException e){} }

public static void main(String args[]){ MemoController mmc=new MemoController(); mmc.append(\"I am xubin \"); } } 4

import java.io.*; class Phones {

static FileOutputStream fos;

public static final int lineLength = 81;

public static void main(String args[]) throws IOException {

byte[] phone = new byte[lineLength]; byte[] name = new byte[lineLength]; int I; try {

fos = new FileOutputStream(\"phone.numbers\"); }

catch(FileNotFoundException e) { }

while (true) {

System.err.println(\"Enter a name (enter 'done' to quit)\"); readLine(name);

if (\"done\".equalsIgnoreCase(new String(name,0,0,4))) {

break; }

System.err.println(\"Enter the phone number\"); readLine(phone);

for (int i=0;phone[i]!= 0;i++) {

fos.write(phone[i]); }

fos.write(',');

for (int i=0;name[i]!= 0;i++) {

fos.write(name[i]); }

fos.write('\\n'); }

fos.close(); }

private static void readLine(byte line[]) throws IOException {

int i=0,b=0;

while ((iline[i++] = (byte)b; }

line[i]=(byte) 0; } }

复习题六

一、 判断题

1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。 4.类及其属性、方法可以同时有一个以上的修饰符来修饰。

5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。 7.Final类中的属性和方法都必须被final修饰符修饰。 8.最终类不能派生子类,最终方法不能被覆盖。 9.子类要调用父类的方法,必须使用super关键字。

10.一个Java类可以有多个父类。

11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。 12.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。

13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。 15.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。

16.使用方法length( )可以获得字符串或数组的长度。

17.设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象

s的内容为”Hello world!”,所以语句输出为

Hello world! 18.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。

19.所有的鼠标事件都由MouseListener监听接口的监听者来处理。 20.一个容器中可以混合使用多种布局策略。 21.Java中,并非每个事件类都只对应一个事件。

22.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。

23.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。 24.Java Applet是由的解释器程序来运行的。 25.Java Applet只能在图形界面下工作。 26.Java的字符类型采用的是ASCII编码。

27.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关 28.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 29.子类的域和方法的数目一定大于等于父类的域和方法的数目。 30.System类不能实例化,即不能创建System类的对象。

31.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能 32.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 33.Vector类中的对象不能是简单数据类型。 34.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。 35.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。

二、 选择题

1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( )

A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B. 可以被两种类访问和引用:该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问

2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是( ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问

4、下列关于修饰符混用的说法,错误的是( ) A. abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C. abstract方法必须在abstract类中 D. staic方法中能处理非static的属性

5、容器Panel和Applet缺省使用的布局编辑策略是( )

A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout 6、以下标识符中哪项是不合法的( ) A、 BigMeaninglessName B、$int C、1 st D、$1

7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )

A、 public static void main() B、public static void main(String[ ] args) C、 public static int main(String[ ] arg)D、public void main(String arg[ ]) 8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ) A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 9、以下代码段执行后的输出结果为( ) int x=3; int y=10;

System.out.println(y%x);

A、0 B、1 C、2 D、3 10、以下哪个表达式是不合法的( )

A、String x=”Hello”; int y=9; x+=y;

B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y;

D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0 11、编译运行以下程序后,关于输出结果的说明正确的是 ( ) public class Conditional{

public static void main(String args[ ]){ int x=4;

System.out.println(“value is “+ ((x>4) ? 99.9 :9));

} }

A、输出结果为:value is 99.99 B、输出结果为:value is 9 C、输出结果为:value is 9.0 D、编译错误

12、以下声明合法的是( )

A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 13、关于以下application的说明,正确的是( ) 1. class StaticStuff 2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ]) 6. {

7. System.out.println(“x=” + x); 8. }

9. static { x/=3;}

10. }

A、 4行与9行不能通过编译,因为缺少方法名和返回类型 B、 9行不能通过编译,因为只能有一个静态初始化器 C、 编译通过,执行结果为:x=5

D、 编译通过,执行结果为:x=3

14、关于以下程序代码的说明正确的是( ) 1. class HasStatic{

2. private static int x=100;

3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++;

6. HasStatic hs2=new HasStatic( ); 7. hs2.x++;

8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -;

11. System.out.println(“x=”+x); 12. }

13. }

A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、 程序通过编译,输出结果为:x=103 D、 程序通过编译,输出结果为:x=102

15、以下选项中循环结构合法的是( ) A、 while (int i<7) { i++;

System.out.println(“i is “+i); }

B、 int j=3;

while(j)

{ System.out.println(“ j is “+j); }

C、 int j=0;

for(int k=0; j + k !=10; j++,k++)

{ System.out.println(“ j is “+ j + “k is”+ k); }

D、 int j=0; do{

System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10);

16、类Test1定义如下:

1.public class Test1{

2. public float aMethod(float a,float b){ } 3. 4.}

将以下哪种方法插入行3是不合法的。( )

A、 public float aMethod(float a, float b,float c){ } B、 public float aMethod(float c,float d){ } C、 public int aMethod(int a, int b){ } D、 private float aMethod(int a,int b,int c){ } 17、类Test1、Test2定义如下: 1. public class Test1

2.{ public float aMethod(float a,float b) throws 3. IOException { }

4. }

5. public class Test2 extends Test1{

6.

7.}

将以下哪种方法插入行4是不合法的。( ) A、 float aMethod(float a,float b){ }

B、 public int aMethod(int a,int b)throws Exception{ } C、 public float aMethod(float p,float q){ }

D、 public int aMethod(int a,int b)throws IOException{ } 18、关于以下程序段,正确的说法是( ) 1. String s1=”abc”+”def”; 2. String s2=new String(s1); 3. if(s1= =s2)

4. System.out.println(“= = succeeded”); 5. if (s1.equals(s2))

6. System.out.println(“.equals() succeeded”); A、行4与行6都将执行 B、行4执行,行6不执行 C、行6执行,行4不执行 C、行4、行6都不执行 19、以下说法哪项是正确的( ) 1.class MyListener

2.extends MouseAdapter implements MouseListener{ 3. public void mouseEntered(MouseEvent mev) 4. { System.out.println(\"Mouse entered.\"); } 5. }

A、 以上代码可通过编译

B、 不能通过编译,因为没有实现MouseListener接口中的所有方法 C、 不能通过编译,因为类头定义不能分行

D、 能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常

20、关于以下程序段的说法,正确的是( )

1.class MyListener implements

2. ActionListener,ItemListener{

3. public void actionPerformed(ActionEvent ae){ 4. System.out.println(\"Action\");}

5. public void itemStateChanged(ItemEvent ie){ 6. System.out.println(\"Item\"); 7. }

8.}

A、 可通过编译 B、 第2行产生编译错误 C、 第3行产生编译错误 D、 第5行产生编译错误

21、通过调用 new List(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。( )

A、该列表不支持复选 B、该列表有10个选项

C、根据需要该列表可能有垂直滚动条 D、该列表支持10个可见选项 22、以下哪项可能包含菜单条( )

A、Panel B、Frame C、Applet D、Dialog 23、以下代码完成画线功能,指出所画线的颜色( ) 1.g.setColor(Color.red.green.yello.cyan); 2.g.drawLine(0,0,100,100);

A、red B、green C、yello D、cyan 24、关于以下代码所画图形的说明,正确的是( ) 1.g.setColor(Color.black); 2.g.drawLine(10,10,10,50); 3.g.setColor(Color.red);

4.g.drawRect(100,100,150,150);

A、 一条40像素长的垂直红线,一个边长为150像素的红色四方形 B、 一条40像素长的垂直黑线,一个边长为150像素的红色四方形 C、 一条50像素长的垂直黑线,一个边长为150像素的红色四方形 D、 一条50像素长的垂直红线,一个边长为150像素的红色四方形 三、 改错题

判断下面的程序片断是否正确。若有错,指出错在哪里并改正;若正确,打“√”。 1、class MyClass { int var=100; static int getVar() {

return var; }

}

2、public class MyClass {

int data;

void MyClass(int d)

{ data=d;} }

3、public class MyMain

{

public static void main(String args[ ]) { System.out.println(MyClass1.data);} }

class MyClass1 {

int data=10; }

4、class IamAbstract {

final int f;

double d;

abstract void method(); }

5、class parent {

private int mine; }

class child extends parent {

int getMine()

{ return mine; } }

6、class parent {

private int mine; int getMine( ) {

return mine; } }

class child extends parent {

int mine;

int getMine( )

{ return super.getMine; } }

7、 class AmIWrong {

int data1,data2; AmIWrong()

{ data1=-1; }

AmIWrong(int d) { data2=d; this(); }

}

8、interface MyInterface {

void method1(); }

abstract class Parent implements MyInterface {

}

class Child extends Parent {

void method1()

{

System.out.println(“I am implemented now!”); }

}

9、public static void main(String args[ ])

{

try{

char ch=(char)System.in.read(); . . .//其他语句

}

catch(Exception e) {

return; }

catch(IOException e) {

System.out.println(e.toString()); }

}

10、public class AmIWrong implements Runnable {

Thread mt=Thread(this); mt.start(); void run() {

System.out.println(“I am alive now”); } }

四、程序阅读

1、阅读以下程序,输出结果为 。 class Q1{

public static void main(String args[ ]){ double d=1.23; Dec dec=new Dec( ); dec.decrement(d); System.out.println(d); }

classs Dec{

public void decrement(double decMe){ decMe = decMe - 0.1; }

}

2、以下程序的输出结果为 。 public class Short{

public static void main(String args[ ]) { StringBuffer s = new StringBuffer(“Hello”);

if((s.length( )>5)&& (s.append(“there”) . equals(“False”))) ;

System.out.println(“value is ”+s); } }

3、以下程序段的输出结果为 。 int x=0,y=4, z=5; if ( x>2){

if (y<5){

System.out.println(“Message one”); }

else {

System.out.println(“Message two”); } }

else if(z>5){

System.out.println(“Message three”); }

else {

System.out.println(“Message four”);

}

4、以下程序段的输出结果为 。 int j=2;

switch ( j ) { case 2:

System.out.print(“Value is two.”); case 2+1 :

System.out.println(“Value is three.”); break;

default:

System.out.println(“value is “+j); break; }

5、 阅读以下程序段: class Parent

{

void printMe()

{

System.out.println(“parent”); } }

class Child extends Parent {

void printMe() {

System.out.println(“child”); }

void printAll() {

super.printMe();

this.printMe(); printMe(); } }

public class Test_this

{

public static void main(String args[ ]) {

Child myC=new Child(); myC.printAll(); }

}

输出结果为:

6、以下程序段的输出结果为 public class EqualsMethod {

public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1= =n2);

System.out.print(“,”); System.out.println(n1! =n2); } }

7、已有Bird类的定义如下: package abcde;

public class Bird {

protected static int referenceCount=0; public Bird(){referenceCount++;} protected void fly(){ }

static int getReCount(){return referenceCount;} }

有类Nightingale的定义如下,请写出它的输出结果 package singers;

class Nightingale extends abcde.Bird { Nightingale( ) { referenceCount++;}

public static void main( String args[ ]){ System.out.print(“Before:”+referenceCount); Nightingale florence=new Nightingale( ); System.out.println(“ After:”+referenceCount); florence.fly( ); }

}

8、以下程序段的输出结果为 。 class Cruncher{

void crunch( int i ){

System.out.println(“int version”); }

void crunch(String s){

System.out.println(“String version”); }

public static void main(String args[ ]){ Cruncher crun=new Cruncher ( ); char ch=’p’; crun.crunch(ch); } }

复习题七

1、给定如下JAVA 程序片断: class A{ public A(){ system.out.println(“A”); } } class B extends A{ public B(){System.out.println(“B”);} public static void main(String[] args){ B b=new B();} } 上述程序将( A).(选择一项) (原因是

system.out.println(“A”);第一个字母s是小写,改正之后答案输出结果为AB) A、不能通过编译

B、通过编译,输出为: A B C、通过编译,输出为: B D、通过编译,输出为: A

2、某一 java程序中有如下代码: Datalnputstream din=new DataInputstream(new BufferedInputstream (new FileInputstream(“employee.dat”) )); 假设在

employee.dat文件中只有如下一段字符:abcdefg。则:System.out.println(din)在屏幕上打印(A).(选择一项)(输出结果为java.io.DataInputStream@1a5ab41) A、A B、B C、97 D、98

3、给定java代码片段,如下: int i=0,j=-1; switch(i){ case 0,1:j=1; case 2:j=2; } System.out.print(\"j=\"+j); 编译运行,正确的是(A)。(选择一项)(0,1这样的写法不正确,还有无BREAK语句,所以修改0,1后,执行的答案永远是2,因为CASE语句中没有BREAK语句,所以必须执行完所有的CASE语句之后才打印结果) A、程序编译出错 B、j=1 C、j=2 D、j=0

4、在Java中,下面关于构造函数的描述正确的是(D)。(选择一项) A、类必须有显式构造函数 B、它的返回类型是void

C、它和类有相同的名称,但它不能带任何参数 D、以上皆非

5、在JAVA编程中,Swing包中的组件处理事件时,下面()是正确的。(选择一项) A、 Swing包中的组件也是采用事件的授权得理模型来处理事件的

B、 Swing包中组件产生的事件类型,也都带有一个J字母,如:JmouseEvent C、Swing包中的组件也可以采用事件的传递处理机制

D、 Swing包的组件所对应的事件适配器也是带有J字母的,如:JmouseAdapter 6、Public class EqTest { public static void main(String args[]){ EqTest e=new EqTest(); } EqTest(){ String s=\"Java\"; String s2=\"java\"; //在这儿放置测试代码 {System.out.println(\"相等\");} else {System.out.println(\"不相等\");} } } 在上面的Java代码的注释行位置,放置(C)测试代码能输出“相等”结果。(选择一项) A、if(s==s2) B、if(s.equals(s2))

C、if(s.equalsIgnoreCase(s2)) D、if(s.noCaseMatch(s2))

7、在类的说明符中,被指定为私有的数据可以被以下(C)访问。(选择一项) A、程序中的任何函数 B、其他类的成员函数 C、类中的成员函数 D、派生类中的成员函数

8、在JAVA编程中,以下(B)命令用来执行java类文件。(选择一项) A、javac

B、java

C、appletviewer

D、以上所有选项都不正确

9、Java中,下面的方法可以正确的创建一个Swing标签组件是()(选择两项) A、ImageIcon icon = new ImageIcon( B、ImageIcon icon = new ImageIcon( C、ImageIcon icon=new ImageIcon(

D、JLabel label=new JLabel(SwingConstants.LEFT); 10、分析下面的用Java语言编写的trythis()方法: public void

trythis(){ try{ System.out.print(\"a\"); problem(); }catch(RuntimeException e){ System.out.print(\"b\"); }catch(Exception

e){ System.out.print(\"c\"); }finally{ System.out.print(\"d\"); }

System.out.print(\"e\"); } 当该方法被调用时,如果其中的problem()方法引发一个RuntimeException类的异常,那么输出结果将是(B)。(选择一项) A、abcde B、abd C、abde D、abe

11、 public class MyClass1{ public static void main (String argv[]){} _____ class MyInner {} } 在以上java代码中的横线上,可放置(ABD)修饰符。(选择三项) A、public B、private C、static D、friend

12、public class test3{ public static void main(String args[]){ for{int

I=0;I<3;I++}{ for{int j=3; j>0;j--}{ If(I==j) continue;

System.out.print}n(“I=”+I+”j=”+j) } } } } 上面的JAVA代码编译运行后,下列选项中,()会出现在输出结果中,(选择三项) (ADE)(注解:I=0,j=3; I=0,j=2; I=0,j=1; I=1,j=3; I=1,j=2; I=2,j=3; I=2,j=1;) A、I=0 j=3 B、I=0 j=0 C、I=2 j=2 D、I=0 j=2 E、I=1 j=2

13、如下Java代码段,体现了(B)概念。(选择一项) ..... public void aMethod(String s){....} public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A、多继承 B、重载 C、重写 D、多态

14、java语言中,下列时处理输出操作的所有类的基础的是(B)(选择一个) A、DataOutput B、OutputStream

C、BufferedOutputStream D、IOStream

15、在jave中,类Worker是类Person的子类,Worker的构造方法中有一句”super()”, 该语句( C)。(选择一项)

A、a) 调用类Worker 中定义的super()方法 B、b) 调用类Person中定义的super()方法

C、c) 调用类Person的构造函数 D、d) 句法错误

16、在Java中,关于final关键字的说法正确的是(AC)。(选择两项) A、如果修饰变量,则一旦赋了值,就等同一个常量 B、如果修饰类,则该类只能被一个子类继承 C、如果修饰方法,则该方法不能在子类中被覆盖 D、如果修饰方法,则该方法所在的类不能被继承

17、在Java中,下列选项表示字符”a”值的是(B).(选择一项) A、'a' B、\"a\"

C、new Character(a) D、\\000a

18、给定java代码片段,如下: Integer a = new Integer(3); Integer b = new Integer(3); System.out.println(a==b); 运行后,这段代码将输出(B)。(选择一项) A、true B、false C、0 D、1

19、Java程序中读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为“something’s wrong!”,语句为(C)。(选择一项)

A、if (I>10) throw Exception(“something’s wrong!”); B、if (I>10) throw Exception e (“something’s wrong!”); C、if (I>10) throw new Exception(“something’s wrong!”); D、if (I>10) throw new Exception e (“something’s wrong!”);

20、42.给定两个java程序,如下:Text.java的编译运行结果是(). (选择一项) pubilc interface Face{ int count=40; } pubilc class Text implements Face{ private static int counter; pubilc static void

main(String[]args){ System.out.println(++counter); } } (C) A、40 B、41 C、0 D、1

21、39.给定一个Java程序代码,如下:运行编译后,输出结果是(). (选择一项) pubilc class Test{ int count = 9; pubilc void count1(){ int count = 10; SYstem.out.println(\"count1\"+count); } pubilc void

count2(){ SYstem.out.println(\"count2\"+count); } pubilc static void main(String args[]){ Test t =new Twst(); t.count1(); t.count2(); } } (B) A、count1=9 count2=9 B、count1=10 count2=9 C、count1=10 count2=10 D、count1=9 count2=10

22、37.给定java代码如下:要使用这段代码能够编译成功,横线处可以填入().(选择两项) pubilc int count(char c,int i,double d){ return______; } (B) A、c*i B、c*(int)d C、(int)c*d D、i*d

23、在 JAVA编程中,Java编译器会将Java程序转换为(A)。然后由解释器解释执行(选择一项) A、字节码 B、可执行代码 C、机器代码

D、以上所有选项都不正确

24、在J2EE中,下列元素经过排序的集合类是(D)。(选择一项) A、LinkedList B、Stack C、Hashtable D、TreeSet

25、9) 分析下面的Java程序: public class yy { public static void main(String[] ards) throws Exception { try { throw new Exception(); }catch(Exception

e){ System.out.println(\"Caught in main()\"); } System.out.println(\"nothing\"); } } 输出结果为(A)。(选择一项) A、Caught in main() nothing B、Caught in main() C、nothing D、没有任何输出

26、编译并运行下面的Java代码段: char c='a'; switch (c) { case 'a': System.out.println(\"a\"); default: System.out.println(\"default\"); } 输出结果是(B)。(选择一项)

A、代码无法编译,因为switch语句没有一个合法的表达式 B、a default C、a

D、default

27、在Java中,执行下面的语句后,c的值为()。(选择一项) String s= \"Jessica \"; char c=s.charAt(6); (D) A、null B、' ' C、'c ' D、'a '

28、在J2EE中,下面的代码中出现编译错误的是(D)。(选择一项) A、File f = new File(\"/\ B、DataInputStream din = new DataInputStream(new FileInputStream(\"autoexec.bat\"));

C、InputStreamReader in = new InputStreamReader(System.in); D、OutputStreamWriter out = new OutputStreamWriter(System.in);

29、38.在JavaSwing编程中,要获取每次选择的JComboBox对象的选项值,可以使用()类型的. (选择两项) A、ActionListener B、ltemListener C、KeyListener D、SelectionListener

30、在Java中,下面关于包的陈述中正确的是(AD)。(选择两项) A、包的声明必须是源文件的第一句代码(除注释以外的第一行程序代码) B、包的声明必须紧跟在import语句的后面 C、只有公共类才能放在包中

D、可以将多个源文件中的类放在同一个包中

31、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(D )关键

字。(选择一项) A、不需要任何关键字 B、private C、final D、protected

32、包pack1的类class1中有成员方法: protected void method_1(){„}, private void method_2(){„}, public void method_3(){„}和void method_4(){„},在包pack2中的类class2是class1的子类,你在class2中可以调用方法(AC)。(选择两项) A、method_1 B、method_2 C、method_3 D、method_4

33、在Java语言中,小明在他的包mypackage中定义了类My_Class,在mypackage的子包mysubpackage中也有个类My_Class。小明用.import mypackage:引入包,执行其中的语句:My_Class NewClass=New My_Class();时,将发生()。(选择一项) A、创建一个类mypackage.My_Class对象

B、创建一个类mypackage. Mysubpackage.My_Class的对象 C、该语句是错误的

D、创建一个类mypackage.My_Class的对象和一个类mypackage. Mysubpackage.My_Class的对象

34、41.在JavaSwing编程中,给定一个java程序main方法的代码片段如下: JFrame jf=new JFrame(); jf.getContentpane().setLayout(null); jf.setSize(200,200); jf.setVisible(true); //a 要在界面上显示如下组件,则应在A处填入(). (选择一项) A、JTextArea text = text

JTextArea(100,100);text.setBounds(10,10,150,100);jf.getContentpane().add(text);

B、JTextField text = text JTextField(100,100);JScrollpane text=new JScrollpane(text);jf.setBounds(10,10,150,100);jf.getContentpane().add(jp); C、JTextArea text = new JTextArea(100,1);JScrollpane jp=new

JScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane().add(jp); D、JTextArea text = new JTextArea(100,100);JScrollpane jp=new

JScrollpane(text);jp.setBounds(10,10,150,100);jf.getContentpane().add(jp); 35、在JAVA语言中,你的按钮要实现下面的功能:当鼠标按下按钮时,显示“鼠标已按下”;当释放按键时,显示“鼠标已释放”。你必须具体定义接口MouseListener的(DE)方法。(选择两项) A、mouseClicked B、mouseEntered C、mouseExited D、mousePressed E、mouseReleaseed

36、JAVA中,为了辨别用户关闭窗口的时间,要实现接口(D)。(选择一项) A、MouseListener B、ActionListener C、WindowListener D、以上都要

37、在Java语言中,当一个类的某个变量声明为protected时下列说法正确的是(D)。(选择两项)

A、只有同一类中的成员才能访问它 B、不同包中的任何其他类都能够访问它 C、同包中的任何其他类能够访问它 D、不同包中的子类可以访问该变量

38、在Java事件处理模型中,当按下鼠标按钮时,处理(C)事件。(选择一项) A、mouseReleased B、mouseExited C、mousePressed D、mouseDown

39、 String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String(\"0\"); 上面是JAVA程序的一些声明,以下选项中能够通过编译的是()。(选择一项) (A) A、a) s3=s1+s2 B、b) s3=s1&s2 C、c) s3=s1||s2 D、d) s3=s1&&s2

40、在Java中,调用Math.random() 方法可能返回的结果是(B)。(选择一项) A、132.34 B、0.342 C、29.34E10 D、1.0009

41、在Java语言中,Panel默认的布局管理器是(A)。(选择一项) A、BorderLayout B、FlowLayout C、GridLayout D、GridBagLayout

42、public class MyClass1 { public static void main(String argv[]){} ______class MyInner{} } 在以上Java代码的横线上,可放置(AD)修饰符。(选择两项) A、public

B、private C、implements D、friend

43、在java中,下列赋值语句正确的是(AB)。(选择二项) A、char c='a'; B、char c=\"a\"; C、char c=97;

D、char c=new Character('a');

44、与传统的过程编程不同,面向对象方法的主要思想是(BD)。(选择两项) A、真实反映用户的实际需求

B、将现实世界的一切抽象为实体或对象 C、将现实世界细分为一个过程化实现

D、将软件组织成为对象的集合,将数据结构和行为结合在一起

45、在Java中,根据你的理解,下列方法(ABD)可能是类Orange的构造方法。(选择3项)

A、Orange(){„} B、Orange(„){„} C、Public void Orange(){„} D、Public Orange(){„}

E、Public Orange Constuctor(){„}

46、在Java中,()借口位于集合框架的顶层.(C)(选择一项) A、Map B、Collection C、Set D、List

47、给定某java程序片段,如下: int i=1; int j=i++; if((i>++j)&&(i++==j)) i+=j; System.out.println(i); 该程序运行后,i的输出结果为(B)。(选择一项) A、1 B、2 C、3 D、4

48、在Java中,假设我们有一个实现ActionListener接口的类,以下方法中()能够为一个Button类注册这个类。(B)(选择一项) A、addListener() B、addActionListener() C、addButtonListener() D、setListener()

49、44.在JAVA中的布局管理器,以下说法中错误的是(D). (选择一项) A、FlowLayout以由上到下的方式从左到右排列组件

B、BorderLayout使用 \"东\".\"西\".\"南\".\"北\居中\"来指定组件的位置 C、GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整 D、可以通过容器的setLayout方法为容器指定布局管理

50、研究下面的Java代码: public class testException{ public static void main(String args[]){ int n[]={0,1,2,3,4}; int sum=0; try { for(int i=1;i<6;i++) sum=sum+n[i]; System.out.println(\"sum=\"+sum); }

catch(ArrayIndexOutOfBoundsExpception e) { System.out.println(\"数组越界\"); } finally{System.out.println(\"程序结束\");} } } 输出结果将是(C)。(选择一项) A、10 数组越界程序结束 B、10 程序结束

C、数组越界程序结束 D、程序结束

.STRUTS的工作原理是什么 答:不知道

2.列举几个SQL server中的关键字 答:select by as from order update 3.实现线程有几个方法?用1到2个实现一下 答:方法一:定义一个类实现Runable接口 class NewThread implements Runnable {

Thread t;

NewThread(String name) {

t=new Thread(this,name);//创建一个新的线程Demo Thread

System.out.println(\"Child thread: \"+t); t.start();//启动线程 }

public void run()//实现Runnable接口中定义的run()方法 { 。。。。 } }

方法二:从Thread继承一个子类,在该类中重载方法run() class Test extends Thread{ Test(){ }

public static void main(String[] args){ Thread t=new Test(); t.start(); }

public void run(){

System.out.println(\"start\"); } }

4.写个程序如:yy:mm:dd:时:分:秒 String dString = null; Date d = new Date();

dString = DateFormat.getDateTimeInstance().format(d); 5.在当前目录下写个hello.txt.并用程序输出里面的内容 import java.io.*; class Demo {

public static void main(String args[]) { try {

byte buffer[] = new byte[];

FileInputStream filein =new FileInputStream(\"hello.txt\"); int bytes = filein.read(buffer); String s = new String(buffer,0,bytes); System.out.println(s); }

catch(Exception e) {

System.out.println(\"there is Exception be caught!\"); } } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务