您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > java程序设计使用教程(第2版)答案
1第一章习题答案一、简答题1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。(2)计算过程的可视化、可操作化的软件的开发。(3)动态画面的设计,包括图形图象的调用。(4)交互操作的设计。(5)Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等。(6)Intranet上的软件开发(直接面向企业内部用户的软件)。(7)与各类数据库连接查询的SQL语句实现。(8)网络通信与移动通信,网络集成方面。2.Java程序分为哪两类?各有什么特点?如何区分它们?Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。3.简述Java程序的运行过程。一个Java源的运行需要经过三个步骤:(1)编辑源程序,产生.Java的源程序文件(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件(3)根据程序的不同类型运行程序。对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。4.什么是Java虚拟机?简述其工作机制。Java虚拟机(JavaVirtualMachine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。JVM是运行Java程序必不可少的机制,编译后的Java程序指令并不直接在硬件系统上CPU上执行,而是由JVM执行。JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看成一个虚拟的处理器,它不仅解释执行编译后的Java指令,而且还要进行安全检查,它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。5.Java编程工具有哪些?各有什么特点?Java编程工具主要包括8种:JDK,Jbuilder,Jcreator,JavaWorkshop,VisualAgeforJava,VisualCafeforJava,FreeJava,VJ++6.0。2各种编程工具的特点参照教材内容。6.什么是JDK?它与J2SDK有什么关系?JDK:JavaDevelopmentKit—Java开发工具集,它运行在Windows中的MS-DOS窗口状态,用户需要在提示符下输入命令。JDK是一种免费资源,一般使用的是其标准版,即J2SDK:Java2StandardDevelopmentKit。7.如果在D:\MyJavaFile目录下有一个文件FirstJavaProgram.Java,写出在JDK环境下,此程序的运行过程。运行过程:先切换到D:\MyJavaFile目录,然后依次执行:(1)javacFirstJavaProgram.Java(2)javaFirstJavaProgram.class8.什么叫面向对象编程?什么是对象?什么是类?面向对象编程(Object-OrientedProgramming,OPP)是一套概念和想法,它与面向过程的编程方法相对应,是一种利用计算机程序来描述实际问题的思路,也是一种直观,效率更高的解决问题的方法。面向对象的程序设计方法按照现实世界的特点来管理复杂的事物,把它们抽象为对象,具有自己的状态和行为,通过对消息的反应来完成一定的任务。对象就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为,一个对象的变量构成这个对象的核心,包围在它外面的方法使这个对象和其它对象分离开来。类是对一组具有相同特征的对象的抽象描述,所有这些对象都是这个类的实例。在程序设计语言中,类是一种数据类型,而对象是该类型的变量,变量名即是某个具体对象的标识名。一、操作题4.依照教材中的例题程序,自己分别编写一个Application和Applet,功能是输出信息:IloveJava!源程序如下:publicclassHelloWorldApp{publicstaticvoidmain(Stringargs[]){System.out.println(IloveJava!);}}5.定义一个类Person,并分别设置若干成员变量和成员方法,并上机调试。publicclassPerson{charname[];intage,no;floatincome;voidspeak(){System.out.println(Iamdoingmyhomework!);3}//endspeak()}//endclass第二章习题答案一、简答题1.Java提供了哪些注释语句,功能有什么不同?Java语言提供了3种形式的注释:(1)//一行的注释内容以//开始,最后以回车结束,表示从//到本行结束的所有字符均作为注释内容(2)/*一行或多行的注释内容*/从/*到*/间的所有字符(可能包括几行内容)都作为注释内容。以上两种注释可用于程序的任何位置。(3)/**文档注释内容*/当这类注释出现在任何声明之前时将会作特殊处理,它们不能再用在代码的任何地方。这类注释意味着被括起来的正文部分,应该作为声明项目的描述,而被包含在自动产生的文档中。2.识别下面标识符,哪些是合法的,哪些是非法的。Ply_1,$32,java,myMothod,While,your-list,class,ourFriendGroup_$110,长度,7st合法标识符:Ply_1,$32,java,myMothod,ourFriendGroup_$110,While不合法标识符:class(关键字),长度,7st3.Java提供了哪些数据类型,全部写出来。二、编程题//1.编写程序,从10个数中求出最大值、最小值及平均值。publicclassXT00201{publicstaticvoidmain(Stringargs[]){inti,s=0,min=Integer.MAX_VALUE,max=Integer.MIN_VALUE;floatave;4inta[]=newint[10];for(i=0;i2;i++){a[i]=(int)(100*Math.random());//取随机数if(maxa[i])max=a[i];if(mina[i])min=a[i];s+=a[i];}System.out.println(最大值是:+max);System.out.println(最小值是:+min);System.out.println(平均值是:+s/10);}}//2、编程求n!,设n=8。publicclassXT00202{publicstaticvoidmain(Stringargs[]){inti,n=8;longs=1l;for(i=1;i=n;i++)s*=i;System.out.println(8的阶乘是:+s);}}//3、编程,根据考试成绩的等级打印出分数段,优秀为90以上,良好为80~90,中等为70~79,及格为60~69,60以下为不及格,要求采用switch语句。publicclassXT00203{publicstaticvoidmain(Stringargs[]){inta[]={85,95,65,53,77,68,45,99,100};inti,l;for(i=0;i=a.length;i++){l=a[i]/10;switch(l){case9:case10:System.out.println(成绩是:+a[i]+:等级是+优秀);break;case8:System.out.println(成绩是:+a[i]+:等级是+良好);break;5case7:System.out.println(成绩是:+a[i]+:等级是+中等);break;case6:System.out.println(成绩是:+a[i]+:等级是+及格);break;default:System.out.println(成绩是:+a[i]+:等级是不及格);}//endswitch()}//endfor}endmain()}//endclass//4、判断一个数是不是回文。回文是一种从前向后读和从后向前读都一样的文字或者数字,如12321、569878965、abcba。importjava.io.*;publicclassXT00204{publicstaticvoidmain(Stringargs[])throwsIOException{inti=0,n=0;booleanflag=true;charch,a[]=newchar[20];System.out.println(请输入字符串或者数字(最多20个):);ch=(char)System.in.read();while(ch!='\n'){a[n]=ch;n+=1;ch=(char)System.in.read();}//注意n=a.length+1for(i=0;in/2;i++){if(a[i]!=a[n-2-i])flag=false;break;//可以不加吗?}if(flag)System.out.println(这是回文);elseSystem.out.println(不是回文);}}//5.将数组中值按从大到小的顺序输出6publicclassXT00205{publicstaticvoidmain(Stringargs[]){inti,j,temp;inta[]={25,35,10,59,-22,19,50,24,53,-2};for(i=0;ia.length-1;i++)for(j=0;ja.length-1-i;j++)if(a[j]a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}System.out.println(由小到大排序的结果是:);for(i=0;ia.length;i++)System.out.println(a[i]);}//endmain()}//endclass//6.编程输出杨晖三角形的前8行。(提示:杨晖三角形的构造特点是:每一行两边的数均为1,中间的数等于它肩上的两个数之和)//1//11//121//1331//14641//15101051publicclassXT00206{publicstaticvoidmain(Stringargs[]){inti,j,temp;inta[][]=newint[8][8];for(i=1;ia.length;i++){for(j=1;j=i;j++){if((j==i)||(j==1))a[i][j]=1;elsea[i][j]=a[i-1][j]+a[i-1][j-1];System.out.print(a[i][j]+);}//endforjSystem.out.println();}//endfori}//endmain()}//endclass7第三章习题答案一、简答题1.类的修饰符包括哪些?各起什么作用?包括访问控制符(表示被访问权限)、抽象类说明符abstract(说明是否是抽象类)、最终类说明符final(表示是否是最终类)。2.什么是抽象类?什么是抽象方法?抽象方法与普通方法有什么不同?以abstract作为关键字,如果有的话,应
本文标题:java程序设计使用教程(第2版)答案
链接地址:https://www.777doc.com/doc-2878793 .html