Java程序的设计课后复习题参考答案

Java程序的设计课后复习题参考答案
Java程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案

――大学

习题1参考答案

1.Java语言的特点有哪些?

答:参考1.1.2

防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。

这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。

2.简述封装的优点。

答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。

面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。

3.Java的基本工具有哪些?

(1)javac 编译器

(2)java 解释器

(3)jdb Java 语言调试器

(4)javadoc API文档管理器

(5)javah 头文件生成器

(6)appletviewer 小应用程序浏览器

(7)javap 类文件反汇编器

4.Java开发环境是如何配置的?

答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

1.Java语言包含哪些数据类型?

答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。

2.Java有多少关键字?

答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final, interface, short, try,class, finally, long, static, void,const*, float, native, super, while 3.byte、short、int、long和char整数类型各占了多少字节?

答:byte占了1字节,short占了2字节,int占了4字节,long占了8字节,char 占了2字节。

4.Java的控制结构有哪几类?

答:流程控制语句可以分为选择、循环和跳转3大类。

习题3参考答案

1.声明类的格式是什么?

答:

[类修饰符]class类名称[extends父类名称][implements接口名称]

{

类主体

}

2.面向对象程序设计中,什么是构造函数?

答:类类型声明方法成员,如果方法名称与类名称一样,这种方法成员称为构造函数。

习题4参考答案

1.面向对象程序设计中,什么是封装?

答:OOP将处理过程与数据合并在一起处理。

2.面向对象程序设计中,什么是数据抽象化?

答:OOP程序设计的重心为对象,因些对象被视为拥有本身数据与处理过程的组件,这些组件都有其独立性。所以对象、外程序的处理就有某种程度的限制,换句话说,对象外部并不明了对象部数据如何传递、改变,如何处理过程。这种隐藏对象部的数据及处理过程的方式,使得对象抽象化,有人将这种处理方式称为数据抽象化。类库就是Java API(Application ProgrammingInterface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。

1.简述数据类型类的常用方法。

答:对所有数据类型类的对象,形如“对象名.xxxxValue()”的成员方法,用来获得对象中的基本类型数据。包括:

对象名.doubleValue();

对象名.intValue();

对象名.byteValue();

对象名.shortValue();

对象名.longValue();

对象名.charValue();

对象名.floatValue();

对象名.booleanValue();

2.何为命令行参数?

答:所谓命令行参数,是指执行某个Java应用程序时,从命令行中向程序直接传送的参数。我们可以获得这些参数的值,并运用到程序的执行过程中。

3.如何定义和创建一个数组?

答:要创建一个数组,必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:type arrayName[];其中,type定义了数组的基本类型,arrayName是数组的名称。基本类型决定了组成数组的每一个基本元素的数据类型。

4.如何声明一个二组数组?

答:二维数组的一般声明格式如下:

数组元素类型数组名[][];

数组元素类型 [][]数组名;

5.列举一下数据类型类的常用方法。

答:对所有数据类型类的对象,形如“对象名、xxxxvalue()”的成员方法,用来获得对象中的基本数据类型。包括:对象名、double Value();对象名、int Value();对象名、byte Value();等。

习题6参考答案

1.解释下列方法的意义:

(1)toLowerCase() (2)toUpperCase() (3)charAt()

(4)equalsIgnoreCase() (5)capacity() (6)setLength()

(7)reverse() (8)replace(start,end,str)

答:

(1)将字符转换成小写字符

(2)将字符转换成大写字符

(3)从0算起第index字符

(4)忽略大小写,比较两字符串是否,相等,若是返回true,否则返回false

(5)计算字符串缓冲器的容量

(6)设定字符串的长度

(7)将字符串反转排列

(8)返回字符串缓冲器从stare开始到end结束字符被str字符串取代

2.capacity()与length()的用法有什么不同?

答: capacity()用来计算字符串缓冲器的容量,length()用于计算字符串长度。如:String Buffer ko1=new String Buffer(20),则ko1 capacity()=20,但ko1,length ()可能是0或20,视ko1字符串长度而定。

习题7参考答案

1.什么叫流?流式输入输出有什么特点?

答:Java中的流是对数据传递机制的抽象。流分为两种:输入和输出。Java中所有输入/输出操作都是使用基本字节类型完成的。字符是通过值为字节类型的特殊代码处理的。Java程序的所有读写操作都是通过流实现的。流是一组字符序列。输入源可以是键盘、文件或网络,输出自的地可以是屏幕、文件或网络。数据作为字节序列进行发送和接收。

2.File类有哪些构造函数和常用方法?并举例说明。

答:使用下面的构造函数创建File对象:

File(String dirpath)

File(Stringdirpath,Stringnlename)

File(FnedirObj,Stringfilename)

这里,dirpath是文件的路径名,filename是文件名,dirObj是指定目录的Fie对象。

下面的例子创建了3个文件:f1、f2和f3。第一个File对象只有目录路径一个参数。第二个有两个参数——目录和文件名。第三个包括赋给n的文件路径和文件名。f3和f2指的是同一个文件。最后一个包括指定文件“autoexec.bat”所在的目录名称。

File f1=newFile("/");

File f2=newFile("/","autoexec.bat");

File f3=newFile(f1,"autoexec.bat");

File f3=newFile("user","autoexec.bat");

File类的方法

下面是File类中一些重要的方法:

getName()

该方法用来获取指定文件的名称。

getPath()/getAbsolutePath()

这两个方法分别得到指定文件的相对路径和绝对路径。

exists()

该方法用来判断命名的文件是否存在于目录当中。

isFile()/isDirectory()

这两个方法分别用来判断命名的文件是否是普通文件和目录。

canRead()/canWrite()

这两个方法分别用来判断指定文件是否可读写。

lastModified()

该方法返回文件最近一次被修改的时间。

length()

该方法返回文件的大小,以字节记。

delete()

该方法用来删除指定文件。

renameTo()

该方法用来对已知文件进行重命名。它将目的文件或者说重命名后的文件对象作为参数。

isFile()

该方法通常返回true,但是一些特殊的文件如设备驱动和命名管道可能与普通文件不同,所以该方法可以确定所访问实体是一个文件。

isAbsolute()

如果文件是绝对路径该方法返回true,相对路径则返回false。

3.简单介绍一下Random Access File类。

答:RandomAceessFile类封装了一个随机访问文件。它不是从输入输出流中获得。相反,它实现了定义基础FO方法的Datalnput和DataOutput这两个接口。它也支持定位请求,例如可以在文件中定位文件指针。它包含下面两个构造函数:

RandomAccessFile(File fObj,String acc)

RandomAccessFile(String fname,String acc)

在第一种形式下,fObj是指作为File对象打开的文件名称。在第二种形式下,以fname 作为参数传递文件名。在两种情况下,acc都决定了允许访问什么样的文件类型。如果是“r”,那么可以对文件进行读访问,如果是“rw”,则可以进行读写访问。seek()方法用来设置文件指针的当前位置。

void seek(long newPos)

这里,newpos是指以字节方式指定的新位置或者从文件头或文件尾开始的文件指针。调用seek方法之后,将会在新的文件位置发生读或写的操作。

4.举例实现写文件FileOutputStream类。

写文件举例如下:

//FileOutputSample.java

import java.io.*;

public class FileOutputSample {

public static void main (String args[]) {

String name="OutputFileExample.txt";

FileOutputStream outputStre~m; //文件输出流对象

//缓冲数组,假设写入文件的长度不超过1024字节

byte[] buffer=new byte[1024];

try {

outputStream=new FileOutputStream (new File (name)) ;

try {

System.out.println ("\nInput file content (Tab+Enter to exit) : ");

//循环读入字符,Tab+Enter键结束

int b, i= 0;

while (i < 1024 && (char) (b=System.in.read ()) != '\t') {

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

}

outputStream.write (buffer) ;

outputStream.close () ;

}

catch (IOException e) {

System.err.println ("I/O Exception when writing or closing: "+

e.toString ()) ;

}

}

catch (Exception e) {

System.err.println (e.toString ()) ;

}

System.out.println ("The content has been saved to File" + name) ;

}

}

编译运行程序,程序会提示用户输入,用户输入“Tab+Enter”后将退出向文件中输入容,然后用户输入的容将保存到文件OutputFileExample.txt中。

5.数据流分哪两种?

答:数据流分为数据输入流DataInputStream和数据输出流DataOutputStream。

(1)数据输入流DataInputSrtream

类DataInputStream 继承自FilterInputStream类,并实现了DataInput接口。其构造函数如下:

public DatalnputStream(InputStream in);

其构造函数以一个字节输入流in对象位参数,在创建DatalnputStream对象时,in是InputStream类的子类的一个对象。

DataInputStream类常用的构造方法包括:

public final iht read(int[]b);

public final int read(int[]b,int offset,int len);

public final int readInt();

前两个方法主要是将输入流对象中的数据读入到一个缓冲数组b中:而第三个方法是读取一个整型数据,与该方法类似的还有readChar()、readBoolean()、readFloat()、readDouble()等,这些方法都是读入一个简单类型的数据,可以是Java中任何基本数据类型。

(2)数据输出流DataOutputStream

类DataOutputStream继承自FilterOutputStream类,并实现了DataOutput接口,其构造函数为:

public DataOutputStream (OutputStream out) ;

类DataOutputStream中常用的方法主要有:

public void flush () ;

public void write (int b) ;

public void write (byte[] b, int offset, int len) ;

public void writeByte (int v) ;

public void writeBytes (String s) ;

public void writeChar (int v) ;

public void writeChars (String s) ;

当然,写方法中还有写入其他任何一种简单数据类型的方法。

习题8参考答案

1.叙述TextComponent组件的功能。

答:TextComponent组件用于编辑文本。

2.TextComponent类包括哪两种子类?

答:TextComponent类包括文本框(TextField)和文本域(TextArea)两种子类。

3.编写一个程序,使用户能够使用鼠标在Applet中绘制一个矩形。按住鼠标左键,确定矩形左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。

参考程序如下:

import java.applet.Applet;

import java.awt.*;

import java.awt.event.*;

public class Chp9_3_E extends Applet implements MouseListener,MouseMotionListener{

int x1,y1,x2,y2;

public void init(){

addMouseListener(this);

addMouseMotionListener(this);

}

public void paint(Graphics g){

g.drawRect(x1,y1,x2,y2);

int area=Math.abs(x2-x1)*Math.abs(y2-y1);

showStatus("矩形面积: "+area);

}

//implementation of MouseListener

public void mousePressed(MouseEvent e){

x1=e.getX();

y1=e.getY();

}

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

//implementation of MouseMotionEvent

public void mouseDragged(MouseEvent e){

x2=e.getX();

y2=e.getY();

repaint();

}

public void mouseMoved(MouseEvent e){}

}

习题9参考答案

1.简述Java Applet的运行过程。

答:Applet的运行过程:首先将编译好的字节码文件和编写好的HTML文件(其中包含字节码文件名)保存在Web服务器的合适路径下;当WWW浏览器下载此HTML文件并显示时,它会自动下载HTML中指定的Java Applet字节码,然后调用置在浏览器中的Java解释器来解释执行下载到本机的字节码程序。

2.举例说明Applet中的参数传递。

答:例如:

import java.applet.*;

import java.awt.*;

public class panuneter extends Applet

{

String input;

public void init()

{

input=getParameter("String");

}

public void paint(Graphics g)

{

g.drawString(input,100,100);

}}

可以使用下面的代码给Applet传递一个参数。这里通过VALUE属性传递了String类型的输入。NAME指出在Java代码中的参数名。

现在用AppletViewer运行这个程序得到带有文本输出的Applet窗口。这些文本通过VALUE属性传递给Applet。如果我们要改变参数值我们可以改变HTML文件自身中的VALUE 属性的值并通过但单独运行该HTML文件获得输出。无需再重新编译程序。这是参数传递的主要优点。

3.编写一个Apple程序,用来显示与Applet程序同一个文件夹下的图片。

参考程序如下:

import javawt.*;

import javapplet.Applet;

public class ImageApplet extends Applet

{

Image image;

public void init()

{

image = getImage(getCodeBase(),"flower.jpg");

}

public void paint(Graphics g)

{

setBackground(Color.lightGray);

g.drawString("The following is a image",40,20);

g.drawImage(image,20,30,150,100,this);

}

}

习题10参考答案

1.异常处理可分成哪两种?

答:异常处理可分成运行时的异常处理(RuntimeException)及检查异常处理(CheckedExceptions)两种。

2.下列哪一个是运行时的异常处理?哪一个是检查异常处理?

ArithmeticException、InterruptedException、ClassNotFoundException、ClassCastException。

答:(1)运行时的异常处理——ArithmeticException、ClassCastException。

(2)检查异常处理——IntermptedException、ClassNotFoundException。

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java语言程序设计二级考试模拟试卷

Java语言程序设计二级考试模拟试卷一 (考试时间90分钟,满分100分) 一、选择题(1~20题每题2分,20~30题每题3分,计70分) 在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1、下列叙述中正确的是()。 A、线性表是线性结构 B、栈和队列是非线性结构 C、线性链表是非线性结构 D、二叉树是线性结构 2、下列关于队列的叙述中正确的是()。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 3、设有下列二叉树: 对此二叉树前遍历的结果是()。 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA 4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。则T中的叶子结点数是()。 A、8 B、7 C、6 D、5 5、结构化程序设计主要强调的是()。 A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 6、下面对对象概念描述错误的是()。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态属性 7、在软件测试中,以发现各模块内部可能存在的各种错误为目的的测试是()。 A、集成测试 B、单元测试 C、黑盒测试 D、白盒测试 8、软件需求分析阶段的工作,可以分为四个方面,需求获取、需求分析、编写需求规格说明书以及()。 A、阶段性报告 B、需求评审 C、总结 D、信息隐藏 9、在关系数据库中,用来表示实体之间联系的是()。 A、树结构 B、网结构 C、线性表 D、二维表 10、在关系数据库中,当数据的存储结构改变时,其逻辑结构可以不变,因次,基于逻辑结构的应用程

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

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)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

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

java程序设计基础(含参考答案)

“Java程序设计基础”课程习题 一、填空 1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从 ___main方法___开始执行。 2.定义一个Java类时,通过关键字__extends____指明该类的父类。一个类可以有___1___ 个父类。 3.用public修饰的类称为_公有类或公用类__。用public修饰的类成员称为公有成员。被 说明为public的内容可以被__所有其他类___ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。 4.用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类__ 中使用。 5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用 子类的成员变量,可以在成员变量前加上关键字__super___ 。 6.____Object__ 类是Java类库中所有类的父类。 7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。 8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字__super__ 说明。 9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。 10.Java类名的第一个字母通常要求___大写___。 11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的 名称相同。 12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。 13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_ 两种值。整型数可以采用_十_ 、__八_ 和__十六_三种进制表示。 14.八进制整数以数字__0_开头。十六进制整数以_0x或0X_ 开头。 15.int整型数占用__32位内存。long整型数占用__64 位内存。 16.127L表示__长整型____ 常量。 17.根据占用内存长度将浮点常量分为_double_____ 和__float____ 两种。 18.单精度浮点常量占用__32_ 位内存,双精度浮点常量占用__64 位内存。 19.在Java语言中,字符串“ABC\tD\b\n”中包括__7个字符。 20.数学关系44&&x<9____ 。数学关系x>3且x<=10对应 的Java表达式是_x>3&&x<=10。数学关系x>3或x<-10对应的Java表达式是_x>3||x<-10_。 21.逻辑表达式true&&false&&true的结果是_false_ 。 22.__new__ 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会 自动调用类中的构造方法为对象_初始化_。 23.省略访问修饰符的类只能被同_一包_中的类使用,称之具有包访问特性。 24.用public修饰的类称为_公共类_。用public修饰的类成员称为公共成员。被说明为public 的内容可以被_所有类_ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过_import_语句引入。 25.用_private_ 修饰的类成员称为私有成员。私有成员只能在_本类使用。 26.在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为__方法重载_ 。 27.如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在 成员变量前加上关键字__this__。

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

java程序设计模拟试题四

《Java 程序设计》模拟试题四 一、选择题(每小题2分,共20分) 1. 以下哪个是合法的标识符? ( C ) A. 7star B. else C. my$ D. super 2. 设有对象obj 具有属性a 则访问该属性的方法为( A )。 A. obj.a B. a.obj() C. a.obj D. obj.a() 3. 下列关于关键字this 和super 的说法正确的是( C )。 A. this 是调用父类的方法和变量 B. super 是调用本类中的方法 C. super 是调用父类的方法和变量 D. 没有区别 4. 以下关于重载(overload )的定义哪个正确?( B ) A.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输出参数。 B.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输入参数。 C.在一个类中,定义了多个具有相同名字的方法,并且这些方法有相同的输入参数。 D.在一个方法体中定义了多行代码。 5. 有如下代码段: int i=2; int j=3; if((i==2)||(j++==3)) i++; if((j==4)||(i++==3)) j++; System.out.printf("i="+i+"j="+j); 该程序运行的结果为: ( C )。 A .i=4,j=4 B.i=3,j=5 C .i=4,j=5 D.以上都不是 6. Java 程序用以下哪个命令可编译源文件? ( D ) A. Java B. appletviewer C. Javadoc D. Javac 7. 以下说法正确的个数为 ( B )。 ①构造方法中this 语句必须放在第一句; ②构造方法中super 语句不一定放在第一句; ③final 修饰的变量只能赋值一次; ④static 修饰的变量在该对象的一个实例中被修改,在另一个实例中也可以取得该变量的新值。 A. 1 B. 2 C. 3 D. 4 8. 下列修饰词,可以用来定义接口中方法的为 ( C )。 A. private B. protected C. public D.以上都不是 9. 关于继承的说法正确的是( B )。 A.子类将继承父类所有的属性和方法。 B.子类将继承父类的非私有属性和方法。 C.子类只继承父类public 方法和属性 D.子类只继承父类的方法,而不继承属性 10. 下列关于Java 程序中数组的使用说法正确的是( A )。 A.数组必须在使用前定义 B.同一个数组中的元素类型必须不同 C.数组是一种特殊的变量不需在使用前声明 D.数组的元素不可以是数组 评分标准:本题为单项选择题,每小题2分,共10道小题,共20分;每小题选对给2分,选错、多选、不选不给分也不扣分。 二、填空题(每空1分,共10分) 1. Java 的特点有: 简单性、可靠性和安全性、面向对象、平台无关和解释执行、分布式、多线 程等 (不少于4条)。 评分标准:只要写出四条即可给1分,不写或少于四条不给分,也不扣分。 2. Java 的注释有以下三种: 单行注释(//)、多行注释(/* */)、文档注释(/** */) 。 评分标准:本题答案不唯一,只要写出3条即可给1分,不写或少于3不给分,也不扣分。备注:不写汉字,只写括号中的符号也算正确,或者汉字和符号的组合也对。 3. 建立文件”file.txt ”的字节输入流的语句是 FileInputStream in=new FileInputStream (”file.txt ”) 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:本题答案不唯一,只要是表达出使用字节流类进行文件的字节输入即可,变量名可以不同,只要符合标识符的定义即可。 4. Java 中所有类都是类 Object 的子类。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:首字母必须大写,否则算错不给分,写对象也算正确。 5. Throwable 的两个直接子类是 Error 、 Exception ,在方法头部声明方法可能会 抛出异常使用 throws 关键字。 评分标准:本题正确给3分,不正确或不写、错误不给分也不扣分。备注:Error 、Exception 的首字母必须大写,否则算错不给分;写出对应的汉语也算正确。 6. abastract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在 抽象类中定义。 final 方法是不能被当前类的子类重新定义的方法。 评分标准:本题正确给2分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,抽象和最终。 7. 按照功能组织类和接口的名称空间称为 package 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,包。 三、简答题(每小题5分,共20分) 1. 有如下程序: Moveable.java 文件中有如下代码 interface Moveable{ void move(int x,int y); void jump(int x, int y); } Monkey.java 中如下代码: class Monkey implements Moveable{ public void jump(int x,int y){ System.out.printf(“I am jumping from %d to %d ”,x,y); } 专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

java编程题全集题及答案

J a v a程序设计总复习题 1、编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支) // Programme Name LeapYear.java public class LeapYear{ public static void main(String args[]){ int year=2010; if(args.length!=0) year=Integer.parseInt(args[0]); if((year%4==0 && year%100!=0)||(year%400==0)) 年是闰年。"); else 年不是闰年。"); } }//if-else语句 2、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(循 环) // programme name ForTest.java public class ForTest { public static void main( String args[] ) { int i,j,mul,sum=0; for(i=1;i<=10;i++) { mul=1; for(j=1,j<=i;j++) { mul=mul*j; } sum=sum+mul; } “1!+2!+3!+……+10!= ”+sum); } } 3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格) 并计算人数(switch) 4、使用冒泡排序(数组) public class BubbleSort { public static void main(String[] args) {

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

Java程序设计预赛模拟题-2

一、单选题 1.Java JDK中调试器的命令是( )。 A. javac B. java C. jdb D. javah 2.运行jar文件中class文件需要在java命令后面加的参数为()。 A. -cp B. -g C. -d D. -verbose 3.下面哪项在java中是不合法的标识符?() A. $user B. point C. You&me D. _endline 4.下列哪一项不是Java保留字?() A. sizeof B. super C. abstract D. break 5.下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变? () A. BorderLayout B. CardLayout C. GridLayout D. FlowLayout 6.下面哪些java语句会导致无限循环?( ) I. while (true) i = 0; II. while (false) i = 1; III. while (!false) i = 0; A. III only B. I and III only C. I only D. I, II and III 7.下面是Example.java文件的完整代码,请找出会产生编译错误的行()。 1) class BaseClass { 2) public String str; 3) public BaseClass(){ 4) System.out.println(“ok”);} 5) public BaseClass(String s){ 6) str=s;}} 7) class SubClass extends BaseClass{ 8) } 9) public class Example{ 10) public void method(){ 11) SubClass s=new SubClass(“hello”); 12) BaseClass b=new BaseClass(“world”); 13) } 14) } A. 7 B. 10 C. 11 D.12 8.可以在下面代码段point x处写入的是()。 //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9.下面关于事件监听的说明,哪一个语句是正确的?() A. 所有组件,都不允许附加多个监听器 B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器 C. 组件不允许附加多个监听器

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

Java程序设计-习题参考答案

参考答案 第1章 3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用? 一台计算机由硬件和软件组成。一台典型的计算机由五大部分组成。这五大部分是:运算器,控制器,存储器,输入设备和输出设备。 运算器是执行算术运算和逻辑运算的部件。 控制器是向计算机其他部分发送命令的部件。 存储器是计算机用来存储数据、信息的部件。 输入设备就是外界向计算机输入信息设备。 输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。 9、将以下十进制数转换为对应的二进制数 (1)32 (2)97 (3)256 (4)500 (1)100000 (2)1100001 (3)100000000 (4)111110100 第2章 1.Java语言有哪些主要特点。 平台独立性 安全性 多线程 网络化 面向对象 3.Java Application的开发步骤有哪些。 Java Application的开发步骤: (1)下载JDK软件并安装; (2)配置相应的环境变量(path和classpath); (3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java); (5)执行字节码文件(java 字节码文件名)。

4.什么是环境变量,设置环境变量的主要目的是什么。 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。 第3章 1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。 a a2 3a *a _a $a int a% 在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符: a a2 _a $a 5.数据类型强制转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换) 第4章 5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1;

相关文档
最新文档