java开发实战经典习题答案.docx
- 文档编号:4042489
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:27.13KB
java开发实战经典习题答案.docx
《java开发实战经典习题答案.docx》由会员分享,可在线阅读,更多相关《java开发实战经典习题答案.docx(16页珍藏版)》请在冰豆网上搜索。
java开发实战经典习题答案
java开发实战经典习题答案
【篇一:
java_开发实战经典_第四章课后习题答案_完整版】
classfour01{
publicstaticdoublesum(inta){
}
publicstaticvoidmain(string[]args){
inta=4;doublesum=0;doublek[]=newdouble[a];for(inti=1;i=4;i++){}for(intj=0;jk.length;j++){}sum=sum+k[j];k[i-1]=sum(i);doublesum=1;for(inti=1;i=a;i++){sum=sum*i;}returnsum;
system.out.println(总数为:
+sum);
}
}
第二题
publicstaticvoidmain(string[]args){
inta[]={1,2,3,4,5,6,7,8,9,10,11};into=0,e=0;for(inti=0;ia.length;i++){}if(a[i]%2==0){}e++;o++;}else{
system.out.println(奇数个数为:
+o+\t+偶数个数为:
+e);}
}
第三题
publicclassfour03{
publicstaticvoidmain(string[]args){
}intoldarr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};intnewarr[]=newint[16];for(inti=0,j=0;ioldarr.length;i++){}for(inti=0;inewarr.length;i++){}//必须要写这个if语句,因为newarr多余的空间默认值为0if(newarr[i]!
=0)system.out.print(newarr[i]+);if(oldarr[i]!
=0){}newarr[j]=oldarr[i];j++;
第四题
publicclassfour04{
publicstaticvoidmain(string[]args){
intarray[]={1,2,3,4,5,6,7,8,9,10,11};intm=max(array);system.out.println(最大值为:
+m);inta=min(array);system.out.println(最小值为:
+a);ints=sum(array);
system.out.println(总数为:
+s);
}
publicstaticintmax(inttemp[]){
}
publicstaticintmin(inttemp[]){
}
publicstaticintsum(inttemp[]){
}
}intsum=0;for(inti=0;itemp.length;i++){}returnsum;sum=sum+temp[i];intz=temp[0];for(inti=0;itemp.length;i++){}returnz;if(ztemp[i]){}z=temp[i];intz=temp[0];for(inti=0;itemp.length;i++){}returnz;if(ztemp[i]){}z=temp[i];
第五题
publicclassfour05{
publicstaticvoidmain(string[]args){
}
publicstaticvoidsearch(intc,inttemp[]){
booleanflag=false;for(inti=0;itemp.length;i++){if(c==temp[i]){intarray[]={1,2,3,4,5,6,7,8,9,10,11};inta=5;intb=100;search(a,array);search(b,array);
}
}}if(flag){system.out.println(yes,此数组中存在元素+c);}else{system.out.println(no,此数组中不存在元素+c);}
第六题
publicclassfour06{
publicstaticvoidmain(string[]args){
}
publicstaticvoidinit(intx[]){
}
publicstaticvoidprint(intx[]){
}
publicstaticvoidreserve(intx[]){
intfoot=0;inthead=0;if(x.length%2==0){foot=x.length/2;head=foot-1;for(inti=0;ix.length/2;i++){}foot=x.length/2;head=foot;for(inti=0;ix.length/2+1;i++){}inttemp=x[foot];x[foot]=x[head];x[head]=temp;head--;foot++;inttemp=x[foot];x[foot]=x[head];x[head]=temp;foot++;head--;for(inti=0;ix.length;i++){system.out.println(x[i]+、);}for(inti=0;ix.length;i++){}x[i]=i;inttemp[]=newint[10];init(temp);print(temp);reserve(temp);system.out.println();print(temp);}else{
}
第七题
publicclassfour07{
publicstaticvoidmain(stringargs[]){
floatscore[]={90f,87f,78f,67f,93f,79f,82f,84f,71f,86f};floatmax=score[0];for(inti=0;iscore.length;i++){}if(maxscore[i]){}max=score[i];
system.out.println(最高分为:
+max);}
}
第八题
publicclassfour08{
publicstaticvoidmain(string[]args){
intarray[]={1,2,1,3,4,6,5,4,3,2,0,9,8,7,6,5,4,3,5,6,7,8,9,0,9,8,2,1,3,4,};intn1=0,n2=0,n3=0,n4=0,n5=0,n6=0,n7=0,n8=0,n9=0,n0=0;for(inti=0;iarray.length;i++){switch(array[i]){case1:
{}case2:
{}case3:
{}case4:
{}case5:
{}case6:
{}case7:
{}case8:
{n7++;break;n6++;break;n5++;break;n4++;break;n3++;break;n2++;break;n1++;break;
}}case9:
{}case0:
{}}n0++;break;n9++;break;system.out.println(0----9的个数分别为:
+n0+、+n1+、+
n2+、+n3+、+n4+、+n5+、+n6+、+n7+、+n8+、+n9);
}
}
第九题
publicclassfour09{
publicstaticvoidmain(string[]args){inta[]={1,2,3,4,5,6,7,8,9,0};
intmaxfoot=0;
intmax=a[0];
for(inti=0;ia.length;i++){
}
intval=a[0];
a[0]=a[maxfoot];
a[maxfoot]=val;
system.out.println(a[0]);
}
}if(maxa[i]){}max=a[i];maxfoot=i;
第十题
publicclassfour10{
publicstaticvoidmain(string[]args){inttemp[]={1,2,3,4,5,6,7,8,9,10};java.util.arrays.sort(temp);
print(temp);
temp=inc(temp,13,12,34,5,6,7);java.util.arrays.sort(temp);
print(temp);
【篇二:
java开发实战经典】
ass=txt>首先需要为读者说明的是,《java开发实战经典》,如图1所示,不只是一本纯粹讲解基础的书,里面更多的内容是为javaee的开发而服务的,所以读者在学习本书的时候应该重点培养的是思想,按照程序解释问题的思想。
在本书的序言的视频之中已经为读者介绍了本书的整体结果,实际上每个读者必须首先搞清楚javase和javaee的关系,如图2所示。
从图2中可以清楚的发现,如果要想进行javaee的开发,javase是其中必要的组成部分,这也就是为什么在学习javaee之前要读者一定要有扎实的javase基础了。
在本书的序章中也为读者讲解过,javase核心的部分就是以下四个:
1、面向对象:
主要是要求读者建立好一个面向对象的概念,并可以灵活的运用这些概念进行程序的分析,可以说在整个javase部分核心就是面向对象的开发,里面涉及的概念较多,但是所有的概念最终都是为接口和抽象类服务的,而所有java开发中涉及到的各个设计模式,实际上也是针对于接口和抽象类的应用。
2、类集框架:
大部分的读者都应该听过或学习过数据结构,虽然从大学就开始学习《数据结构与算法》,但是实际上来讲,学习完后真正可以进行数据结构编写的人并不多,而且大部分的数据结构都是以c语言为基础讲解的,而类集就相当于是java实现的数据结构,包括树、链表、队列等等,如果只是进行应用层次开发的读者没有必要深入了解其内部的操作,但是必须清楚的掌握其核心的接口和各个操作类。
3、io操作:
对于大部分的自学者而言,io操作也许是最难过的一个坎了,如果没有很好的理解抽象类和接口的概念,那么要想充分的理解io操作是很难的,在整个io操作之中,完整的体现了java语言多态性的设计思想,而且在学习io的时候必须始终把握住一个原则:
“根据使用的子类不同,输入输出的位置也不同”。
4、java数据库操作(jdbc):
jdbc首先并不能算是一门技术,更多的应该算是一种服务——java提供的数据库访问服务,里面提供了大量的操作接口,各个数据库生产商根据这些接口实现自己的数据库操作,从面向对象的设计上来看,用户完全没有必要考虑其接口是如何实现的,而更多的是关心如何使用这些接口。
而且从现在的项目开发中,读者可以清楚的发现,大部分的开发都是基于数据库的开发。
虽然核心是以上四个,但是对于程序开发,每位读者应该建立起一些基本的程序思路,对于初学者来讲,应该将本书第一部分的知识打牢,基本的循环操作要明白,例如:
打印正三角形、九九乘法表、冒泡算法等都是一些基本的要求。
而且在学习程序的开发上没有任何的捷径,每一位普通人肯定都需要进行反复的代码熟练才能将代码运用明白,就好象练习武工一样,只有坚持练习,才能让自己的动作收发自如,灵活运用。
我在讲课的时候跟学生讲过,我的脑子里不会记住任何的代码,包括讲课中我也没有任何的代码记住,只是我敲熟了,用的时候代码就自然尔然的写出来了,所以只有勤学苦练才能牢固的掌握编程语言,世界上或许有程序天才,但是我自己承认我和大部分人一样,都是普通人,都是每一步一个脚印走出来的。
《java开发实战经典》一书从酝酿到出版用了5年的时间,实际上这本书的前身是我在2005年的时候写完的,因为之前很多学生问我应该看那几本书,我就给学生推荐了四、五本书,因为每本书都有其各自的特点,后来我想能不能将这些书的特点完全融合在一起,写一本真正为初学者用的书?
抱着这个想法我就尝试着开始写,不过第一本书在今天看来真的是有些儿戏了,后来经过重新改版扩充之后才形成了最终的这本《java开发实战经典》,而且我发现,在每一个初学者眼中总是把一门技术看的很神秘,当然,也有不少的书籍本身写的就很晦涩,让人一看就晕,从而增加了恐惧,为了将每一位读者的恐惧降到最少,在本书的每一段代码几乎都加上了注释,后来为了继续
保证每一位学员可以彻底的学会,彻底的从许多的“垃圾”书中脱离出来,我决定再单独录制一份完整的视频教学,每一章的每一节与书中的内容完全对应,我想这样应该可以让每一位读者以最轻松的方式学会,我不能说我录制的视频一定是最好的,书写的也是最棒的,但是我能对每一位读者承诺的是“我在用心做事,写最好的书籍”,我的目的是让每一位读者真正的明白java语言的最大特点就是简单,而不是晦涩难通的,也很想从这本书做起,让每一位在校的老师可以清楚的知道到底如何去教学生java基础这门课程,所以也为每一位老师准备了ppt、教学大纲,为的是可以为中国的软件业做一份自己的微薄贡献,从多年的it行业的经验来讲,我给每一位读者的建议是:
“如果要从事it行业,最好有一些编程经验”。
记得网络上的一位读者这么评价本书:
“如果连这本书都无法学明白,那么你也就不要去搞程序了”,我很感谢这为读者对我这本书的肯定,所以我也会陆续推出后面的系列书籍。
在我们mldn软件实训中心,有不少咨询的学员都在问:
“我只学过c语言,我能学会java吗?
”在这里我跟这些学员说一下我的亲身经历,我本身最早的时候只会c语言,c语言只会到数组,甚至连函数都不会写,指针都不明白,但是就靠着自己的毅力把整个java完全自学过来了,那么既然大家都是普通人,我可以学会,你们为什么不能学会呢?
遇到困难不要放弃,更不要对自己怀疑,只有抱着坚强的信念才可以把任何困难战胜。
学了这么多年程序,也搞了这么多年,从最早只会c、java到后来可以熟练掌握各个主流语言的开发,中间经历了很多的辛酸,这一每一步的成长自己都能看得到、感受的到,但是也终于发现,实际上所有的程序语言都是相通的,核心的内容就是关键字、基本控制、数组、方法(函数),根据不同的平台找不同的方法,所以不要被各个语言所迷惑,也不要觉得难,因为当你自己完全学会了一门语言之后,其他的就都学会了。
每一本书实际上都有其自己的主要学习路线,对于本书也一样,为了照顾到更多的读者,本书也增加了许多非重要的章节,下面按照重要顺序分别为读者列出:
1、重点掌握:
充分的理解每一个知识点,代码编写熟练,如果为了参加我们mldn的学习而学习的话,此部分一定要在预习中作为重点。
|-第1章java概述及开发环境搭建:
java的主要作用、特点、开发环境、classpath。
|-第2章简单java程序:
publicclass和class的区别,程序的基本结构、关键字。
|-第3章java基础程序设计:
各种循环控制、运算符。
|-第4章数组与方法:
数组的定义、动态初始化、静态初始化、内存分配、方法定义格式、方法重载、两个新特性:
foreach、可变参数。
|-第5章面向对象(基础篇):
类与对象、类的定义结构、构造方法、private、static、this、引用传递、内部类,在本章一定要掌握简单类的开发方法。
|-第6章面向对象(高级篇):
类的扩展、super、final、抽象类、接口、多态、实际分析。
|-第7章异常的捕获及处理:
异常的产生原因、标准异常的处理语句格式、throw、throws、assert
|-第8章包及访问控制权限:
包的作用、package、import、系统常见包、四种权限的关系
|-第11章jva常用类库:
在学习本章的时候不要花太多的经历去记住类的使用方法,关键是要学会如何查询文档,java提供的系统类太多了,每个人是不可能全部记下来的,用到何种功能大概可以想起来,之后通过文档查询其具体用法就行了,没有一个人可以将所有的类库都背下来,
只需要将常用的灵活掌握即可。
例如:
stringbuffer、垃圾收集、date、simpledateformat、正则、比较器
|-第12章javaio:
面向对象的核心体现,file、outputstream、inputstream、wirter、reader、serializable
|-第13章java类集:
作用及使用、collection、list、set、map、iterator等核心接口使用
|-第17章java数据库编程:
mysql、sql命令、statement、preparedstatement、
resultset、事务处理,因为本书不是一本专门讲解数据库的书籍,所以在讲解的时候只是介绍性的讲解了部分的sql语句。
2、理解掌握:
掌握其运行的基本效果,具体的代码可以不用全部灵活掌握
|-第9章多线程:
运行形式、两种实现方式及区别、同步及死锁
|-第10章泛型:
泛型更多的是应用在类集的概念上,所以本章只需要掌握泛型的使用形式即可
|-第14章枚举:
enum关键字,如果没有习惯于使用枚举开发的人员,则本章只需要了解即可。
|-第15章java反射机制:
重点部分就是在于如何取得class对象,并且进行对象的实例化操作。
|-第16章annotation:
在ejb3.0中使用较多,纯粹的java开发主要就是三个内建的anotation。
|-第21章附录:
eclipse开发工具:
开发工具本身不能算是重点,在本书讲解中基本上都很少使用到开发工具,读者一定要记住:
只要程序会编写了,则开发工具也就自然会使了。
3、了解掌握:
了解其主要作用即可,不用做深入研究,如果是专门为javaee而学习的读者,以下的部分可以不用学习。
|-第18章图形界面:
编写图形界面显示
|-第19章java网络编程:
tcp、udp
|-第20章java新io:
提升服务器性能
在这里需要为读者说明的是,在本书的第17章
java数据库编程部分并没有过多的讲解数据库的相关知识,是因为在设计本书是,我更多的考虑是如何把一个程序讲解清楚,关于数据库方面的内容对于程序开发也是非常重要的,我也在全力编写我的第二本:
javaweb开发实战经典、第三本:
oracle实用开发,两本书,为的是能让读者可以按照一个体系学习,这样本书中所提到的各种思想就自然而然的贯彻下来了。
我的第二本书籍预计是在2009年春节之前推出,书中的内容现在已经编写的差不多了,我曾经跟编辑说过:
“我可以保证我这本出版的javaweb开发成为市面上最有价值的最好的web开发书籍”,里面包含了众多的web开发的核心知识,并且加入了大量的案例操作,如果等不及的读者也可以先看我们mldn软件实训中心推出的一张视频光盘——《java26日通》,如图3所示,里面包含了我们中心上课时候专门录制的视频,以及一些使用java开发的游戏课程,这些都算是我们的兴趣课堂,还有就是web开发的核心讲解。
我将要出版的web开发一书中有很多的内容实际上都是从这些出版的光盘而来,如果不急的朋友,可以耐心等待。
javase学习完之后,我建议读者最好先学一下数据库的相关知识,从整个中国的软件开发来看,oracle、mysql、sqlserver三个数据库使用较多,但是个人认为,学习oracle会比较好一些,而且读者必须记住一点,在java的开发中如果使用了sqlserver则性能是最差的,故:
在此我推荐的就是oracle数据库,可是,读者也必须清楚一点,我们是程序开发人员,而数据库管理是另一门学科,在学习数据库的时候应该将更多的重点放在sql语句的编写上,如果希望获得一些免费资料的读者,可以直接通过此页面进行下载:
要记住web开发是一门综合的学科,所以读者在学习web开发之前一定要熟练掌握以下技术:
1、html:
基本的元素编写、网页的页面制作
2、javascript:
事件、函数的编写
3、xml:
基本操作语法
这些全部熟练掌握之后,才可以学习web开发,在web开发中其核心就是进行数据库的操作,数据库的核心操作也就是四种:
增加、修改、删除、查询,先从jsp学习,并可以使用jsp+jdbc或者是jsp+dao完成操作,并做一些简单的类似于bbs之类的小项目,并且可以充分的理解开发中所带来的问题,之后在学习mvc设计模式,并可以使用这些进行项目的开发,能够达到这些实际上也就相当于达到了2003年时的开发要求。
如果掌握mvc设计,读者也就可以轻松的掌握ajax、struts技术了,也就是说,到真正形成mvc设计思路之前的学习都是很痛苦的,而一旦掌握了mvc设计模式,也就相当于自己程序的脉络已经打通了,再学习其他的内容也就容易多了,而像hibernate、spring技术实际上也就是对dao层的加强而已,这些学习流程如图4所示。
ajax本身并不属于一门新的技术,更多的javascript及xml的操作,当然,对于ajax技术本身也有许多的开发框架支持,例如:
dwr、jquery、json、extjs等,对于这些框架读者用到的时候直接学习即可,把握核心原理才是最重要的,而框架只是一个操作形式。
struts技术相信现在大多数的人都知道,struts发展到今天已经逐步成为了一个javaee行业的开发标准,但是struts框架本身只是一个工具,其核心的内部还是mvc设计模式的应用,可以这么说,如果完全的精通了mvc设计模式,并且已经通过mvc完成过项目代码的开发,struts完全可以在三天内学下来,而且不用将其当做一门新的技术掌握,它就是个工具,就是一套架构代码而已。
hibernate和spring实际上是解决轻量级实体层开发的有效方法,这两种框架的理论都来源于ejb,也就是说ejb技术是最重要的理论支持,使用hibernate和spring联合开发可以很方便的帮我们解决数据库的打开和关闭问题,以及声明式事务的操作,所有的代码几乎都是靠配置完成,如果觉得配置过于复杂也可以不记,而通过复制完成,而且对于这种开源框架个人的意见是不要花太多的精力去搞,只要可以正常使用即可,就好比武侠小说中的各个门派一样,存活到今天的也就是少林寺和武当派了,而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 开发 实战 经典 习题 答案