结束了c语言的课程,就面临着选方向,绝大部分人要么选择Java要么选c++,也有学校教python,无非就这三个方面。我选择的是Java方向。接下来我将开始简单介绍一下Java。
Java之父简介:
说到Java不得不提到Java之父:·高斯林
高斯林出生于加拿大,是一位大人口中的计算机编程天才。在他12岁的时候,就能自己设计电子游戏机,或者帮邻居修理收割机这种技术活。
高斯林大学时期在加拿大卡尔加里大学天文系担任程式开发工读生,1977年获得了计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位。在卡内基·梅隆大学攻读计算机博士学位时,他编写了多处理器版本的 Unix 操作系统上运行的 Emacs 类编辑器 Gosling Emacs(以C语言编写,使用 Mocklisp 作为扩展语言)。
毕业后高斯林到了 IBM 工作,设计了 IBM 第一代工作站 NeWS 系统,但没有收到公司领导的重视,这也导致他后来跳槽到了 Sun 公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。
Java之父高斯林创造了伟大的编程语言——Java,在TIOBE排行榜上,Java常年排名第一。现在这位祖师爷依然战斗在编程最前线,宝刀不老。高斯林曾谈论过计算机编程艺术,他认为和精力守恒定理一样:你投入到程序中的精力越多,用户使用时遇到的麻烦和折腾的精力就会越少,程序员要做的,正是在开发端和用户端之间尽量平衡开发和用户的复杂度。
这是我在百度百科找到的,简单了解一下就好。
语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目。后来被Oracle公司收购了,所以现在是Oracle公司在维护 jdk 等等。
1. Java语言概述
1.1 Java是什么
Java是一门面向对象的编程语言,不仅吸收了C++、C语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
1.2 Java语言重要性
1.2.1. 语言广泛使用程度
下图数据来自于TIOBE编程语言社区2017年12月和2018年10月最新的排行榜,常年占据语言排行榜榜首,是近些年最火的编程语言之一。
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。
注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。
1.2.2 工作领域
Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括:
企业级系统
比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。
Web开发领域
Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较好的扩展性,Java语言一直是大型互联网平台的重要解决方案。
android平台应用
Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是用Java编写的,Android的SDK大部分就是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速上手Android开发。
大数据平台开发
大数据相关的各类框架,比如:Hadoop、spark、storm、flink等,以及各种中间件flume、kafka、
sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。
1.2.3. 在校招中的岗位需求
这是随便找的一张图,从上述位置需求中可以看出,由于应届生缺少实际工作经验,因此校招中企业更看重学生的基础,也就是:
语言、数据结构/算法、操作系统、网络、数据库等,其他的属于加分项
1.3 Java语言发展简史
1.4 Java语言特性
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
这些在未来会慢慢一个个得接触到,这里就一笔带过。
2. 初识Java的main方法
2.1 main方法示例
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello,world"); } }
Java的写法,和C语言不一样,我们更习惯将,大括号的左边写在成员上一行的前面。
如上展示的就是最简单的一个Java程序,可能同学们看到后一头雾水,可以说,Java的main方法应该是当前主流编程语言中最“长”的。
通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。
注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。
好了,代码编写完了,如何让它“运行”起来呢?
2.2 运行Java程序
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
1.可以选择用记事本或者某个可以编写Java的IDE(集成开发环境)编写Java源程序。
2.使用javac.exe编译器编译Java源程序,生成xxx.class的字节码文件。
3.使用Java 运行xxx.class的字节码文件。
注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和ava工具,Java程序最终是在JVM(Java虚拟机)中运行的。
JDK、JRE、JVM的内在联系。
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
JVM:Java虚拟机,运行Java代码。
3. 注释
注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要.
时刻牢记! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.
3.1 基本规则
单行注释:// 注释内容(用的最多)
多行注释:/* 注释内容*/(不推荐)
文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
4. 标识符
在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字。
【硬性规则】
标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
【软性建议】
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:与方法名规则相同
一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名,比如:person、PERSON、Person、_person,将会使程序非常混乱。如果大家在取名时能够遵守一定的约束(即规范),那多人写除的代码仿佛一个人写的。
通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键
字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
注意:用户不能使用关键字定义标识符。
在Java中关键字有很多,这里给大家列出来一部分,先了解下后序在逐一详细解释。