java编程思想第四版过时了吗?java编程思想适合初学者吗
大家好,今天来为大家解答java编程思想第四版过时了吗这个问题的一些问题点,包括java编程思想适合初学者吗也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
现在看Java编程思想这本书会不会过时了
不会。
Java是面向对象编程的经典语言,其中蕴含的面向对象的编程思想至少在未来二十年内是不会落伍的。
学习Java,主要是领会其中的编程思想,面向对象的编程思想,然后次要的才是学习其中的类。
Java最新版本为1.6,我使用的是1.4,主要考虑的是兼容性的问题。从JDK1.4到JDK1.6究竟有些什么改变?-----------其中的变化只是增加了一些类而已,关于底层的运行机制,如垃圾回收机制,类的初始化机制,编译过程都是没有变化的。
所以,你不必担心《Thinking in Java》这本书是否过时。
题外话:很多人都对《Thinking in Java》这本书推崇备至,然而我却并不这样认为,因为《Thinking in Java》这本书讲解的非常深入,对于一个没有编程基础的人来说,阅读它就像看天书一样。
一般新手Java编程书籍通用模式:
1.Java历史、前景、本书适用人群
2.Java开发环境的搭建
3.Java程序编写规,写第一个Java程序
4.从Java的数据类型开始正式进入编程学习。
而《Thinking in Java》不是这样,它全是跳跃式的编写,如果开发环境都没搭建起来,就尝试了解‘面向对象’的思想,这无疑是痴人说梦,而这本书恰恰是这样。
这本书适合一定编程经验的人看,这本书讲的很深入,如果是初学者,建议先看入门的书籍吧,然后再一步步深入学习。
java编程思想越看越懵逼了,是不是这本书适
(以下全部为我个人想法,不代表大众)
Java语言是我见过的最严谨的语言,也是最简单明了的语言(Java8新特性……除外,其实是我还不会用)
因为电脑不是人,所以它不会猜出你接下来要做什么,换句话说,永远都是你在告诉程序该做什么,如果你不说,它就很可能和你预想的不一样。而所谓的编程思想的核心,只有三点,一是指令在何处发出,二是发出什么指令,三是指令是否正确。
指令在何处发出:在一个类的内部,只需要定义它所需要实现的方法,在一个非抽象方法的内部,只要去想它该如何实现,就足够了(其他不要多想)比方说我定义一个类“人类”,我决定让他走起来,那么我就写“走动”这个方法,这个方法只管“走动”,不要去想什么不能闯红灯了不能撞墙了之类的问题,那是其他的方法该做的,跟这个方法无关。详细一点,在人类世界,如果一个人走着走着出现了这种情况,那么他只是应当停止走动,也就是【结束方法】,而该不该结束,不是腿该决定的,而是大脑;如果这个人脑残,他可能撞上墙也不会停下来,一直这么撞下去。总的来说,对于一个方法,判断它是否应该执行,不在这个方法体自己的内部。但是,在方法体内部要判断的是:它自己能否执行,如果不能,则不执行(或部分不执行)并抛出异常。对于脑残,他的大脑由于没有正确捕获这个异常,所以他继续撞墙。
发出什么指令:对于Java程序员来说这一点稍微想想就能想出来。思考这个问题的关键就在于,你想让你的程序是什么样。你已经写好了几个类,并且封装完善,下一步就是如何把它们拼凑到一起。编程的艺术就在此!对于文科生而言就像是写作文的大纲,对于理科生而言就像是在解题,现在唯一该动的,是你的大脑。如果程序太过复杂,建议你先把思路缕清,最好用笔纸记下来,方便修改,或者写到注释里面方便阅读。思路不清晰的程序员是写不出好程序的。
指令是否正确:
与其说是指令是否正确,不如说是指令是否明确。这一步就是解决你写好的程序在运行时出现的问题了。没有人能够一次性做好一个完整的项目,就算换了下辈子的桃花运做到了,也一定会亲自上机测试。而纯Java程序(我是指没有本地命令和本地方法的程序)出现的bug可谓是少之又少,所以一旦出现,你就需要考虑你的设计是否完善或是否正确。Java里面易混淆的语句还是有不少的,比如下面这段代码:
Stringa="abc";
Stringb=newString("abc");
Stringc="abc";
Stringd=newString("abc");
System.out.println(a==b);//false
System.out.println(a==c);//true
System.out.println(b==d);//false
System.out.println(a.equals(b));//true在人类看来这些值都应当是true,但在我们电脑看来(……好像哪里不对?=.=)这就是有严格的判断方式的。再比如:
inta=5;
intb=a+++++a;上面这个代码我估计随便哪个正常人看了都会吓一跳……就算是有几十年编程经验的专业程序员,让他去写这种代码,那百分之三百不可能的。这样的代码对于虚拟机来说指令明确,但对于你来说呢?如果运行时就是因为这个部分没有达到预期效果,该从何处下手呢?所以在写代码的时候,一定要条理清晰,切忌为节省行数牺牲可读性,包括注释,为了给你自己排除故障,也为了一起合作的其他程序员在读你的代码的时候能明白你在做什么。
推荐一本java编程思想书籍
根据本人微薄知识
说说本人对j2ee的片面了解
j2ee是java在商业的应用,java web就在这中间
其中包括web服务器
一般都用tomcat同时也有jboss weblogc resin等等
说道开发就离不开这些东西
开发环境,运行环境
开发环境用的多的是 eclipse
但我推荐使用 netbeans
运行环境就是 tomcat这些了
所以我们在学习jave web的时候必须会使用这些软件
说到开发当然是希望有现成的代码可以用最好了
这就有了框架
目前本人知道的框架有 hibernate(持久化框架) struts,web action,jsf,spring
这些也是需要会的你可以选择一个学习
下面这些我放在了jsp里面学习
servlet,jsp,jstl,el,javabean
这些都算是jsp的
既然你有了j2se的初步知识你就可以看相关的书了
建议不看国人写的书
你可以看翻译过来的书
如果EN好的话就看EN的书
这些书都有download
国人的书为什么不推荐看呢`
个人认为,国人是为写书赚钱而写书,不是为技术而写书
这本不错:
21天学通J2EE(第二版)
想高深的话,就看这本了。
Java编程思想(第2版)(含 1CD) Java编程思想(第2版)(含 1CD)
本书从Java的基本语法到它的高级特点进行了全面的介绍,并充分阐述了Java的编程思想。本书是《Java编程思想》的第2版,是完全针对Java 2编写的,所以全书针对Java 2的语言特点做了大量修订和增补。由于本书的重点是Java语言本身,故内容并不依赖某种具体的平台。本书包含了对象的基本概念、面向对象的基本理论、分布式计算?...
3.1 Java学习路线
3.1.1基础语法及Java原理
基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、 J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得"真正"的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟
掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是:
●调查收集需求。
●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
●细化分析模型到设计模型。
●用具体的技术去实现。
●测试、部署、总结。
3.1.3基本API的学习
进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的"不需要重新发明轮子"。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。
基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4特定API的学习
Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
3.1.5开发工具的用法
在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。
程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。
从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。
Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓"柳暗花明又一村"。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6学习软件工程
对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见"软件开发学习路线"小节。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!