java 变成题_Java试题

本文是一份Java编程试题集,涵盖了选择题、多项选择题、填空题和编程题,涉及ArrayList、Graphics、数据类型、内存管理、线程、布局管理器、文件操作等多个核心知识点,旨在检验和提升Java开发者的基础技能。
摘要由CSDN通过智能技术生成

一、 选择

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

A ArrayList myList=new Object();

B List myList=new ArrayList();

C ArrayList myList=new List();

D List myList=new List();

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

A Graphics

B Graphics2D

C String

D Color

3.指出正确的表达式 C

A byte=128;

B Boolean=null;

C long l=0xfffL;

D double=0.9239d;

4.指出下列程序运行的结果 B

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.运行下列程序, 会产生什么结果 A

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

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.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? B

A CardLayout

B FlowLayout

C BorderLayout

D GridLayout

8.给出下面代码: C

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.哪个关键字可以对对象加互斥锁? B

A transient

B synchronized

C serialize

D static

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

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

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

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

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

11.下列代码哪几行会出错: C

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]; BD

A s[10] 为 "";

B s[9] 为 null;

C s[0] 为 未定义

D s.length 为10

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

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.选出合理的标识符 AC

A _sys1_lll

B 2mail

C $change

D class

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

A FlowLayout

B BorderLayout

C GridLayout

D CardLayout

E.GridBagLayout

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

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.下面哪个方法可以在任何时候被任何线程调用? DEF

A notify()

B wait()

C notifyAll()

D sleep()

E.yield()

F.synchronized(this)

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

A BufferedInputStream

B BufferedOutputStream

C FileInputStream

D FileOuterStream

E. File

8.下列说法正确的是 BC

A java.lang.Clonable是类

B java.lang.Runnable是接口

C Double对象在java.lang包中

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

9.指出正确的表达式 AB

A double a=1.0;

B Double a=new Double(1.0);

C byte a = 340;

D Byte a = 120;

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

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){}为合理的重载方法。 CD

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.如果下列的方法能够正常运行,在控制台上将显示什么? ACD

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.下列哪些情况可以终止当前线程的运行? ABD

A 抛出一个例外时。

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

C 当创建一个新线程时。

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

三、 填空题

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

2. java.util

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

3.main方法的声明格式包括 :  (public )(static )(void)(main)(String args[])

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());

}

}

1

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",3);

d.step=25;

d.run(d);

System.out.println(d.step);

}

}

26

四、 编程题

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

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.打印输出10行杨晖三角形

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;i

yanghui[i]=new int[i+1];

yanghui[0][0]=1;

for (i=1; i

{

yanghui[i][0]=1;

for(j=1;j

yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];

yanghui[i][yanghui[i].length-1]=1;

}

for (i=0; i

{

for(j=0;j

System.out.print(yanghui[i][j]+" ");

System.out.println();

}

}

}

输出结果是:

杨晖三角形:

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.有下面一段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的程序。

import java.io.*;

public class MemoController{

FileOutputStream fos;

OutputStreamWriter osw;

BufferedWriter bw;

public MemoController(){

try{

fos=new FileOutputStream("memo.txt",true);

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

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 ((i

{

line[i++] = (byte)b;

}

line[i]=(byte) 0;

}

}

(难度系数:3)

[正确答案]

一、 选择题答案

B     A    C   B   A    A    B    C     B    B   C

二、多项选择题答案

多项选择第1题 BD

多项选择第2题 AE

多项选择第3题 AC

多项选择第4题 AE

多项选择第5题 AE

多项选择第6题 DEF

多项选择第7题 AC

多项选择第8题 BC

多项选择第9题 AB

多项选择第10题 CD

多项选择第11题 CD

多项选择第12题 ACD

多项选择第13题 ABD

三、 填空题答案

填空第1题   x=10,a=3,b=4,c=5

填空第2题  java.util

填空第3题  (public )(static )(void)(main)(String args[])

填空第4题  1

填空第5题  26

四、 编程题答案

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;i

yanghui[i]=new int[i+1];

yanghui[0][0]=1;

for (i=1; i

{

yanghui[i][0]=1;

for(j=1;j

yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];

yanghui[i][yanghui[i].length-1]=1;

}

for (i=0; i

{

for(j=0;j

System.out.print(yanghui[i][j]+" ");

System.out.println();

}

}

}

输出结果是:

杨晖三角形:

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",true);

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 ((i

{

line[i++] = (byte)b;

}

line[i]=(byte) 0;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值