Java 最佳学习方式

英文原文:http://www.fromdev.com/2012/11/Best-Way-To-Learn-Java.html

 

 

 

我们都清楚这样一个事实:在学习一个新事物的时候,需要在所有可能的学习方式中找到最好的一种去开始。这可能是项非常困难和耗时的任务,而且通常这会成为影响是否你会继续你的追求的决定性因素。

你可能已经找到了hundreds of free java learningresources(成百的Java 学习资源),接触了许多种不同概念的框架。

最后,如果你决定了学习Java 编程,在开始你可能不清楚该从什么地方开始学习,这也是本文为了指导你解决这个问题的主要写作目的,本文将带你领略学习Java的最佳途径中许多经受时间考验的方法。

 

第1步:下定决心——不受别人的看法影响

不是每个人都喜爱Java 编程,因此,有些人会用他们自己喜爱的语言来劝阻你学习这门语言。编程世界里充斥着许多语言,他们相互竞争,各个千秋。所以,选择一门最好的语言是不切实际的。因为,解决同样的问题,一门语言对你来说很适合,但对于其他人却不一定。

因此,你要做的不是打量Java语言哪些好那些差,而是将你的注意力重点放在你所选择的语言的学习上。

第2步:安装Java SDK和Eclipse IDE

尽管,通过仅仅只安装JavaSDK 来学习Java是非常有可能的,但是这种方式真的会局限你的学习曲线使你的进展缓慢。如果将JavaSDK 整合到一个IDE,这将使你能够更快速、更高效地学习,因为IDE为你提供了一个集成的开发坏境,很多其他跟学习无关的琐碎的事它都会帮你完成。而且在各种各样的IDE中,Eclipse毫无疑问是这方面做的最好的,还不收费。

Java SDK安装步骤

- 进入 Java Download Page(Java 下载页面)
- 点击“Download JDK

Eclipse IDE安装步骤

- 进入 EclipseDownload Page(Eclipse 下载页面)
- 下载“Eclipse IDE for Java EE Developers
- 解压下载的zip文件到一个文件夹

第3步:学习Java的原理

你必须熟知的一些关键性概念:

·面向对象编程的概念:继承、封装、抽象、多态

·为什么说Java是平台无关的?为何它可以轻易做到运行于各种操作系统上,例如:Unix、Windows和Mac?

·什么是Java虚拟机?它又是如何运作的?

·理解Java集合框架

·深入理解Java数据类型;和熟知java.lang包下的几个重要类的用法,例如:String、Math、System;以及理解Java IO流的概念等等其他概念

第4步:阅读资深前辈著作的经典书籍

我的选择是免费的 Thinking in Java(译注:中文名《Java编程思想》)。

还有 fewawesome java books that I recommend(一些我认为不错的Java书籍)。

第5步:开始用你所学知识写一个简单的程序

当然,我不是叫你去写像“HelloWorld”这类简单的程序啦,我将推荐你做一些像下面这些实际性的训练:

逻辑训练

·计算一个数的阶乘

·创建一个斐波那契数列

·找出1到100之间的质数

·将阿拉伯数字表示的数用对应的英文单词输出(例如:123= One Hundred Twently Three)

 

文件读取/写入处理训练

·读取一个文件并将其内容在控制台显示

·列出某个目录的所有文件

·创建一个文件,并在其中写入一些内容

·从控制台读取用户的输入

 

字符串操作训练

·在一个大文本文件中查找一个字符串

·替换字符串的某一部分

·将用表示的数的字符串解析为实际表示数的数据类型

除了上面这些练习以外,这里还有一些其他的练习 Java Basic Exercise(Java基础训练)。

第6步:进阶下一个水平——简单却还不足

如果你完成了以上的Java编程基础训练,并对这门语言的使用达到了能够上手的水平的话,你可以继续朝下一个水平走,创建要求更高复杂度和更高水平编程的程序和应用。这样做,你将亲身体会到一个程序员所需面对的现实生活复杂性。

在这个水平上,我将推荐你做一些像下面这些的训练:

·搭建一个任意高度的数字金字塔,其高度由用户输入决定

·尝试着做一个2人对战的文本小游戏(例如:TicTac Toe(井字棋))

·往这个游戏里加入一个“电脑玩家”选项,使人类玩家可以和电脑对战。现在,你将需要思考打败人类玩家的策略:)

第7步:学习Servlet和JSP

Web 应用程序是本质上是对应用程序服务器(或web)的扩展。Java EE 6的面世,相对于前一个版本,有了很大的提升,从专业角度讲就是加入了一些好的标准API,例如:Servlet、JSP。学习这些API将促使你接触新的事物,并将为你的Java 编程整入一些框架和工具。

如果你已经完全理解了Servlet技术和JSP技术,我将推荐你做一些像下面这些的训练:

·搭建一个用于采集用户填写的表单信息的应用程序,并将这些信息通过JDBC存入MySQL数据库

·搭建一个基于Web的简单Tic Tac Toe游戏(双人博弈)

·为这个游戏添加授权过程,以确保用户只能通过提供用户名和密码来使用

第8步:学习JSF

JSF(全称:JavaServer Faces) 是一个基础Web框架,它进入Java web应用程序领域,就是为了帮助简化用户界面的开发,它可以通过在一个页面里装配各种可重用组件来完成简化。而且,它还附带许多受欢迎的功能,例如:通过标签库操作和访问组件、自动保存表单数据、并由它的“表单数据再置入(不确切的翻译)”功能使的保存的表单数据能在客户端显示。

如果你已经完全理解了JSF技术,我将推荐你做一些像下面这些的训练:

·搭建一个简单的基础web的聊天程序

·搭建一个简单的购物车应用程序

第9步:搭建一个不错的Web应用程序

Web 应用程序分为两类,展示型和服务型。基于你喜欢的类型, 通过运用目前你已学到的web组件创建一个不错的web应用程序。

在这一点上,我推荐你从研究一些优秀的JSF框架开始,它们中的每一个适用于其所对应的需求。

·richfaces

·PrimeFaces

·IceFaces

第10步:保持学习和跟进最新技术趋势

最后,如果你是一个程序员,你是无法逃避学习的。这是因为,在编程世界里没有地方能够容下老套、已淘汰的专业技能。因此,跟进最新技术趋势,以获得比其他人更具竞争力的技能,对于一个Java程序员是非常重要的。做到这点的最好方法是,将你新学到的知识应用到实践中。

对此我推荐你阅读这些Java and related Technology Sites and Blogs from experts(技术牛人们的Java及相关技术站点和博客)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习Java最佳路线可以分为以下几个步骤: 1. **基础知识入门**:首先,你需要掌握基本的编程概念,如变量、数据类型、运算符、控制结构(条件语句和循环)、函数等。可以从官方文档《Java语言规范》开始,通过在线教程或书籍如《Head First Java》快速理解。 2. **Java语法学习**:系统学习Java语言特性,如封装、继承、多态(包括方法重载和重写),以及异常处理。这一步可以选择像《Thinking in Java》这样的经典教材。 3. **Java SE环境搭建**:安装并熟悉Java Development Kit (JDK) 和集成开发环境(IDE),如Eclipse或IntelliJ IDEA,并了解Maven或Gradle构建工具。 4. **编写Hello World项目**:实践基础应用,如创建简单的Console应用程序,这是理解和运用理论知识的关键。 5. **面向对象编程实践**:通过设计模式的学习,提升对类、对象和设计的理解。例如工厂模式、单例模式、观察者模式等。 6. **数据结构和算法**:理解基本的数据结构(数组、链表、栈、队列、树、图等)及其操作,并学习常见算法的Java实现。 7. **Java集合框架**:深入学习Java标准库中的集合框架,如List、Set、Map等,以及流(Stream) API。 8. **并发编程**:理解线程、synchronized关键字、并发容器(ConcurrentHashMap等)和ExecutorService的工作原理。 9. **网络编程**:了解套接字编程、HTTP协议及TCP/IP协议的基础知识。 10. **实际项目实战**:尝试完成一些小项目或参与开源项目,将所学应用于实际工作中,提高问题解决能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值