java程序设计之网络编程第二版课后习题答案_第1页
java程序设计之网络编程第二版课后习题答案_第2页
java程序设计之网络编程第二版课后习题答案_第3页
java程序设计之网络编程第二版课后习题答案_第4页
java程序设计之网络编程第二版课后习题答案_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 习题及思考题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.2bin;%PATH%当程序需要第三方的类库支持, 而且比较常用, 就可以采用此种方法.比如常用的数据库驱动程序, 写 servlet 需要的 servlet 包等等. 设置方法就是在环境变量中加入 CLASSPATH. 然后就可以直接编译运行了.Java 运行环境从 CLASSPATH 环境变量中寻找要执行的用户项目(三方的类库) 。可以按如下的方式设置SET CLASSPATH=.;C:J2SDK1.4.2jrelibjaws.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=xy;y=yx;x=xy;3. 下列哪个是合法的标识符:( )。A、a=b B、_Hello C、2nd D、Chong qing 答:B4. 下列哪些是合法的标识符() 。 A、new B、class C、int D、const2 答:D5. 如果定义有变量double d1, d2=4.0则下列说法正确的是:A、变量d1,d2均初始化为4.0B、变量d1没有初始化,d2初始化为4.0C、变量d1,d2均未初始化D、变量d2没有初始化,d1初始化为4.0答:B6. 判断题:所有的变量在使用前都必须进行初始化。 ( )答:正确。7. 内部数据类型byte的取值范围是:( ) A、065, 535B、(-128)127C、(-32,768)32,767D、(-256)255答:B8. 下列哪些是不能通过编译的语句:( ) A、int i = 32;B、float f = 45.0;C、double d = 45.0;D、char a=c;答: B9. 判断题:Java中数据类型的长度与具体使用的机器相关。 ( )答:错误。10. 如果定义有double x;float y;int m,则表达式x*y-m的类型为( ):A、double B、float C、int D、short答:A11. 如果定义有short s;byte b;char c,则表达式s*b+c的类型为( ):A、char B、short C、int D、byte答:C12. 已知int i= 2147483647; +i; 则i的值等于多少( )A -2147483648 B 2147483647 C 2147483648答:A13. 已知byte i= 127; +i; 则i的值等于多少( )A -128 B 127 C 128答:A14. 已知byte i= 127; i=i+1;这两行语句能否编译成功?( )答:编译不成功。15. 执行以下程序段int a=5,b; b=+a*3后b的值为:( )A、17 B、18 C、16 D、15 答: B16. 如果x=3,y=5,则表达式x|y的值为:( )A、15 B、8 C、1 D、7 答:D17. 如果int a=3,b=2,则执行a*=b+8后a的值为:( )A、20 B、14 C、30 D、16 答:C18. 若所用变量都已正确定义,以下选项中,非法的表达式是:( )A、a!=4|b=1 B、a%3 C、a=1/2 D、A+32答:C19. 设有定义语句int a=1,1,2; 则以下对此语句的叙述错误的是( )。 A、定义了一个名为a的一维数组 B、a数组有3个元素 C、a数组的下标为13 D、数组中的每个元素是整型答:C20. 以下数组初始化形式正确的是:( ) A、int t1=1,2,3,4,5,6 B、int t2=1,2,3,4,5,6 C、int t332=1,2,3,4,5,6 D、int t4;t4=1,2,3,4,5,6答:A第三章 习题及思考题1、编写一个程序,用选择法对数组a=20,10,55,40,30,70,60,80,90,100进行从大到小的排序解: public class ArraySortpublic static void main(String args)int array=20,10,55,40,30,70,60,80,90,100;int i,j,k,t;int m=array.length;for(i=0;i=0?disc:-disc;p2=Math.sqrt(absdisc)/(2.0*a);if(disc0)str=args0;System.out.println(“str=“+str);n=str.length();char ch1,ch2;String temp=“;for (i=0;ij/2)System.out.println(“+j+“是素数“); 9、在一个循环中使用break,continue和return有什么不同?解:在循环中使用break语句,将使循环终止,流程从break语句处跳转到break语句所在的循环外面的第一个语句继续执行。在循环中使用continue语句,将提前结束本轮循环,流程跳转到continue语句所在循环的第一个语句继续执行。在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。10、结构化程序设计有哪三种流程?他们分别对应Java中那些语句解:结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。第四章 习题及思考题1.什么是类?什么是对象?对象和类是什么关系?答:类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板” 。 对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。类和对象之间的关系是抽象和具体的关系:类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的状态。举例:类与对象的关系犹如零件的图纸与按图纸制造出的零件关系一样;图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等2、 什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?答:方法是Java类的一个组成部分,通过类的方法改变对象的状态。 方法的结构:方法修饰符 返回值类型 方法名( 形参列表 )throws 异常列表 方法体; 设计方法应考虑因素有:(1) 方法名是Java 中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。 (2) 返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。 (3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号 “()”表示。形式参数列表的形式如下: (类型 形参名,类型 形参名,) (4) throws异常列表规定了在方法执行中可能导致的异常。3.创建一个有两个方法的类,其中第一个方法两次调用第二个方法,第一次不使用this ,第二个使用this。 class Rectangle /矩形类 int width; / 矩形的宽 int usethis(int width) /返回宽度的函数 this. width= width; /指自己这个对象 return width; int unusethis(int width) int w=width; return w; public static void main(String args) Rectangle r=new Rectangle(); /类对象的实例化 System.out.println(“It is about the node of this.“); /输出语句 System.out.println(r.usethis(1); System.out.println(r.unusethis(2); 运行结果: It is about the node of this. 1 2 4、创建一个类,该类还有int和char类型的成员变量且未被初始化,然后编程输出这些成员变量的值,查看java是否执行了默认的初始化操作。 参考答案:public class CuoShiHua int a; /整型变量char b; /字符型变量public void show() /用来输出未被初始化的变量的 System.out.println(a);System.out.println(b);public static void main(String args) CuoShiHua c = new CuoShiHua(); /声明类的对象并实例化c.show(); /函数调用输出结果:0 /小方格代表空格 5、创建一个类,该类含有的成员变量和成员方法,创建一个该类的对象,察看当时图访问这些成员时,编译程序会给出那些信息(注意:在同一目录下的类都属于一个默认的包)。 class text1 static int a; /当被定义为static类型时,为类变量,可被对象或类调用 int b; /对象变量,只能被对象调用 public void display(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论