admin 管理员组

文章数量: 887039


2024年1月17日发(作者:vbs代码软件)

一、Java语言概述

1.创建一个名为HelloWorldApp的java application,在屏幕上简单的显示一句话"Hello World!"。

2.创建一个名为HelloWorldApplet的java applet,在窗口中显示"Hello World!",同时需要编写文件。

3.编写一个名为PrintArguments的程序,打印从命令行中获取的四个参数。例如在命令行中输入"java

PrintArguments 10 20 30 40"时,将打印出"10 20 30 40"。

4.查阅标准类库帮助文档,熟悉类Applet的父类、构造方法、成员方法和成员变量。

5.以第4题的程序为基础,加入注释文档,并利用javadoc命令,生成帮助文档,并用浏览器进行浏览。

二、Java语言基础知识

一、 选择

1、下面哪些是java语言中的关键字?

A sizeof

B abstract

C NULL

D Native

2、下面语句哪个是正确的?

A char='abc';

B long l=oxfff;

C float f=0.23;

D double=0.7E-3;

3、以下程序测试String 类的各种构造方法,试选出其运行效果。

class STR{

public static void main(String args[]){

String s1=new String();

String s2=new String("String 2");

char chars[]={'a',' ','s','t','r','i','n','g'};

String s3=new String(chars);

String s4=new String(chars,2,6);

byte bytes[]={0,1,2,3,4,5,6,7,8,9};

StringBuffer sb=new StringBuffer(s3);

String s5=new String(sb);

n("The String No.1 is "+s1);

n("The String No.2 is "+s2);

n("The String No.3 is "+s3);

n("The String No.4 is "+s4);

n("The String No.5 is "+s5);

}

}

A The String No.1 is

The String No.2 is String 2

The String No.3 is a string

The String No.4 is string

The String No.5 is a string

B The String No.1 is

The String No.2 is String 2

The String No.3 is a string

The String No.4 is tring

The String No.5 is a string

C The String No.1 is

The String No.2 is String 2

The String No.3 is a string

The String No.4 is strin

The String No.5 is a string

D 以上都不对

4、下面语句段的输出结果是什么?

int i = 9;

switch (i) {

default:

n("default");

case 0:

n("zero");

break;

case 1:

n("one");

case 2:

n("two"); }

A default

B default, zero

C error default clause not defined

D no output displayed

二、多项选择

1、下面哪些语句能够正确地生成5个空字符串?

A String a[]=new String[5]; for(int i=0;i<5;a[++]="");

B String a[]={"","","","",""};

C String a[5];

D String[5]a;

E String []a=new String[5]; for( int i=0;i<5;a[i++]=null);

2、下面哪些选项将是下述程序的输出?

public class Outer{

public static void main(String args[]){

Outer: for(int i=0; i<3; i++)

inner:for(int j=0;j<3;j++){

if(j>1) break;

n(j+"and"+i);

}

}

}

A 0 and 0

B 0 and 1

C 0 and 2

D 0 and 3

E 2 and 2

F 2 and 1

G 2 and 0

3、下面哪个语句正确地声明一个整型的二维数组?

A int a[][] = new int[][];

B int a[10][10] = new int[][];

C int a[][] = new int[10][10];

D int [][]a = new int[10][10];

E int []a[] = new int[10][10];

三、 编程题

1、编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行从大到小的排序。

三、Java语言中的面向对象特性

一、 选择

1、有关类Demo,哪句描述是正确的?

public class Demo extends Base{

private int count;

public Demo(){

n("A Demo object has been created");

}

protected void addOne() {count++; }

}

A 当创建一个Demo类的实例对象时,count的值为0。

B 当创建一个Demo类的实例对象时,count的值是不确定的。

C 超类对象中可以包含改变count 值的方法。

D Demo的子类对象可以访问count。

2、当编译和运行下列程序段时,会发生什么?

class Base {}

class Sub extends Base {}

class Sub2 extends Base {}

public class CEx{

public static void main(String argv[]){

Base b = new Base();

Sub s = (Sub) b;

}

}

A 通过编译和并正常运行。

B 编译时出现例外。C 编译通过,运行时出现例外。

3、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?

A public

B private

C protected

D transient

4、下面的哪个选项是正确的?

class ExSuper{

String name;

String nick_name;

public ExSuper(String s,String t){

name = s;

nick_name = t;

}

public String toString(){

return name;

}

}

public class Example extends ExSuper{

public Example(String s,String t){

super(s,t);

}

public String toString(){

return name +"a.k.a"+nick_name;

}

public static void main(String args[]){

ExSuper a = new ExSuper("First","1st");

ExSuper b = new Example("Second","2nd");

n("a is"+ng());

n("b is"+ng());

}

}A 编译时会出现例外。

B 运行结果为:

a is First

b is second

C 运行结果为:

a is First

b is Secong a.k.a 2nd

D 运行结果为:

a is First a.k.a 1nd

b is Second a.k.a 2nd

5、运行下列程序的结果是哪个?

abstract class MineBase {

abstract void amethod();

static int i;

}

public class Mine extends MineBase

{

public static void main(String argv[]){

int[] ar = new int[5];

for(i = 0;i < ;i++)

n(ar[i]);

}

}

A 打印5个0。

B 编译出错,数组ar[]必须初始化。

C 编译出错, Mine应声明为abstract。

D 出现IndexOutOfBoundes的例外。

二、多项选择

1、下面哪个语句是正确的?

A Object o = new Button("A");

B Button b=new Object("B");

C Panel p = new Frame();

D Frame f = new Panel();

E Panel p = new Panel();

2、指出下列程序的所有错误?

final class First {

private int a = 1;

int b = 2;

}

class Second extends First {

public void method() {

n(a + b);

}

}

A println()参数应为字符串,因此此处不能调用该方法。

B 因为变量a 是private ,所以在其他类中不能访问a。

C Second 不能继承First。

D 关键字final不能修饰类。

3、接口A的定义如下,指出下列哪些类实现了该接口?

interface A {

int method1(int i);

int method2(int j);

}

A class B implements A {

int method1() { }

int method2() {

}

}

B class B {

int method1(int i) { }

int method2(int j) { }

}

C class B implements A {

int method1(int i) { }

int method2(int j) { }

}

D class B extends A {

int method1(int i) { }

int method2(int j) { }

}

E class B implements A {

int method2(int j) { }

int method1(int i) { }

}

三、 编程题

四、Java的例外处理

、 选择

1、请问所有的例外类皆继承哪一个类?

A ion

B ble

C ion

D

2、下面程序段的执行结果是什么?

public class Foo{

public static void main(String[] args){

try{

return;}

finally{n("Finally");

}

}

}

A 程序正常运行,但不输出任何结果。

B 程序正常运行,并输出 "Finally"。

C 编译能通过,但运行时会出现一个例外。

D 因为没有catch语句块,所以不能通过编译。

3、下列程序中,在X处应加入哪条语句,程序才能通过编译并正常运行?

//X

public class Foo{

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

PrintWriter out = new PrintWriter(new

StreamWriter(),true);

n("Hello");

}

}

A import riter;

B include riter;

C import Streamwriter;

D include StreamWriter;

4、下列哪个语句可以正确地创建一个RandomAccessFile的实例?

A RandomAccessFile("data", "r");

B RandomAccessFile("r", "data");

C RandomAccessFile("data", "read");

D RandomAccessFile("read", "data");

二、多项选择

1、下面的方法是一个不完整的方法,其中的方法unsafe()会抛出一个IOException,那么在方法的1)处应加入哪条语句,才能使这个不完整的方法成为一个完整的方法?

1)

2) { if(unsafe()){//do something…}

3) else if(safe()){//do the other…}

4) }

A public IOException methodName()

B public void methodName()

C public void methodName() throw IOException

D public void methodName() throws IOException

void methodName() throws Exception

2、如果下列的方法能够正常运行,在控制台上将显示什么?

public void example(){

try{

unsafe();

n("Test1");

}

catch(SafeException e)

{n("Test 2");}

finally{n("Test 3");}

n("Test 4");

}

A Test 1

B Test 2

C Test 3

D Test 4

3、下面哪个语句能够正确地创建一个InputStreamReader的实例?

A new InputStreamReader(new FileInputStream("data"));

B new InputStreamReader(new FileReader("data"));

C new InputStreamReader(new BufferedReader("data"));

D new InputStreamReader("data");

E new InputStreamReader();

五、AWT图形用户界面设计

一、 选择

1、按钮可以产生ActionEvent事件,实现哪个接口可处理此事件?

A FocusListener

B ComponentListener

C WindowListener

D ActionListener

二、多项选择

1、实现下列哪个接口可以对TextField对象的事件进行监听和处理?

A ActionListener

B FocusListener

CMouseMotionListener

D WindowListener

E ContainerListener

2、TextArea对象可以注册下列哪些接口?

A TextListener

B ActionListener

C MouseMotionListener

D MouseListener

E ComponentListener

三、 填空题

1、传递给实现了otionListener接口的类中mouseDragged()方法的事件对象是

类型的。

2、当用户在TextField中输入一行文字后,按回车,实现 接口可实现对事件的响应。

四、程序填空题

1、 import .*;

import .*;

public class MyApplet extends {

public void init() {

Button b = new Button("Button1");

seListener(new ClickHandler());

add(b);

}

class ClickHandler extends MouseAdapter {

public void mouseClicked(MouseEvent evt) {

}

}

}

六、Java的线程和Java Applet

一、 选择

1、以下哪个不是线程的组成部分?

A 处理器 B 代码 C 数据D 显示器

二、多项选择

1、关于Applet,下面的哪几条是正确的?

A Applet可以直接用java解释器执行

B Applet可以在浏览器中执行

C Applet就是一个Application,Application包含Applet

D Applet也可以是一个Application

2、下面哪几个方法是Applet包含的?

A start()

B drawString(String s, int x, int y)

C repaint()

D destroy()

3、关于Applet的生命周期正确的说法有

A init方法在start方法之前执行

B init方法在start方法之后执行

C stop在Applet退出时被调用,只调用一次

D stop在Applet 不可见时被调用,可以被调用多次

4、关于Runnable接口,正确的说法是

A 实现了Runnable接口就可以用start方法启动

B Runable接口提供了通过线程执行程序的最基本的接口

C Thread类实现了Runnable接口

D Runnable只定义了一个run方法

5、下面说法正确的是

A Java中线程是抢占式的

B Java中线程是分时的

C Java中的线程可以共享数据

D Java中的线程可以共享代码

6、下面属于Java线程同步方法的方法有

A join

B run

C wait

D destroy

7、下面哪几个方法是过时的?

A stop

B resume

C yield

D start

三、 编程题

1、 创建两个线程,每个线程打印出线程名字后再睡眠,给其它线程以执行的机会,主线程也要打印出线程名字后再睡眠,每个线程前后共睡眠5次。要求分别采用从Thread中继承和实现Runnable接口两种方式来实现程序。(即写两个程序)

2、 编写三个线程分别显示各自的运行时间,第一个线程每隔1秒钟运行一次,第二个线程每隔5秒钟运行一次,第三个线程每隔10秒钟运行一次。如下图所示:


本文标签: 线程 运行 方法 程序