编程语言这么多,为什么选择Java?
本喵觉得,学习编程除了纯粹的爱好,更多人还是基于收入进行考虑的,毕竟先养活自己才是第一位么。所以第一点,Java的市场很大,对使用Java语言进行开发的程序员的需求量大,收入相对其他行业也要高出那么一丢丢。所以考虑Java作为第一开发语言是个不错的选择。
第二点,编程语言的成功并不是纯粹看语法,主要还是看市场的接受程度。对于Java来说,首先选择了开源来进行发展,并且在网络时代敏感的抓住了互联网发展的契机,跟随互联网的发展也一同发展壮大,许多传统IT公司和互联网公司都使用Java进行程序开发。伴随着国内阿里巴巴等公司的崛起,Java在国内的使用规模也急剧增长。
IBM、谷歌、阿里巴巴、京东、字节跳动、华为、小米… 这些都是使用 Java 的大户人家
在iPhone出现后,谷歌公司放出了Android系统,为了能够快速为这个系统的生态打好基础,谷歌选择了 Java语言来开发应用程序。这是Java第二次迅速增长的阶段。随后由因为大数据的崛起,Java再次迎来一波发展浪潮。
第三点,编程语言需要活力,能够推陈出新。Java的第三方社区建设的非常好,现在我们开发用的各种框架、类库很多都是社区在推动发展和进行维护的。
第四点,Java现在在国内有着很多高质量的学习资料,而且是中文的,各种技术论坛中的大神和培训机构也层出不穷,对于国人学习与 200X 年相比学习环境友好太多了。
什么是 Java
平时我们讨论的都是名为Java的开发语言,但是从SUN公司开始设计的时候,Java其实是一个开发平台。这个平台是由三个部分组成:
- 名为Java的编程语言
- 程序运行需要的API
- 程序的运行环境(Java虚拟机)
Java 设计的开发方向有3个,分别是:
- JavaSE (这个教程学习的内容,这个阶段是学习Java开发语言的过程,同时也是学习Java进阶需要的各种知识点。SE阶段是为了做桌面程序开发,随着技术的应用,目前已经删除了GUI的学习)
- JavaEE(以网站开发为主,通常也是JavaSE的下一步学习内容)
- JavaME(移动设备程序开发,已经被Android彻底替代)
Java 基础阶段
JavaSE 知识点的学习其实有三个阶段:
阶段一:
-
基础知识(数据类型、基础语法、循环判断)
基础语法用于基础程序开发,循环判断用于逻辑训练。这个阶段非常重要,特别是逻辑的训练
-
常见的工具类
为之后写代码打下基础(String、包装类、时间与日期、金额处理等等)
阶段一是为了能够训练逻辑思维能力,并对一些常用的工具类熟悉,这样以后写程序的时候就不会出现不知道功能应该用什么来实现的尴尬局面。这个阶段也是比较熬人的,因为逻辑训练一开始会比较痛苦,特别是对于许久没有学习的朋友,一定要坚持下来。
阶段二:
-
方法定义和异常处理
在讲OOP之前先会开发方法,以及自定义方法调用,传值。然后是能够进行异常处理检测。熟悉之后再进行OOP的学习。
-
OOP(封装、继承、多态、抽象)
这个阶段对于新人是比较痛苦的,因为概念不太好理解。
-
集合与泛型
集合其实就是开始用数据结构来进行程序开发了,这个阶段说简单也简单,说难也难。不过入门么,不会讲解太深的内容,那不符合这个阶段要做的事情。
这个阶段OOP是不太好理解的,因为需要时间和代码量进行知识点的提取->运用->总结 ,但是OOP的思想会贯穿整个学习阶段,甚至会在正式工作中不断迭代对OOP的理解。所以这个阶段先记住概念,知道代码的写法。
集合与泛型相对就简单了,就是做反复的练习,掌握集合的特点与方法的应用。
阶段三:
- 线程
- IO 、NIO
- 网络(Socket)
到这个阶段,就与之前完全不一样了。从第三阶段开始我们就可以编写有使用价值的应用程序了。当然,没有图形界面。
阶段四:
这个阶段是进行知识补全,教程中并不再提及。主要是自己补充正则表达式、lambda表达式、JDBC、StreamAPI、反射、类加载器、内存结构等等。
JDBC之所以放到这里没有讲解,原因主要是教程中并没有数据库的学习,以后有时间会出一个专题。
上一章 02 编程需要的基础概念说明