文档库 最新最全的文档下载
当前位置:文档库 › java复习题补全答案

java复习题补全答案

java复习题补全答案
java复习题补全答案

一、选择题:

1.运行Java程序需要的工具软件所在的目录是。

A.JDK的bin目录 B.JDK的demo目录

C.JDK的lib目录 D.JDK的jre目录

2.下列关于Java语言特点的叙述中,错误的是。

A.Java是面向过程的编程语言 B.Java支持分布式计算

C.Java是跨平台的编程语言 D.Java支持多线程

3. Java的核心包中,提供编程应用的基本类的包是。

A.https://www.wendangku.net/doc/ac2142262.html,ng B.java.util C.java.applet D.java.rmi

4.下列关于Java对import语句规定的叙述中,错误的是。

A.在Java程序中import语句可以有多个

B.在Java程序中import语句可以没有

C.在Java程序中import语句必须有一个

D.在Java程序中import语句引入在所有类定义之前

5.在编译Java程序时,用于指定生成.class文件位置的选项是。

A.-g B.-d C.-verbose D.-vonarn

6.下列关于构造方法的叙述中,错误的是。

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

7.下列叙述中错误的是。

A.Java Application与Applet所用编译命令相同

B.通常情况下,Java Application只能有一个main()方法

C.Java Applet必须有HTML文件才能运行

D.Java Applet程序的.class文件可用Java命令运行

8.处理对象传输的接口是。

A.Serializable B.Cloneable C.ItenListener D.ActionListener 9.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是。

A.InputStream B.FileInputStream C.BufferInputStream D.BufferedReader 10.下列事件监听器中,无法对TextField对象进行事件监听和处理的是。

A.ActionListener B.FocusListener C.MouseMotionListener D.ChangeListen 11. Swing的选项面板是。

A.JtabbedPane B.JLayeredPane C.JscrollPane D.JSplitPane

12.每个Java小应用程序必须定义为。

A.Applet类或JApplet类的子类 B.JFrame类的子类

C.Frame的子类 D.Window的子类

13.在Applet的init()方法被调用后,接下来最先被调用的方法是。

A.run() B.start() C.stop() D.destroy()

14.下列关于Applet的安全限制的叙述中,错误的是。

A.通常情况下,禁止Applet读、写本地文件系统

B.通常情况下,禁止Applet向Applet源主机之外的任何主机建立网络连接

C.通常情况下,禁止Applet读取系统信息

D.通常情况下,禁止Applet加载本地库或方法

15.下列标识符(名字)命名原则中,正确的是。

A.类名的首字母小写 B.变量和方法名的首字母大写

C.接口名的首字母小写 D.常量完全大写

16.提供showDocument()方法,使Applet能够请求浏览器访问特定URL的类是。

A.Applet B.AppletContext C.JApplet D.URL

17. Java中定义常量的保留字是。

A.const B.final C.finally D.native

18.下列有关Java布尔类型的描述中,正确的是。

A.一种基本的数据类型,它的类型名称为boolean B.用int表示类型

C.其值可以赋给int类型的变量 D.有两个值:1代表真,0代表假

19. Java中所有类的父类是。

A.Father B.Lang C.Exception D.Object

20.下列数中为八进制的是。

A.27 B.0x25 C.026 D.028

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

A. CardLayout

B. FlowLayout

C. BorderLayout

D. GridLayout 22.下列包中,包含JOptionPane类的是。

A.javax.swing B.https://www.wendangku.net/doc/ac2142262.html,ng C.java.util D.java.applet

23.下列选项中,与成员变量共同构成一个类的是。

A.关键字 B.方法 C.运算符 D.表达式

24. Java中的抽象类Reader和Writer所处理的流是。

A.图像流 B.对象流 C.字节流 D.字符流

25.下列叙述中,错误的是。

A.内部类的名称与定义它的类的名称可以相同

B.内部类可用Abstract修饰

C.内部类可作为其他类的成员

D.内部类可访问它所在类的成员

26.用于在子类中调用被重写父类方法的关键字是。

A.this B.super C.This D.Super

27.下列不属于表达式语句的是。

A.++i; B.--j; C.b#a; D.b*=a;

28.下列为窗口事件的是。

A.MouseEvent B.WindowEvent C.ActionEvent D.KeyEvent

29.用鼠标点击菜单项(MenuItem)产生的事件是。

A.MenuEvent B.ActionEvent C.KeyEvent D.MouseEvent

30.当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是。

A.start(),stop(),destroy()

B.init(),start(),stop(),start(),stop(),destroy()

C.start(),init(),stop(),destroy()

D.init(),start(), destroy()

31. 在HTML文件的标志中作为可选属性的是。

A.Applet主类的文件名 B.Applet显示区域的宽度

C.Applet主类的路径 D.Applet显示区域的高度

32.如果应用程序要在Applet上显示输出,则必须重写的方法是是。

A.Graphics.drawString() B.repaint()

C.paint() D.update()

33.下列特点中不属于Java的是。

A.多线程 B.多继承 C.跨平台 D.动态性

34.下列标识符定义中,不合法的是。

A.int $x; B.int _123; C.int Sum_2; D.int #dim;

35.下列选项中为单精度数的是。

A.2 B.5.2 C.0.2f D.023

36.类变量必须带有的修饰符是。

A.static B.final C.public D.volatile

37.下列选项中属于字符串常量的是。

A.’abc’ B.”abc” C.[abc] D.(abc)

38. Java程序默认引用的包是。

A.java.ext包 B.java.awt包 C.https://www.wendangku.net/doc/ac2142262.html,ng包 D.java.util包

39.当一个Applet所在的Web页面被其他页面覆盖后,不可能被调用的Applet方法是A.destroy() B.init() C.stop() D.start()

40.用于设置组件大小的方法是。

A.paint() B.setSize() C.getSize() D.repaint()

41.点击窗口内的按钮时,产生的事件是。

A.MouseEvent B.WindowEvent C.ActionEvent D.KeyEvent

42. AWT中用来表示对话框的类是。

A.Font B.Color C.Panel D.Dialog

43.下列运算符中,优先级最高的是。

A.+= B.== C.&& D.++

44.下列运算中结果为1的是。

A.8>>1 B.4>>>2 C.8<<1 D.4<<<2

45.在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是。

A.stop() B.destroy() C.paint() D.start()

46.自定义异常类的父类可以是。

A.Error B.VirtualMachineError C.Exception D.Thread

47. Applet的默认布局管理器是。

A.BorderLayout B.FlowLayout C.GridLayout D.PanelLayout 48. Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是。

A.Writer B.DataOutput C.OutputStream D.ObjectOutput 49.在方法内部使用,代表对当前对象自身引用的关键字是。

A.super B.This C.Super D.this

50. Java类库中,将信息写入内存的类是。

A.java.io.FileOutPutStream B.java.io.ByteArrayOutPutStream

C.java.io.BufferedOutPutStream D.java.io.DataOutPutStream

51.下列哪个方法可以使线程从运行状态进入阻塞状态。

A. sleep

B. wait

C.yield

D.start

52. 下列说法中错误的一项是。

A.一个线程是一个Thread类的实例。

B.线程从传递给实现Runnable接口的类的实例run()方法开始执行。

C.线程操作的数据来自Runnable实例。

D.新建的线程调用start()方法就能立即进入运行状态。

53. 下列关于Thread类提供的线程控制方法的说法中,错误的一项是。

A.在线程A中执行线程B的join()方法,则线程A等待直到B执行完成。

B.线程A通过调用interrupt()方法来中断其阻塞状态。

C.若线程A调用方法isAlive()返回值为true,则说明A正在执行中。

D.currentThread()方法返回当前线程的引用。

54.下列说法中,错误的是。

A.对象锁在synchronized()语句执行完之后由持有它的线程返还。

B.对象锁在synchronized()语句中出现异常时由持有它的线程返还。

C.当持有锁的线程调用了该对象的wait()方法时,线程将释放其持有的锁。

D.当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁。

55. 当方法终止时,能使线程进入死亡状态。

A.run B.setPrority C.yield D.sleep

56. 用方法可以改变线程的优先级。

A.run B.setPrority C.yield D.sleep

57. 线程通过方法可以使具有相同优先级线程获得处理器。

A.run B.setPrority C.yield D.sleep

58. 线程通过方法可以休眠一段时间,然后恢复运行。

A.run B.setPrority C.yield D.sleep

59.下列哪个不属于容器的组件。

A.JFrame

B.JButton

C.JPanel

D.JApplete

二、填空题

1. JVM指的是Java 。

2. Java中的字符变量在内存中占位。

3. Java语言对简单数据类型进行了类包装,int对应的包装类是。

4. Java字节码文件的扩展名是。

5.若类声明时加上修饰符,则表示该类不能有子类。

6. Java的类库中提供Throwable类来描述异常,它有Error和两个直接子类。7.一个Applet被浏览器加载后,是从方法开始执行的。

8. Swing中用来表示表格的类是。

9. Java接口内的方法都是公共的、的,实现接口就要实现接口内的所有方法。10. Java语言的可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在方法中的局部变量。

11.在Java语言中,用修饰符定义的类称为抽象类。

12.在Java中,字符是以16位的码表示的。

13.抛出异常的语句是语句。

14. Swing中用来表示工具栏的类是javax.swing. 。

15.在实现Serializable接口的类中,用关键字可使某些数据不被串行化。16.一个类只有实现了接口,它的对象才是可串行化的。

17.对Java对象的读写的过程被称为。

18. Swing中的组件往往采用MVC结构,MVC指的是模型、视图和。

19.用户不能直接调用构造方法,只能通过关键字自动调用。

20. AWT中的布局管理器包括FlowLayout、BorderLayout、GridLayout、CardLayout 和。

21.是Swing中新增加的布局管理器。

22. Java不直接支持多继承,但可以通过实现多继承。

23. Java 源文件中最多只能有一个_ ___类,其他类的个数不限。

24. Java对象串行化技术,主要是通过ObjectInputStream类和类来实现。25.根据程序的构成和运行环境的不同,Java源程序分为两大类:__ __程序和Applet 程序。

26.创建包的语句应该放在程序的位置为。

27.按作用域分类,变量有局部变量、__ __、方法参数和异常处理参数。

28. Java虚拟机能自动处理_ ___异常。

29. RandomAccessFile所实现的接口是___ _和DataOutput 接口。

30.开发与运行Java Application程序需要经过的三个主要步聚为编辑源程序、编译生成字节码、__ __。

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

32. 处于新建状态的线程可以使用的控制方法是继承Thread类和。

33. 线程的优先级是在Thread类的常数MIN_PRIORITY和之间的一个值。

34. 对正在运行状态的线程执行了sleep()方法后,该线程将进入。

35. java线程的对象锁是一种锁。

36. 由一个玻璃面板、一个内容面板和一个可选择的菜单条组成。

三、判断题

1. Java编译器使用文件系统来保存程序包。()

2. Java源程序文件中是不区分字母的大小写的。()

3.可以用new来创建一个类的实例,即"对象"。()

4. Java程序对计算机硬件平台的依赖性很低。()

5. Java的接口方法必须声明成public。()

6.Java中缺省浮点型是float。()

7. Protected修饰的类成员只能被其子类访问。()

8. Java中类的构造函数只能有一个。()

9. JInternalFrame一般放在桌面面板JDesktopPane上。()

10.类的public类型的成员变量不可以被继承。()

11.子类可以继承父类所有的成员变量及成员函数。()

12. Java类中不能存在同名的两个成员函数。()

13.如果定义int[]nV alues={1,2,3,4};那么nV alues为整数类型。()

14.类的public类型的成员变量不可以被继承。()

15.子类可以继承父类所有的成员变量及成员函数。()

16. Java可以在方法内定义内部类。()

17. break语句可以用在循环和switch语句中。()

18.java.util.Collection是类。()

19.FileInputStream可以作为BufferedInputStream的参数。()

20.用abstract修饰的类必须被继承。()

21.类都能有多个构造方法。()

22. applet可以单独运行。()

23.用Javac编译Java源文件后得到代码叫字节码。()

24. Java的GUI机制中对事件的处理是采用委托方式进行的。()

25.语句String[] s=new String[10];执行后,s[0] 为未定义。()

26. StringBuffer类型的字符串是常量字符串。()

27.实现一个接口,则在类中一定要实现接口中的所有方法。()28.用Javac编译Java源文件后得到代码叫字节码。()

29.抽象类不能实例化()

30.在Swing用户界面的程序设计中,面板是分层的。()

31. BorderLayout布局管理器使用的是组件的最佳尺寸(preferred size)。()

32. yield()方法可以被任何线程调用。()

32. synchronized关键字可以对对象加互斥锁。()

33. 线程在synchronized块中调用x.wait()将释放x的monitor。()

34. Java中,并非每个事件类都只对应一个事件。()

35. 在使用BorderLayout时,最多可以放入五个组件。()

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

1.public class DoublearithmaticOperator(){

public static void main(String args[]){

int a=10,b=4,c=20,d=6;

System.out.print(a+b*c+d);

System.out.print(",");

System.out.print(a+c%b);

System.out.print(",");

System.out.println(a++*b+c*--d);

}

}

2.public class PrintTest{

public static void main(String args[]){

int a=4,b=6,c=8;

String s="abc";

System.out.println(a+b+s+c);

System.out.println();

}

}

3.public class SwitchTest{

public static void main(String args[]){

int i=1;

switch (i) {

case 0: System.out.print("zero,"); break;

case 1: System.out.print("one,");

case 2: System.out.print("two,");

default: System.out.println("default");

}

}

}

4. public class MultiplyList {

public static void main(String[] args) {

String output="";

blabel: for(int row=1;row<=9;row++){

for(int col=row;col<=9;col++){

if(row<8)continue blabel;

output+=col+"*"+row+"="+(row*col)+" ";

}

output+="\n";

}

System.out.println(output);

System.exit(0);

}

}

5. public class Koo{

public static void main(String args[]) {

int i=0,sum=0;

int[] anArray=new int[5];

while(i

anArray[i]=5-i;

System.out.print(anArray[i]+“”);

i++;

}

System.out.println();

}

}

6. public class CatchTest{

public static void main(String args[]){

int[] x={0,1,2,3};

for(int i=0;i<3;i+=2){

try{

System.out.println(x[i+2]/x[i]+x[i+1]);

}catch(ArithmeticException e){

System.out.println(“error1”);

}catch(Exception e){

System.out.println(“error2”);

}

}

}

}

7. class GrandFather{

GrandFather(){System.out.println(“GrandFather”);} }

class Book{

Book(){System.out.println(“Book”);}

}

class Father extends GrandFather{

Father(){System.out.println(“Father”);} }

public class Son extends Father {

private Book b=new Book();

public Son(){System.out.println(“GrandFather”);} public static void main(String args[]){

new Son();

}

8. class Count{

public static int counter = 0 ;

public Count( ){

counter++ ;

}

public int getCount(){

return counter;

}

}

public class StaticTest{

public static void main(String[] args){

Count[] c = new Count[5];

for(int i=0;i

c[i]=new Count();

System.out.println(c[i].getCount());

}

}

}

9. public class Calculation {

public float avg(int... nums) {

int sum = 0;

for ( int x : nums ) {

sum += x;

}

return ((float) sum) / nums.length;

}

public static void main(String args[]){

Calculation cal = new Calculation();

float av1 = cal.avg(10, 20, 30);

System.out.println(av1);

}

}

10. package test;

public class OuterClass{

private class InterClass{

public InterClass(){

System.out.println(“InterClass”);

}

}

public OuterClass(){

InterClass ic= new InterClass();

System.out.println(“OuterClass”);

}

public static void main(String args[]){

OuterClass oc=new OuterClass();

}

}

11. p ublic 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();

}

}

12. interface ShowMessage { void 显示商标(String s); }

class TV implements ShowMessage

{ public void 显示商标(String s) { System.out.println(s); } } class PC implements ShowMessage

{ public void 显示商标(String s) { System.out.println(s); } } public class Example4_28

{ public static void main(String args[])

{ ShowMessage sm;

sm = new TV();

sm.显示商标("长城牌电视机");

sm = new PC(); sm.显示商标("联想奔月5008PC机"); }

}

五、程序填空

1.以下为一个applet的完整程序,它使用”宋体”字体,在applet窗口中显示背景色为黑色,前景色为绿色的字符串”您好!”。

import java.awt.*;

import Java.applet.*;

public class DrawStringDemo Applet{

private Font afont= Font(“宋体”,Font.BOLD,18);

public void init(){

(Color.black);

}

public void paint(Graphics g){

g.setColor(Color.green);

(afont);

(“您好!”,10,40);

}

}

2.以下为一个java的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象DemoCar,调用该对象的set_number方法设置车号属性为3388,调用该对象的show_number方法输出车号。

//Car.java

class Car{

int car_number;

void set_number(int car_num) {

car_number= ;

}

void show_number(){

System.out. (“My car No. is :”+car_number);

}

}

//CarDemo.java

class CarDemo{

public static void main(String args[]){

Car Democar= Car();

DemoCar.set_number( );

DemoCar. ();

}

}

3.该程序是一个Applet 小程序,它将当前系统时间显示在浏览器中。Java源程序和网页代码如下:

import java.awt.*;

import java.util.Date;

public class showDate extends {

Date timeNow= Date();

Font msgFont=new Font("TimesRoman",Font.ITALIC,30);

public void paint( g) {

g. (msgFont);

g.setColor(Color.blue);

g.drawString(timeNow.toString(),5,50);

}

}

</p><p>

4.下面程序对数组中每个元素赋值,然后按逆序输出。请在横线处填入适当内容,使程序能正确运行。

java.io.*;

public class ArrayTest{

static void (String args[]){

int i;

int a[]=int[5];

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

a[i]=i;

for( ;i>=0;i--)

System.out.println("a["+i+"]="+a[i]);

5. public class ServerTimedOutException extends Exception {

private int port;

public ServerTimedOutException(String message, int port) {

super(message);

this.port = port;

}

public int getPort() {

return port;

}

}

class Client{

//在下行空白出填上声明抛弃ServerTimedOutException例外的语句

public void connectMe(String serverName)________

{

int success;

int portToConnect = 80;

success = open(serverName, portToConnect);

if (success == -1) {

/*在下行空白处填上抛出ServerTimedOutException例外的语句*/

________

}

}

}

6.Applet界面上有一个标签(Label)、一个列表框(Choice)和一个文本区域(TextArea)。程序实现以下功能:一旦用户在列表框中(单击鼠标)选中了某书名选项,该书名将被立即显示在文本区域中。请在横线处填入适当内容,使程序能正确运行。

import java.awt.*;

import.java.awt.event.*;

import.java.applet.*;

public class MyChoice extends Applet{

String[] bookstore={"Java 程序设计","C++ 程序设计","网络基础"};

Label la=new Label("请选择你要的书籍:");

TeaxArea t=new TextArea(5,30);

Choice c=new Choice();

public void init(){

For(int i=0;i<3;i++)

c.addItem(bookstore[i]);

add(la);

add(c);

add(t);

c. (new CL());

}

Class CL implements ItemListener{

public void itemStateChange(ItemEvent e){

t. (c.getSelectedItem()+"\n");

}

}

}

六、编程题

1.编写一个矩形类Rectangle的Java程序,矩形类有两个数据成员,分别是长rLength

和宽rWidth,可以通过getLength()、getWidth()、getArea()方法分别查看矩形的长、宽和面积,也可以通过setLength()和setWidth()方法重新设置矩形的长和宽。

2.编写程序创建一个按钮和一个文本域,按钮上的文字为“change”,文本域中的文字为“color”,当单击按钮时,“color”的颜色在yellow和red之间切换。

3.设已定义了一个Book类,该类包括书名bookName和单价price属性。编写程序定义一个方法writeToFile(Book[] b),利用ObjectOutputStream类的writeObject()方法将若干本书籍的信息写入到当前路径下的文件book.dat中;定义一个方法readFromFile(),利用ObjectInputStream类的readObject()方法将若干本书籍的信息从当前路径下的文件book.dat中读出。

4.编写一个计算面积类CalculatorArea类的Java程序,该类有5个成员变量,分别是长cLength、宽cWidth、高cHeight、半径cRadius和面积cArea,该类可根据实例化参数的不同,设置不同的成员变量的值,并计算不同的图形面积。当参数是1个时,设置的是半径cRadius的值,计算的是圆的面积;当参数是2个时,设置的是长cLength和宽cWidth的值,计算的是矩形的面积;当参数是3个时,设置的是长cLength、宽cWidth 和高cHeight的值,计算的是长方体的表面积。

5. 编写Applet程序:求三个整数的最小值。

6. 创建一个标题为“按钮”的窗框,窗框中显示有“按下我”字样的按钮盒一个文本框,

当单击时会在文本框上显示“Hello Java”。

7.请编写一个多线程程序,其中一个线程完成对某个对象的int成员变量的的加1操作,另

一个线程完成对该对象的成员变量的减1操作,同时要保证该变量的值不会小于0,不会大于1,该变量的初始值为0.

8.编写一个JFrame来显示字符串,显示字符串及位置,字体、字体大小和颜色通过HTML

文件中的参数来传递。

参考答案(仅供参考,不一定全对)

一、选择题:

1.A

2.A

3.A

4.C

5.B

6.C

7.D

8.A

9.C 10.D

11.A 12.A 13.B 14.C 15.D 16.B 17.B 18.A 19.D 20.C

21.B 22.A 23.B 24.D 25.A 26.B 27.C 28.B 29.B 30.B

31.C 32.C 33.B 34.D 35.C 36.A 37.B 38.C 39.B 40.B

41.C 42.D 43.D 44.B 45.B 46.C 47.B 48.C 49.D 50.B

51.B 52.D 53.A 54.B 55.A 56. B 57.C 58.D 59.B

二、填空题

1.虚拟机 2.16 3.Integer 4..class 5.Final 6.Exception 7.init() 8.JTable 9.抽象 10.内部类 11.abstract 12.Unicode(国际) 13.Throw 14.JToolBar15.transient 16.Serializable 17.对象的串行化 18.控制器19. New 20.GridBagLayout 21.BoxLayout 22.接口 23.Public 24.ObjectOutputStream 25. Application

26.程序第一行 27.类成员变量 28.运行29.DataInput 30.解释运行字节码31. Java.util 32. 实现Runnable接口 33. MAX_PRIORITY

34. 阻塞状态 35. 独特的排他锁 36. 根面板

三、判断题

1.(T) 2.(F) 3.(T) 4.(T) 5.(F) 6. (F) 7.(F) 8.(F) 9.(T) 10.(F)11.(F) 12.(F)13.(F) 14.(F)15.(F)16.(T) 17.(T)18.(F) 19.(T) 20.(F)21.(T) 22.(F)23.(T)24.(T)25.(F) 26.(F)27.(T)28.(T)29.(T)30.(F)

31.(F) 32.(T)33.(T)34.(T)35.(T)

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

1. 2.

3. 4.

5.6

7.8.

9.10.

11.12.

五、程序填空题

1.

(1)public class DrawStringDemo extends Applet

(2)this.setBackground(Color.black);

(3)this.setFont(afont);

(4) g.drawString("您好!",10,40);

2.

(1)car_number =car_num;

(2)System.out.println("My car No. is :"+car_number);

(3)Car Democar=new Car();

(4)Democar.set_number(3388);

(5)Democar.show_number();

3.

(1)public class showDate extends Applet{

(2)Date timeNow=new Date();

(3)public void paint(Graphics g) {

(4) g.setFont(msgFont);

4.

(1) import java.io.*;

(2) public static void main (String args[]){(3)for( i=4 ;i>=0;i--) a[i]=4-i;

5.

(1)__throws ServerTimedOutException______

(2)throw new ServerTimedOutException( "Could not connect", 80);

6.

(1) c.addItemListener(new CL());

(2)t.setText(c.getSelectedItem()+"\n");

六、编程题

1.程序清单:

public class Rectangle {

float rLength;

float rWidth;

public float getLength(){

return this.rLength;

}

public float getWidth(){

return this.rWidth;

}

public float getArea(){

return (rLength*rWidth);

}

public void setLength(float l){

this.rLength = l;

}

public void setWidth(float w){

this.rWidth = w;

}

Rectangle(float l, float w){

setLength(l);

setWidth(w);

System.out.println("Length"+getLength());

System.out.println("Width"+getWidth());

System.out.println("Area"+getArea());

}

public static void main(String[] args) {

Rectangle r= new Rectangle(1 ,2);

}

}

2.程序清单:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ArtFont extends JFrame implements ActionListener{ JButton colorBtn;

JTextArea txtArea;

Font font;

Color colorStyle = Color.red;

public ArtFont(){

super("字体设置");

font = new Font("宋体", 1,15);

colorBtn = new JButton("change");

txtArea = new JTextArea(10, 80);

txtArea.setFont(font);

txtArea.setText("color");

txtArea.setForeground(colorStyle);

colorBtn.addActionListener(this);

Container container = getContentPane();

container.setLayout(new BorderLayout());

setSize(300, 200);

container.add(txtArea, BorderLayout.CENTER);

container.add(colorBtn, BorderLayout.PAGE_END);

setVisible(true);

}

public static void main(String[] args) {

ArtFont a = new ArtFont();

}

public void actionPerformed(ActionEvent e) {

if(colorStyle == Color.red){

colorStyle = Color.yellow;

}

else{

colorStyle = Color.red;

}

txtArea.setForeground(colorStyle);

}

}

3.程序清单:

import java.io.*;

public class SGH

{

public static void writeToFile(Book b[],int n)throws Exception{

FileOutputStream fout=new FileOutputStream("book.dat");

ObjectOutputStream oout=new ObjectOutputStream(fout);

for(int i=0; i

oout.writeObject(b[i]);

}

oout.close();

}

public static Book[] readFromFile(int n)throws Exception{

Book Book1[] = new Book[n];

FileInputStream fin=new FileInputStream("book.dat");

ObjectInputStream oin=new ObjectInputStream(fin);

for(int i=0; i

Book1[i]=(Book)oin.readObject();

}

oin.close();

return Book1;

}

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

Book Book1[] = new Book[3];

for(int i=0; i<3; i++ ){

Book1[i] = new Book((3+i),("书"+(i)));

}

Book Book2[];

writeToFile(Book1, 3);

Book2 = readFromFile(3);

}

}

class Book implements Serializable

{

public float price;

public String bookName;

public Book(float p,String b)

{

this.price=p;

this.bookName=b;

}

public String toString()

{

return"price="+price+", name="+bookName;

}

}

4.程序清单:

import java.io.*;

public class CalculatorArea {

float cLength;

float cWidth;

float cHeight;

float cRadius;

double cArea;

CalculatorArea(float r){

this.cRadius = r;

this.cArea = (3.14*2.0*r);

System.out.println(cArea);

}

CalculatorArea(float l, float w){

this.cLength = l;

this.cWidth = w;

this.cArea = w*l;

System.out.println(cArea);

}

CalculatorArea(float l, float w, float h){ this.cLength = l;

this.cWidth = w;

this.cHeight = h;

this.cArea = 2*(w*l+w*h+h*l);

System.out.println(cArea);

}

public static void main(String[] args) {

CalculatorArea s[] = new CalculatorArea[3];

s[0] = new CalculatorArea(1);

s[1] = new CalculatorArea(1,1);

s[2] = new CalculatorArea(1,1,1);

}

}

5. 编写Applet程序:求三个整数的最小值。

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class FindMin extends Applet implements ActionListener

{

Label result;

TextField in1,in2,in3;

Button btn1,btn2;

int a=0,b=0,c=0,min;

public void init()

{

result=new Label("请先输入三个待比较的整数");

in1=new TextField(5);

in2=new TextField(5);

in3=new TextField(5);

btn1=new Button("比较");

btn2=new Button("关闭");

add(in1);

add(in2);

add(in3);

add(btn1);

add(btn2);

add(result);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==btn1)

{ a=Integer.parseInt(in1.getText());

b=Integer.parseInt(in2.getText());

c=Integer.parseInt(in3.getText());

min=a;

if (b

min=b;

if(c

min=c;

result.setText("三数中最小值是:"+min);

}

else

System.exit(0);

}

}

6.(我自己根据第2题改的程序,大家参考,实验截图如下:)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ArtFont extends JFrame implements ActionListener{ JButton Btn;

JTextArea txtArea;

Font font;

public ArtFont(){

super("按钮");

font = new Font("宋体", 1,15);

Btn = new JButton("按下我");

txtArea = new JTextArea(10, 80);

txtArea.setFont(font);

Btn.addActionListener(this);

Container container = getContentPane();

container.setLayout(new BorderLayout());

setSize(300, 200);

container.add(txtArea, BorderLayout.CENTER);

container.add(Btn, BorderLayout.PAGE_END);

《JAVA语言程序设计》期末考试试题及答案(2)

《JA V A语言程序设计》期末考试试题及答案 一、单选题 1、下列程序段执行后的结果是( A )。 String s = new String("abcdefg"); for (int i=0; i

java期末考试复习题及答案(1)

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) i nt x=-3; int y=-10; 、-1B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数?() A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条()。 A、Panel B、Frame C、Applet D、Dialog

Java复习题及答案

一、判断题(每题1分,共15分) 1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。(0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。(0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。(0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。(0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 ) 9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。(0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。(0 ) 二、单项选择题(每题2分,共30分) 1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法 2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。 A、p ublic static void main() B、public static void main(String[ ] args) C、public static int main(String[ ] args) D、p ublic void main(String arg[ ]) 3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 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 12.关于以下程序代码的说明正确的是( D ) 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 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

Java复习习题答案

P13 2.参照例1-2编写一个java applet程序,程序能在浏览器中显示“你好,Hello”。(见p11例1-2) P24 2.参照2-4编写一个java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。 import java.util.*; public class ZuoYe2_2{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); long chengji=1; int m=0; while(reader.hasNextInt()){ int x=reader.nextInt(); m=m+1; chengji=chengji*x; } System.out.println(m+"个数的乘积为"+chengji); } } P41 1.有一个函数Y=-1+2x,x<0;-1,x=0;-1+3x,x>0编写一个java应用程序,从键盘输入一个X值,程序输出Y值。import java.util.*; public class ZuoYe3_1{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); double y=0,x=0; x=reader.nextDouble(); if(x<0) y=-1+2*x; else if(x==0) y=-1; else if(x>0) y=-1+3*x; System.out.println(y); } } P41 2.编写一个java程序,使用while循环计算1-1000之间能被3和7同时整除的整数之和。 public class ZuoYe3_2{ public static void main(String args[]){ int sum=0,m=3,n=7,a=1; while(a<=1000){ if(a%m==0&&a%n==0) sum=sum+a; a++; } System.out.println("sum="+sum); } } P41 3.编写一个java程序,使用for循环计算8+88+888+8888+88888…的前十项和。 public class ZuoYe3_3{ public static void main(String args[]) {

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA试题_2

JAVA试题 一、选择 1.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码: 1)class Parent{ 2)private String name; 3)public Parent(){} 4)}5)public class Child extends Parent{ 6)private String department; 7)public Child(){} 8)public String getValue(){return name;} 9)public static void main(String arg[]){ 10)Parent p=new Parent(); 11)}12)} 哪些行将引起错误? A第3行B第6行C第7行D第8行 3.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p,t and s are all non-null. if(t instanceof Person){s=(Student)t;} 最后一句语句的结果是: A将构造一个Student对象;B表达式是合法的; C表达式是错误的;D编译时正确,但运行时错误。 4.给出下面代码段 1)public class Test{ 2)int m,n; 3)public Test(){} 4)public Test(int a){m=a;} 5)public static void main(String arg[]){ 6)Test t1,t2; 7)int j,k; 8)j=0;k=0; 9)t1=new Test(); 10)t2=new Test(j,k); 11)}12)} 哪行将引起一个编译时错误?

JAVA复习题及答案

第一章JA V A概述 1.JA V A中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台). 2.JA V A从第几版称为JA V A2:JA V A 1.2版。 3.JA V A有否指针:无。 4.JA V A的API指的是什么:Application Programming Interface,JA V A的类库。 5.JA V A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机 器码,由平台上的Java虚拟机中的Java解释器解释执行。 6.JA V A有哪两种程序形式:Application和Applet程序。 7.Application程序运行时系统调用程序的哪个方法:main()方法。Applet程序执行时系统自动调用程序的哪个方 法:init()方法。 8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。 9.JDK是什么:Java开发工具包(Java Development Kit ) 的缩写,包括JAVA类库、JAVA编译器、JAVA解释 器、运行时环境、命令行工具。 10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse, JCreator, JBuilder等。 11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe 12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip 第二章JA V A语言基础 13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JA V A中已定义的用于特定用途的标 识符。不能。 14.i++与++i有什么区别? 15.写出各种转义字符?p17。\t, \n, \r, \‖, \’, \\ 16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package –名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用‖-―;Variable—第一个字母小写,不用‖_‖,‖$‖(对于inner class有意义);Constants—大写并用‖_‖ 17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。 18.标识符中可否有空格,可否有#号:不能,只能有字母、下划线、美元符、数字 19.判断合法的标识符:identifier,userName,_FH User_Name ,_sys_val,$change 2mail,room#//,class,ab-cd,ac eh 20.JA V A中标识符大小写敏感吗? 21.实数类型的两种类型中哪种是默认的:double。 22.float和int型的数据各占多少位(bit)。32位 23.什么叫局部变量:方法内部的变量。 24.局部变量有默认值吗:没有。 25.局部变量出了方法体后还存在吗:不存在。 26.一个变量可以重复定义吗:不能。 27.低级类型的数据与高级类型的数据进行运算时,怎样进行类型转化:低级的类型首先自动转化为高级类型,然 后进行运算。 28.域(field)变量应该定义在方法之外还是方法之内:之外。 29.sum+=i的展开式:sum=sum+i 30.计算a+=a*=b-=(a=4)*(b=2)的结果,其中初始时a=4,b=2。 31.―&‖和―&&‖的区别? 32.关系运算符与逻辑运算符哪个优先级高,为什么:关系,因为关系运算的结果false或true用于逻辑运算。 33.以下计算结果是否对?

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double