- 学习语言基础
很显然,掌握语言基础是第一步。如果你不了解基础知识,那么你就不知道自己是否做错了或者接下来该怎么做。当然,这并不是要求你把所有的基础知识都记住,比如所有的 Java关键字、核心概念或者基本编码技术等。我希望你能够阅读以下链接的内容,即使在初次阅读时并不能理解全部内容,也希望你把全部内容看一遍。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/
上面的链接不是介绍 Java 基础知识的唯一链接。你可以通过谷歌搜索出很多类似的链接。
当你第一次阅读完成上面两个链接的内容时,请再次重新阅读,不要漏掉任何部分。这一次,之前无法理解的内容可能就能够理解了,你能够自己将各种概念联系起来。如果有些内容你仍然无法理解,请继续重复该步骤,再次阅读,直到你真正掌握核心概念。不要担心理解的对错,只要把它们联系起来就好。记得做好笔记,因为笔记能够记录你的 Java 学习曲线。
- 开始编写一些小程序
如果你确信自己对大多数的基础知识和概念足够熟悉,并且能够以某种方式将它们联系起来,那么你就可以进行下一步了,你可以开始尝试编写一些非常基本的 Java 程序,比如打印 hello world、实现简单的加减法,等等。
当你开始动手编写程序时,请记住,前几个程序对你来说可能会困难重重。但是一旦挺过去,接下来即使这些问题再次出现,你也能轻松解决。
你可能会遇到很多困难,起初你可能都无法独自完成 hello world 程序并使其正确运行。这时,你应当毫不犹豫打开谷歌然后搜索类似的程序。不要简单复杂这些代码,首先应该读懂代码,然后自己动手手动输入到你的 IDE 中,并解决由于输入的错误语法而导致的编译错误。如果仍然不成功,就再次借助谷歌寻求帮助。谷歌搜索是程序员的良师益友,你应该好好利用它。
多编写几个程序,首先尝试自己独立编码,遇到问题再通过谷歌寻求帮助。我列举了一些基本的 Java 程序,很适合初学者。
显示文本信息。
显示1到50的数字列表,每个数字独立一行。
找出两个数字中的最大值和最小值。
使用多种方法交换两个数字。
编写一个计算器程序,使之能够进行数字的加减乘除运算。
创建两个类,练习重载和重写。
在程序中使用数组。
以上程序只是带你入门,让你能够编写一些基本的 Java 程序。这个列表可以更长,你可以添加更多的项目到这个列表中,为其他初学者创建更多的入门程序。记住,善用谷歌,它会让你学习编程的过程如虎添翼。
- 使用 Java API 编写高级程序
当你完成了大部分的基础程序编写,并且掌握了基本的编程技巧之后,就可以进行下一步了。我会建议你努力学习 Java 集合和 Java IO 内部的 API。你需要熟悉这些 API 提供的各种类和接口,并利用它们来创建程序。需要注意的是,你应该查找已经存在的 API 和方法来实现功能,而不是自己实现这些逻辑。你的任务是熟悉这些 API,因此你只能够在这些已有的 API 中寻求解决方案。
同样,我列出了几个基本的程序供你参考。之后,你可以编写更多的程序,尽可能多地使用 JAVA 提供的 API 和类。
从控制台接收输入并打印。
从文件系统中读取文件并在控制台中打印文件内容。
创建一个新文件并在文件中写入数据。
从 URL 中读取数据并对其内容进行一些搜索将元素存储在列表中,然后遍历它。
使用 HashMap 存储随机的键值对,然后用多种方式遍历它。
对集合元素进行搜索和排序。
在这一阶段你编写的程序越多,就会获得更多的信心。熟练使用这些 API 之后,请进入下一节接受更加艰难的挑战吧。
- 编写桌面程序和 Web 应用
通过这一步的学习,面对任何Java 面试你都能够信心满满,当你讨论 Java 相关的话题时也能够充满自信。你需要至少编写一个 Java 桌面或者 GUI 应用程序,比如计算器,然后再编写一个 Web 应用程序,比如医院管理程序。在前面的学习中,你已经掌握了最基本的 Java 知识,现在你需要去探索,然后编写出这两个应用程序。
你可以向 Java 专家、有经验的朋友、同事或者其他比你强的人寻求帮助。在搜索解决方案和学习基本概念时,阅读优秀资料。此外,还可以购买一些相关的书籍。总之,用一切方法把这两个应用程序做好。集中精力,哪怕几周甚至几个月的时间,也要把这两个程序做好。
我可以向你保证,当你最终完成这两个练习时,谈到 Java 你会获得空前的自信。更重要的是,它可以帮助你养成不惜一切代价完成一项任务的好习惯。这种持之以恒的态度对你职业生涯的长远发展是非常重要的。
- 阅读和参与优秀的 Java 博客与论坛
完成上述四个步骤之后,我相信你在 Java 方面已经获得足够的自信,你可以去帮助其他的初学者。遇到初学者时,尽量帮他们解决问题,即使这会花费你一定的时间。比如 Stack Overflow 这样的论坛,程序员们经常在这里学习、分享或者进行职业规划。你可以从别人的错误中学习,开拓思想,并提升自己的思维能力。
事实上,这一步就像无限循环,只要有时间你都应该持续下去。看到你的成长我会非常欣慰。
以上就是我关于学习 java 的最佳方式的想法。如果你碰巧同意我的意见,请发表评论。如果不同意,请提出你的建议。如果你的建议够好,我会欣然采纳。
回复2:
参加 OCJP 认证是一个很好的学习 Java 的途径。当你从零开始学习开发 Java 应用程序时, 网上提供了大量有用的资源。
你可以去创业公司和跨国公司实习,实战是最好的学习方式: https://hasjob.co/?q=internship
搭建 Java 开发环境:
想要编写 Java 程序,首先需要搭建开发环境。
有用的 Java IDE: 1. Eclipse - Eclipse Luna 2. Netbeans - 欢迎来到 NetBean 3. IntelliJ IDEA
Java 在线学习资源:
Java 教程:https://docs.oracle.com/javase/tutorial/
Vogella Eclipse、Android、Java 培训和支持
Mkyong Java Web 开发教程
Java 参考书:
深入浅出 Java:
Java 傻瓜编程:
Java 编程参考 - 最新版
面试问题:
Java 面试内幕指南
Java 面试问题集锦
熟悉基础知识之后,请继续使用第三方库进行编程练习。学习计划、组织、模块化以及代码重用。
编码标准:
http://cleancode.sourceforge.net/wwwdoc/codingRules.html
论坛:
StackOverflow
CodeRanch
其他一些有用的资源:
编程实践与竞赛
在线计算机编程编程竞赛
SPOJ
编程实践
Euler 项目
TopCoder网站, 世界上最大的开发社区
Codeforces
HackerEarth Beta
HackerRank
LeetCode
教程
LearnStreet
GeeksforGeeks
代码学校
Bit Twiddling
CS 97SI:编程竞赛简介
CSE 博客 - 定量、数学、cse 拼图
数学
苹果、谷歌、Facebook、亚马逊和微软的技术面试问题汇总
黑客网站
好教程 - 最新教程
编程社交
Quora
Stack Overflow
CareerCup 面试问题
GitHub
Geeklist
必读
自学编程十年
提高编程技能的10个网站
Stack Overflow 上排名靠前的编程书籍: http://linkis.com/