JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对其他程序设计语言也一样管用。有编程高手认为,JAVA也好C语言也好其实没什么分别,拿来就用。为什么他们能达到如此境界?这是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通,而如何学习程序设计理所当然也有许多共通的地方。从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员,那么,要如何成为一个好的程序员?A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。B.一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/Jav**ript等等。C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。F.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。G.项目管理、体系结构、框架知识。对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。对学习Java来说,基础语法和JAVA原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习JAVA必须要有扎实的基础,你才能在相关领域游刃有余,掌握了基础语法和JAVA程序运行原理后,我们就可以用JAVA语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。因此,作为初学者,在熟悉了上面的理论后,我们就开始JAVA基础课程的学习了。第1步:学习JAVA的开发环境配置、开发第一个Java程序。也建议大家开始使用eclipse等IDE,不必纠结是不是一定要从记事本开始。第2步:学习数据类型、运算符、变量。这是编程的基础,是程序的“砖块”。这些内容大多数编程语言都有,而且非常类似。第3步:学习控制语句。这是编程的基础,是程序的“混凝土”。有了控制语句+变量,理论上你就可以写任意的程序了。因此,这是进入程序的门槛,需要大量的练习。第4步:学习面向对象基础。通过类、对象、包等基本概念讲解。学习的时候,一定要在此处介入内存分析,这样可以对于对象等知识有非常深刻的理解。第5步:继续面向对象,主要包含三大特征:集成、封装,以及接口、抽象类、内部类等概念。这些概念需要掌握,但是对于初学者来说,先熟悉语法,通过后面的学习再深入。不要期待初学时候就能深刻领会这些概念。第6步:异常机制。Java程序的安全需要异常机制,这是必学内容。当然,也非常简单。学习过程中,先不要揪着什么自定义异常不放,学会基本用法即可。第7步:数组和算法。学习数组时,注重结合循环管理数组。也要从底层内存理解数组,这既是学数组也是复习面向对象;再结合一些算法,比如排序和搜索算法,既练习数组的用法,也学习了算法知识,为应对企业笔试和面试做好准备。第8步:常用类和JDK源码阅读。学习常用类的用法:包装类、字符串相关类、实践类、Math类、File类等。学习过程中,只学怎么用这些API就及格了。要优秀,要培养高手思维,一定要结合JDK源码,一开始就培养阅读源码的习惯(虽然,可能大多数看不懂)。第9步:容器和数据结构。容器有:List、Set、Map。学习这三种容器用法只需要一两个小时。但,此时你要结合数据结构,再结合JDK源码讲解。这就是“高手习惯”,让大家既学习容器,也学习了数据结构,打好了内功,应对企业面试绰绰有余。第10步:IO流技术。学会各种常用流即可,掌握一些工具类的用法,比如:ApacheIOUtil这样会让你在以后使用时效率大增。第11步:多线程技术。这也是笔试和面试中常见的内容。我们要学习多线程基本使用、生命周期、状态转化。如果学有余力,学习一下生产者消费者模式,让你一开始就具备架构的思维;既然学,就按照“高标准”要求自己。第12步:网络编程。工作中直接用到的不多,而且socket编程范式差不多,了解即可。毕竟直接让你编写基于socket底层代码的情况比较少见。再到这一步之后我们就可以开始尝试做一些小项目了,不管是小游戏项目也好,还是基于swing的项目,还是其他控制台项目。
*免责声明:图文素材来自网络,如有侵权,请联系我们删除!
-END-
我是静静,如果你也喜欢编程欢迎找我聊天
暗号:大白
解锁高薪就业知识
免费获取最新项目案例源码视频笔记
▼