Java程序设计各章习题及其答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java程序设计各章习题及其答案
第一章习题及思考题
1、Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?
答:一个Java源程序是由若干个类组成。一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public 类;如果源文件中只有一个类,则不将该类写成public也将默认它为主类。源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。
2、怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?
答:Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。
在源程序代码中两者的主要区别是:任何一个Java Application 应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。
应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。小应用程序的主类在任何时候都需要用public来修饰。
3、开发与运行Java程序需要经过哪些主要步骤和过程?
答:主要有三个步骤
(1)、用文字编辑器notepad(或在Jcreator,Gel, BuleJ,Eclipse, Jbuilder等)编写源文件;
(2)、使用Java编译器(如Javac.exe)将.java源文件编译成字节码文件.class;
(3)、运行Java程序:对应用程序应通过Java解释器(如java.exe)来运行,而对小应用程序应通过支持Java标准的浏览器(如Microsoft Explorer)来解释运行。
4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?
答、更新系统PATH的方法随Windows版本不同而不同。对于Windows 95/98,可以将下列项目作为C:\autoexec.bat文件的最后一行:
SET PATH = C:\j2sdk1.4.2\bin;%PATH%
当程序需要第三方的类库支持, 而且比较常用, 就可以采用此种方法.比如常用的数据库驱动程序, 写servlet 需要的servlet 包等等. 设置方法就是在环境变量中加入CLASSPATH. 然后就可以直接编译运行了.Java运行环境从CLASSPATH环境变量中寻找要执行的用户项目(三方的类库)。可以按如下的方式设置
SET
CLASSPATH=.;C:\J2SDK1.4.2\jre\lib\jaws.jar;%CLASSPATH% 通常我们要从当前目录中寻找用户类,因为开发的程序相关的类放在这里,. 表示当前工作目录.
5、Java语言特点是什么?
答:Java是一种简单的面象对象的分布式的解释的健壮的安全的结构中立的可移植的性能很优异的多线程的动态的语言。
6、简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。
解:面向过程问题求解利用计算机能够理解的离散逻辑来描述和表达所求解的问题本身以及具体问题解决的过程,它的核心是算法和数据结构,面向对象的问题求解则利用符合人们日常思维习惯的方式去模拟所求解的问题,模拟它的构成、特征和各种动态行为,从而得到问题的解答。它的核心是类、对象和设计模式。
常见的面向过程的编程语言有BASIC,FORTRAN,Pascal, C等。常见的面向对象的编程语言有Smalltalk-80,Object Pascal, C++, Java 等。
第二章习题及思考题
1. 试分析基本数据类型和引用数据类型的基本特点?
答:Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。
引用类型都是用类或对象实现的
2. 请使用异或运算符^, 实现两个整数的交换。
答:int x=5,y=19;
x=x^y;
y=y^x;
x=x^y;
3. 下列哪个是合法的标识符:( )。
A、a=b
B、_Hello
C、2nd
D、Chong qing
答:B
4. 下列哪些是合法的标识符()。
A、new
B、class
C、int
D、const2
答:D
5. 如果定义有变量double d1, d2=4.0则下列说法正确的是:
A、变量d1,d2均初始化为4.0
B、变量d1没有初始化,d2初始化为4.0
C、变量d1,d2均未初始化
D、变量d2没有初始化,d1初始化为4.0
6. 判断题:所有的变量在使用前都必须进行初始化。()
答:正确。
7. 内部数据类型byte的取值范围是:( )
A、0~65, 535
B、(-128)~127
C、(-32,768)~32,767
D、(-256)~255
答:B
8. 下列哪些是不能通过编译的语句:()
A、int i = 32;
B、float f = 45.0;
C、double d = 45.0;
D、char a=‘c’;
答: B
9. 判断题:Java中数据类型的长度与具体使用的机器相关。()
答:错误。
10. 如果定义有double x;float y;int m,则表达式x*y-m的类型为():
A、double
B、float
C、int
D、short
答:A
11. 如果定义有short s;byte b;char c,则表达式s*b+c的类型为():
A、char
B、short
C、int
D、byte