Java基础练习题 考试题 笔试题 面试题 (4)

十、Applet编程

1)所有变量初始化、对象创建、参数设置等可以安排在Applet的什么方法内完成.

Ainit B. start C. stop D. 以上都不是

2)一个部件重绘时,方法调用按下面哪个次序?

A.直接调用 paint()

B.调用update ,而update会调用 paint()

C.调用repaint(),由它调用update(), update 再调用 paint()

D. 调用 repaint(),它将直接调用 paint

3 java.awt.Graphics 类的哪个方法可绘制填充矩形?

AfillRect() BdrawRect() CfillOval()

DdrawPolygon() EdrawLine()

4 下列哪个方法不属于播放声音的方法?

A loop() B. stop() C. start() D. play()

5) Applet画面的左上角至右下角画一条直线,则//draw处应如何选择?

import java.awt.*;

import java.applet.*;

public class myApplet extends Applet {

public void paint(Graphics g) {

//draw

}

}

A. g.drawLine(0,0,getHeight(),getWidth());

B. g.drawLine(0,getWidth(),0,getHeight());

C. g.drawLine(0,getWidth(),getHeight(),0);

D. g.drawLine(getWidth(),getHeight(),0,0);

6) 下列说法错误的一项是?

AgetDocumentBase()用于获取包含AppletHTML文件的URL

BgetCodeBase()用于获取Applet主类的URL

CgetParameterString name)用于获取<PARAM>标记中的参数值

D.若指定参数在HTML中没有说明,则Applet将停止运行。

7) 下列说法错误的一项是?

AgetImage()方法无论图像是否存在,都立即返回

BgetImage()方法调用图像的时候,一直等图像加载完毕才返回

C.使用getImage()方法时,只有图像真正需要绘制时,数据才真正加载。

D.由于网络带宽的限制,图像的显示过程可能会很慢。

8)在HTML文件中通过什么标记嵌入Applet

A. <APPLET> B. <CODE> C. <CODEBASE> D. <PARAM>

十一、图形用户界面编程

1 一个部件在水平方向会改变大小,但垂直方向不变,则放到什么位置。

ABorderLayout 布局的North South位置

BFlowLayout 布局的第一个部件

CBorderLayout 布局的East West位置

DBorderLayout 布局的Center位置

EGridLayout布局中

2)以下AWT类中哪些实现部件的布局?

ALayoutManager

BGridBagLayout

CActionListener

DWindowAdapter

EFlowLayout

3 容器的add( Component comp ) add( String name, Component comp ) 方法在加入什么部件时将抛出IllegalArgumentException

AButton BList CWindow DTextArea

E.包含这个容器的容器

4 设有以下程序:

import java.awt.*;

public class FlowAp extends Frame{

public static void main(String argv[]){

FlowAp fa=new FlowAp();

fa.setSize(400,300);

fa.setVisible(true);

}

FlowAp(){

add(new Button("One"));

add(new Button("Two"));

add(new Button("Three"));

add(new Button("Four"));

}

}

以下哪个描绘了应用的外观?

A.窗体每边有4个标记为One Four的按钮

B.从顶到底有安排有4个标记为One Four的按钮

C.一个很大的标记为 Four的按钮在正中央

D.运行时指示没有设置布局管理器的错误

5) 如何设置当前的布局管理器

A.使用 setLayout 方法

B.一旦创建了部件,不能改变部件的布局管理器。

C.使用setLayoutManager 方法

D.使用updateLayout 方法

6) 以下代码运行后外观为?

import java.awt.*;

public class CompLay extends Frame{

public static void main(String argv[]){

CompLay cl = new CompLay();

}

CompLay(){

Panel p = new Panel();

p.setBackground(Color.pink);

p.add(new Button("One"));

p.add(new Button("Two"));

p.add(new Button("Three"));

add("South",p);

setLayout(new FlowLayout());

setSize(300,300);

setVisible(true);

}

}

A.按钮按从左向右的次序出现在窗体的底部

B.按钮按从左向右的次序出现在窗体的顶部

C.按钮将不显示

D.只有一个按钮显示占满整个窗体

7) 以下程序调试结果为

//演示事件处理

import java.awt.*;

import java.awt.event.*;

public class MyWc extends Frame implements WindowListener{

public static void main(String argv[]){

MyWc mwc = new MyWc();

}

public void windowClosing(WindowEvent we){

System.exit(0);

}

public void MyWc(){

setSize(300,300);

setVisible(true);

}

}

A.编译错误

B.创建的窗体会关闭掉

C.运行无输出

D.编译错误,import语句前不能有注释语句

8) 以下叙述正确的有?

A.如果一个部件注册多个监听者,事件只会被最后一个监听者处理。

B.如果一个部件注册多个监听者,事件将被所有监听者处理。

C.一个部件注册多个监听者将导致编译出错。

D.可以将一个部件已注册的监听者移去。

9) 以下哪个是正确的事件处理方法

AmousePressed(MouseEvent e){}

BMousePressed(MouseClick e){}

CfunctionKey(KeyPress k){}

DcomponentAdded(ContainerEvent e){}

10) 关于JDK 1.1的事件处理以下那条为真?

A.一个类可以实现多个监听者接口;

B.如果一个类实现一个监听者接口,它只要覆盖其用到的方法;

CMouseMotionAdapter类的所有方法返回类型均为void

11) 以下哪个是MenuItem类的方法?

AsetVisible( boolean b )

BsetEnabled( boolean b )

CgetSize()

DsetForeground( Color c )

EsetBackground( Color c )

12)以下类中,哪个类的子类不能直接创建实例?

APanel BDialog CContainer DFrame

十二、异常处理

1)以下程序发生什么异常?

class A {

int x;

public static void main {

A x;

System.out.println(x.x);

}

}

A IOException

B. InterruptException

C. NullPointerException

D. DataFormatException

2)设有如下方法:

public void test() {

try {

oneMethod();

System.out.println("condition 1");

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("condition 2");

} catch(Exception e) {

System.out.println("condition 3");

} finally {

System.out.println("finally");

}

}

如果oneMethod正常运行,则输出结果中有哪些?

A. condition 1

B. condition 2

C. condition 3

D. finally

3 设有如下代码:

public void fun () {

int i;

try

{

i=System.in.read ();

System.out.println("Location 1");

} catch (IOException e) {

System.out.println("Location 2");

} finally {

System.out.println("Location 3");

}

System.out.println("Location 4");

}

如果有一个IOException发生, 则输出有哪些?

A. Location 1

B. Location 2

C. Location 3

D. Location 4

4 设有如下代码:

1 String s = null;

2 if ( s != null & s.length() > 0)

3 System.out.println("s != null & s.length() > 0");

4 if ( s != null && s.length() > 0)

5 System.out.println("s != null & s.length() > 0");

6 if ( s != null || s.length() > 0)

7 System.out.println("s != null & s.length() > 0");

8 if ( s != null | s.length() > 0)

9 System.out.println("s != null | s.length() > 0");

以下行中哪些会产生空指针异常。

A. 2,4

B. 6,8

C. 2,4,6,8

D. 2,6,8

5 Test1Test2定义如下:

1public class Test1 {

2 public float aMethodfloat afloat b throws IOException {

3 }

4 }

5 public class Test2 extends Test1{

6

7 }

将以下哪种方法插入行6是不合法的。

Afloat aMethodfloat afloat b{ }

Bpublic int aMethodint aint bthrows Exception{ }

Cpublic float aMethodfloat pfloat q{ }

Dpublic int aMethodint aint bthrows IOException{ }

6)设有如下代码:

try {

tryThis();

return;

} catch (IOException x1) {

System.out.println("exception 1");

return;

} catch (Exception x2) {

System.out.println("exception 2");

return;

} finally {

System.out.println("finally");

}

如果tryThis() 抛出 NumberFormatException,则输出结果是?

A. 无输出

B. "exception 1", 后跟 "finally"

C. "exception 2", 后跟 "finally"

D. "exception 1"

E. "exception 2"

你可能感兴趣的:(java基础)