一、起源
- 是SUN(Standford University Network,斯坦福大学网络公司)于1995年推出的一门高级编程语言,是面向Internet的编程语言。
- Java语言最大的特点是其可以在web浏览器中运行。将Java代码嵌入到HTML代码中,使用现代化的图形界面与web用户进行交互,这种Java程序被称为Java小程序(applet)。
- 主要应用场景:web应用开发、后台开发……
二、重要版本
- JDK在1.5后更名为JDK5.0,则JDK1.6等同于JDK6.0,以此类推。
- J2EE–>JavaEE,J2SE–>JavaSE,J2ME–>JavaME
- JDK1.5(后更名为JDK5.0)特性:
- 自动拆箱与装箱
- 枚举
- 静态导入
- 可变参数
- 内省
- 泛型
- 增强型for循环
- 注解
- JDK8.0特性:
- Java语言的新特性
- Lambda表达式和函数式接口
- 接口的默认方法和静态方法
- 方法引用
- 重复注解
- 更好的类型推断
- 拓宽注解的引用场景
- Java编译器的新特性
- 参数名称
- Java官方库的新特性:
- Optional
- Streams
- Data、Time API
- Nashorn JavaScript引擎
- Base64
- 并行数组
- 并发性
- Java新工具
- Nashorn引擎:jjs
- 类依赖分析器:jdeps
三、Java技术体系
1. Java SE(Java Standard Edition)
支持面向桌面级的应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API。
2. Java EE(Java Enterprise Edition)
为企业环境下的开发提供的一套解决方案。该技术体系包含Servlet、Jsp等,主要进行Web程序开发。
3. Java ME(java Micro Edition)
支持Java程序运行在移动端上的平台,针对Java API有所精简,并加入了针对移动端的支持。
4. Java Card
支持一些Java小程序运行在小内存设备上的平台。
四、Java应用领域
1. 企业级应用
主要指复杂的的大企业的软件系统、各种类型的网站。Java的安全机制以及他的跨平台的优势,使它在分布式系统的领域开发中有广泛的应用。
2. Android平台应用
Android应用程序使用Java语言来编写。
3. 大数据平台开发
拥有Hadoop、Spark、Storm、Flink等框架,有Flume、Kafka、Sqoop等中间件。它们使用Java编写而成,为各种语言提供API编程。
五、Java语言的特点
-
面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、多态
-
健壮性
去掉了指针,加入了更好的内存管理和访问机制
-
跨平台性
通过Java写的程序在不同的系统平台上都可以运行。
通过在主机上安装Java虚拟机(Java Virtual Machine,JVM)运行Java程序来实现跨平台。由JVM来负责Java程序在该系统中的运行。
六、Java语言开发环境的搭建
1. JDK、JRE
-
JDK是什么?
JDK全称Java Development Kit,即Java开发工具包。其中包含了Java开发所需的编译工具(javac.exe)、打包工具(jar.exe)等工具。
JDK中包含了JRE,安装了JDK就不需要单独安装JRE了。
-
JRE是什么?
JRE全称Java Runtime Environment,即Java运行环境。其中包含了Java虚拟机和Java运行时所需要的类库。
如果只需要一个运行环境的话,只安装JRE即可。
-
JDK、JRE、JVM三者之间的关系
JDK = JRE+Java开发工具(javac.exe、java.exe、javadoc.exe等)
JRE = JVM+java的核心类库
2. JDK的安装
- 打开官网找见对应版本的JDK进行下载;
- 双击下载好的.exe文件进行安装;
- 傻瓜式安装即可,安装完成后点击关闭;
3. 环境变量的配置
JDK16以上的版本不需要配置环境变量
-
右击“我的电脑”–>“属性”–>“高级系统设置”–>“环境变量”
-
新建JAVA_HOME变量,值为JDK的安装目录;
-
更改path环境变量(Windows系统在执行命令时要搜寻的路径)为
%JAVA_HOME%\bin
; -
命令行输入
Javac -version
,如有正确输出,则环境变量配置成功。
七、注释
1. 单行注释
使用//
进行单行注释,注释内容写在两个斜杠后面。
2. 多行注释
使用/**/
进行多行注释,注释内容写在两个*中间。
3. 文档注释
/**
@author 指定Java程序的作者
@version 指定源文件的版本
……
*/
文档注释的内容可以被JDK所提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
解析命令:
javadoc -d 文件夹名字 -author -version 源文件名
八、API文挡
Java提供了的大连的基础类以及这些类的API文挡,用于告诉开发者如何使用这些类即这些类里面包含的方法。
下载地址:jdk_16.01_doc
九、第一个Java程序
-
打开记事本,开始编写hello world程序:
class Helloworld{ public static void main(String[] args){ System.out.println("Hello World!"); } }
-
写完保存,将后缀名改为.java;
-
打开命令行窗口,进入源文件目录下,使用javac.exe工具进行编译;
命令格式:
javac 源文件名.java
编译成功后会生成.class文件(字节码文件),其中文件名为类名
-
使用java.exe工具解释运行字节码文件;
命令格式:
java 类名
运行结果:
Java程序执行过程:编写-编译-解释运行
编译的过程:
对源文件(.java文件)进行编译后,会生成一个或多个字节码文件(每个类都会生成一个字节码文件)。字节码文件的文件名与Java源文件中的类名相同。
在一个java源文件中,可以声明多个类(class),但是最多只能有一个类被声明为public。
被声明为public的类的类名必须和源文件名相同。
main函数是一个程序的入口,其格式是固定的。