对开发语言基础的理解 以Android-Java举例

我对开发语言基础的理解

我们在学习软件开发的时候,最先学习都就是一门编程语言,语言是我们开发的基础,也是我们开发的工具,今天来讲一讲我对于我目前从事的Android开发所用的Java的理解

首先说一下语言与应用

这是刚开始学习还没有入门的新同学经常误解的一个问题,以为学会了Java,就能做开发了,但也有大家“日常用语”的一部分锅,比如有人问,“你在做什么开发呀”,然后做Java web开发的同学就会说“Java开发呀”,然而其实Java开发说的是Java web开发,Java web开发又包含了Java EE的知识,还包含对数据库,Linux,SSH框架等的学习,甚至还需要一些前端的知识,并不只是学习Java语言这么简单的,PHP等web开发亦是如此

所以我们就要区分语言、应用

我们首先学习的是Java语言,它的语法、特性、及其功能,其中包括基础的数据结构啊,基本语法,流程控制,IO,多线程等基础的、大多数语言都具备的功能,以及多态,反射等Java独有的特性,并且语言都是在不断的完善更新的,比如Java8加入了lamada表达式,最近才发布的Java9加入的模块化等等

而后才是语言的应用,不同的语言根据不同的设计以及不同的特性有不同的应用点,有些语言很万能,多用,比如Kotlin,除了之前所支持的Native开发,web开发,Android开发,现在又宣布以后会支持iOS开发,有些语言则应用点单一,比如PHP,只能用于web开发

Java语言的应用点还是比较多的,在web开发中也不仅仅支持后端开发,在上古时代的时候,Java applet还被用于前端开发,只是后边被JavaScript给刷下来了。
还有很多同学不知道的是,我们用的很多桌面应用,其实也是用Java来开发的,这时你会想,“Java程序不是需要JRE才能运行么,如果我用了Java写的应用程序,为什么从来没有装过JRE呢?”,其实用Java开发的桌面应用程序,打包的时候都自带了JRE,说出来也许你会比较震惊,我们日常使用的Android Studio,就是用Java开发的,并且Jetbrains所开发的IDE,也都是用Java开发的,Jetbrains是一家Java功力很深厚的公司,所以才创造出了现在被钦定的Kotlin

出了上述所说的,Java还被用于我们所熟知的Android开发,在Android系统中,自带了一个JVM来运行我们开发的Java程序,
Android的frameworks源码,也是用Java来开发编写的

说到这里,相信大部分同学已经能分清语言应用

Java基础

其实说这个问题比较多余,我也不打算展开,这里就给大家说一个概念

Java基础的内容,大家看一遍《Java核心技术》的目录,基本上都包含了,看《Java编程思想》也是可以的,《Java编程思想》如同书名,阐述的是Java设计的思想,以及你编程的思想,建议先看《Java核心技术》,再看《Java编程思想》,不要觉得《Java编程思想》很厚,讲的很深,只要你有一定编程经验,结合编程场景,是非常容易理解的,掌握了其中的思想,在编程中,也会对你有指导作用

我理解的Java基础包含如下内容

  1. 基础认识 (JDK、JVM、JRE)

  2. 数据类型、变量、运算符、字符串、数组

  3. 流程控制

  4. 对象与类(深入理解面向对象,划重点)

  5. 继承

  6. 接口

  7. 内部类

  8. 多态

  9. 泛型

  10. 集合(其实就是Java所提供一些数据结构)

  11. IO

  12. 多线程

  13. 异常处理

  14. 网络编程

  15. 反射

其实还包括Swing和AWT图形编程,这个主要应用于桌面端程序编写,我们用Java进行web或Android开发,是不需要掌握的

在上述的内容中,我觉得最要重点掌握的,就是面向对象的思想,这个一定要深入理解,Java可以说是是一门纯面向对象的语言,理解了面向对象,你理解其他问题就会容易很多

如果你从事的是web开发,那么多线程和网络编程,也是你必须要下功夫的了

对于Android开发,我建议新同学过一遍基础,就可以开始学习Android了,然后再从实践中,回过头了学习你没有掌握的Java基础知识,学习一门语言,光看是没有用的,一定要动起手来,然后再实践中学习,你才有体会,才有理解

划重点,理解才是重中之重,一定要体会,理解,看看《Java编程思想》,我觉得对你一定有帮助

其他的?

当你基础掌握的还可以了,你当然想去更深的地方,我懂的,这个时候你可以学习一些JVM的知识,推荐的书是《深入理解JVM》,周志华老师写的,看了你就能懂Java是如何在JVM上跑起来的了,也能理解Java的一些设计,内存管理的知识

当然你也可以看一些Java其他应用,可以看一些开源库来理解,Github就是程序员的图书馆,多看看,总是有好处的

总结

以上就是我所理解的Java基础,不足和偏颇是不能避免的,希望大家多多提出和讨论。要我给出一个建议,那就是多动手实践,然后在实践中多理解体会和思考。

并且要说明一个问题,我们今天讲的是开发中的语言基础,就是说Java是Android开发的语言基础,不是讲的Java语言中基础的东西,我们上述所说的内容已经包含了Java语言中的大部分内容,都理解了,学会了,也就可以说掌握Java了,并不是只是掌握了Java中的“基础”,说明一下

当然我自己也是在学习中拉,如果有大牛看到了,也请不吝多多赐教,谢谢大家,我是麦田哥,点个like吧~

你可能感兴趣的:(对开发语言基础的理解 以Android-Java举例)