JAVA学习笔记 01 - 走进JAVA

本文是Java基础课程的第一课。主要介绍Java的由来、发展历史及应用领域等,另外还会介绍Java开发环境的搭建,并且完成HelloWorld小程序

一、初识Java

1、什么是Java

Java是一门面向对象编程语言。它不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言功能强大并且简单易用。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性面向对象分布式健壮性安全性平台独立可移植性多线程动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java的logo

2、Java的由来

Java由时任Sun公司James Gosling等人于20世纪90年代初开发,最初被命名为Oak,随着互联网的兴起,Sun公司看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,于1995年5月23日Java的名称正式发布了。后逐渐成为业界最为重要的编程语言之一。
Java之父,James Gosling:
James Gosling
Sun公司在1991年成立了一个称为Green的项目小组,James Gosling和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。

起初的Oak语言,整个系统除了比C++更加简单之外,没有什么大的区别。市场并未对此产生极大的热情。所以Oak语言也渐渐因为缺少支持被搁置了下来。

1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。Sun公司想起了那个被搁置起来很久的Oak,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet。并将Oak更名为Java。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。

3、Java的发展历史

下面记录了Java发展历史中的一些主要事件:

时间事件
1991年1月Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统
1991年2月Green项目小组放弃C++,开发新语言,命名为“Oak”
1991年6月James Gosling开发了Oak的解释器。
1992年1月Green项目小组完成了Green操作系统、Oak语言、类库等开发
1994年7月第一个Java语言的Web浏览器WebRunner(后来改名为HotJava),Oak更名为Java
1995年5月23日Java语言正式发布
1996年1月Sun公司发布了Java的第一个开发工具包:JDK-1.0
1996年4月10个最主要的操作系统供应商申明将在其产品中嵌入Java技术
1996年9月约8.3万个网页应用了Java技术来制作
1997年2月18日JDK1.1发布
1997年4月2日JavaOne会议召开,参与者逾一万人,创当时全球同类会议纪录
1998年12月8日Java 2企业平台J2EE发布
1999年6月SUN公司发布Java三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
2000年5月8日JDK1.3发布
2000年5月29日JDK1.4发布
2001年9月24日J2EE1.3发布
2002年2月26日J2SE1.4发布,此后Java的计算能力有了大幅提升
2004年9月30日J2SE1.5发布,成为Java语言发展史上的又一里程碑。
为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年6月JavaOne大会召开,SUN公司发布Java SE6。
此时,Java的各种版本已经更名,以取消其中的数字“2”:
J2EE更名为Java EE,
J2SE更名为Java SE,
J2ME更名为Java ME
2009年04月20日Oracle(甲骨文)74亿美元收购Sun。取得java的版权
2011年7月28日甲骨文发布 Java7.0 的正式版
2014年3月18日甲骨文发布 Java SE 8
2017年9月21日甲骨文发布 Java SE 9
2018年3月21日甲骨文发布 Java SE 10
2018年9月25日Java SE 11 发布
2019年3月20日Java SE 12 发布

4、Java的应用领域

4.1、Android应用

许多的 Android应用都是Java程序员开发者开发。虽然 Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机中都支持Java游戏,这就使很多非编程人员都认识了Java。

4.2、在金融业应用的服务器程序

Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。

4.3、网站

Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC、Struts2.0等。即使是简单的servlet,jsp和以struts为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。

4.4、嵌入式领域

Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。

4.5、大数据技术

Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。

4.6、高频交易的空间

Java平台提高了这个平台的特性和即时编译,他同时也能够像 C++ 一样传递数据。正是由于这个原因,Java成为程序员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植性和可维护性等问题。

4.7、科学应用

Java在科学应用中是很好选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他语言相对其安全性、便携性、可维护性以及其他高级语言的并发性更好。

5、Java编程环境

5.1、Java开发工具包

JDK(Java Development Kit)称为Java开发包,是一个编写Java应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。

5.2、Java运行时环境

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。

5.3、Java虚拟机

JVMJava Virtual MachineJava虚拟机)的缩写。JVM是java的核心和基础,是Java编译器和OS平台之间的虚拟处理器,主要用于实现Java跨平台

JDK、JRE、JVM三者的关系如下图:
在这里插入图片描述

6、Java编程工具

  • Eclipse:一个开放源代码的、基于Java的可扩展开发平台
  • MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境
  • NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用
  • IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能
  • EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序

二、Java开发环境搭建

1、JDK下载

首先,前往下载地址,下载地址,截至2019年5月28日,页面如下图:
在这里插入图片描述
截至2019年5月28日,Java SE 12 已经发布,因此可以看到页面显著位置为Java SE 12 的下载按钮。如果要下载之前的版本,可以向下搜索,本文及后续的章节将主要以Java SE 8为主,向下搜索该下载页面,如图:
在这里插入图片描述
点击“下载”按钮,跳转到具体的下载页面,并找到下载位置,本文以 Window 32位操作系统、JDK 8u212为例,如图:
在这里插入图片描述
之后,如果没有登录的话,会跳转到Oracle的登录界面,输入已注册的Oracle账号和密码,登录成功后会自动开始下载,下载结束后得到Window 32位操作系统下JDK 8u212的安装文件,如图:
在这里插入图片描述

2、JDK安装

运行下载好的JDK 8u212安装程序,如下图:
在这里插入图片描述
点击“下一步”,等待一会后出现定制安装界面,如下图:
在这里插入图片描述
可以选择要安装的可选功能,修改默认的安装目录,如果都不需要修改的话,可以直接进入下一步,点击“下一步”按钮后,便来到安装进度界面,如图:
在这里插入图片描述
结束后会来到JRE的安装界面,如图:
在这里插入图片描述
可以修改JRE的安装目录,如果不需要修改的话,直接点击“下一步”,进入安装进度界面,如图:
在这里插入图片描述
安装进度结束后,可以看到安装成功界面:
在这里插入图片描述
此时,本次安装已经成功完成,点击关闭即可。可以查看JDK安装目录(C:\Program Files\Java\jdk1.8.0_212)下的安装结果,如图:
在这里插入图片描述
其中,binlib目录为最主要的两个目录,bin目录下存放JDK命令,lib目录下存放系统类库。

3、环境变量配置

安装完成后,需要设置环境变量,鼠标右键单击"我的电脑",点击"属性",选择"高级系统设置",如图:
在这里插入图片描述
选择"高级"选项卡,点击"环境变量",如图:
在这里插入图片描述
会出现如下图所示的页面:
在这里插入图片描述
在“系统变量”或”用户变量”中设置3项环境变量,JAVA_HOMEPATHCLASSPATH,若已存在则点击“编辑”,不存在则点击“新建”,具体设置方法在下文进行详细说明。

3.1、JAVA_HOME

  • 变量名:JAVA_HOME
  • 变量值:C:\Program Files\Java\jdk1.8.0_212(需要设置JDK安装根目录,值可能因人而异)
  • 说明:设置JAVA_HOME,一是为了方便引用,比如,JDK安装在C:\Program Files\Java\jdk1.8.0_212目录里,则设置JAVA_HOME为该目录路径,那么以后要使用这个路径的时候,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;二则是归一原则,当JDK路径改变的时候,仅需更改JAVA_HOME的变量值即可,否则,就要更改任何用绝对路径引用JDK目录的文档,要是万一没有改全,某个程序找不到JDK,后果便是该软件无法正常运行!三则是第三方软件会引用约定好的 JAVA_HOME 变量,不然,也无法正常使用该软件 在这里插入图片描述

3.2、CLASSPATH

  • 变量名:CLASSPATH
  • 变量值:.;%JAVA_HOME%\lib
  • 说明:CLASSPATH 环境变量的作用是,当开发者在Java程序开发过程中需要引用别人写好的类时,告诉 Java 解释器去哪里找这个类。通常,JDK 为开发者提供了丰富的类包,都位于 C:\Program Files\Java\jdk1.8.0_141\lib 目录下,所以通常会将这个目录加到的 CLASSPATH中;那 CLASSPATH最前面的“.;”是做什么用的呢?“.”代表当前目录,所以配置“.;”,是为了让 Java 解释器去当前目录下找开发者自己提供的类在这里插入图片描述

3.3、Path

  • 变量名:Path
  • 变量值:原变量值;%JAVA_HOME%\bin
  • 说明:Path变量使得开发者能够在系统中的任何地方运行Java应用程序,比如 javacjavajavah 等等,这就要求系统能够找到开发者安装的这些Java应用程序,假设开发者的JDK安装在 C:\Program Files\Java\jdk1.8.0_212\ 目录下,那么在 C:\Program Files\Java\jdk1.8.0_212\bin 目录下就是常用的 Java 应用程序,故需要把 C:\Program Files\Java\jdk1.8.0_212\bin 这个目录添加到 Path 环境变量中在这里插入图片描述

最后,测试环境变量是否配置正常,步骤如下:

  1. win + r,键入"cmd"
  2. 键入命令: javajavacjava -version 命令,看看命令是否都能正常执行 在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述
  3. 命令正常执行,环境变量配置正常。

三、第一个Java程序

1、HelloWorld

安装JDK并配置好环境变量后就可以进行Java编程了,下面编写一个入门级别的Java程序来体验Java开发的神奇之旅。

第一步,创建Java源程序文件,Java源文件是以.java结尾的文本文件,是开发人员创建和编写的。在C盘根目录下创建一个目录,命名为java,在c:\java目录中新建一个记事本文件,将该文件命名为HelloWorldApplication.java。在HelloWorldApplication.java文件中输入下面的代码:

public class HelloWorldApplication {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

完成后的结果如下:
在这里插入图片描述
说明:

  • 上面的代码创建了一个,类名是HelloWorldApplication,因此,HelloWorldApplication.java文件也被称为一个类文件类文件名称必须和类文件中public修饰的类名相同
  • HelloWorldApplication类中定义了一个方法,方法名称叫mainJava程序main方法开始运行的。
  • main方法中的代码向控制台输出Hello World字符串。
  • 注意Java语言是严格区分大小写的。
  • 括号必须成对出现,一行只写一条语句,注意代码缩进建筑美

第二步,将Java源程序文件编译为字节码文件。字节码文件是以.class结尾的文件,字节码文件一般是通过Javac编译器编译出来的。使用win + r打开命令行界面,前往c:\java目录,使用javac命令对源文件HelloWorldApplication.java进行编译,如下:
在这里插入图片描述
编译完成后c:\java目录下会出现HelloWorldApplication.class字节码文件,如下:
在这里插入图片描述
说明:

  • 字节码文件不允许修改的,只能修改源文件后重新生成字节码文件。

第三步,运行字节码文件。仍然在命令行界面继续使用java命令,运行刚才编译生成的HelloWorldApplication.class字节码文件,Hello World字符串将会被打印出来。如下:
在这里插入图片描述

2、理解Java的跨平台特性

Java是跨平台的语言,平台是指操作系统和CPU,每个平台能够运行与该平台匹配的机器码。Java跨平台就是让所有的平台都能运行Java代码。Java做到了write once, run anyWhere一次编写到处运行。实现这一点的核心便是JVM(Java Virtual Machine),即Java虚拟机

回顾上例中的HelloWorldApplication小程序,经历的主要过程有:
在这里插入图片描述
在上述过程中,“运行”这一步骤并不是直接在操作系统上进行,事实上,所有的Java源程序文件都可以编译成字节码文件,字节码文件可以执行在任何一个JVM上,JVM可以运行在专用的平台上,例如JVM for DOS,JVM for windows,JVM for Unix等。所有的JVM都可以将字节码文件转换成平台对应的机器码,如下图所示:
在这里插入图片描述
进一步理解在HelloWorldApplication小程序中经历的步骤,如下:

Created with Raphaël 2.2.0 开始 编写源程序文件 通过Java编译器命令javac,将Java源程序编译成字节码文件 使用java解释器命令java,字节码文件将在Java虚拟机中转换成对应平台的机器码 对应平台根据机器码,执行相应的操作 结束

说明:

  • Java源程序到字节码是编译执行,字节码到机器码是解释执行。
  • 编译执行是一次性把源程序编译成计算机能识别的目标程序,因此计算机执行起来速度非常快,但是编译后的目标程序只能在同一平台下运行。比如用C语言编写的程序,在Windows平台下编译的结果,离开Windows平台将无法正确的运行;解释执行的程序是指解释器将源程序逐句翻译的同时逐句执行,因此执行起来速度上不占优势,但是这种程序执行时往往不依赖于特定的平台,通过在不同平台上提供不同的解释器就可以跨平台执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值