一、初识Java
1、什么是Java
Java是一门面向对象编程语言,Java语言功能强大,简单易用(Java语言吸收了c++语言的各种优点,还摒弃了c++语言里难以理解的多指针,多继承的概念),Java语言作为静态面向对象编程语言的代表,极好的实现了面向对象编程理论,允许程序员以优雅的思维方式进行复杂的编程。
- Java的特点:
- 简单性;
- 面向对象;
- 分布式;
- 健壮性;
- 安全性;
- 平台独立性;
- 可移植性;
- 多线程;
- 动态性。
2、Java的应用领域
- Android应用;
- 在金融业应用的服务器程序;
- 网站;
- 嵌入式领域;
- 大数据技术;
- 高频交易空间;
- 科学应用。
3、Java编程环境
3.1、Java开发工具包(JDK)
JDK(Java Development Kit)称为Java开发包 ,是编写Java应用程序的程序开发环境。JDK是整个Java开发的核心, 包括了Java运行时环境(JRE),一些Java工具和Java核心类库(Java API);可以把Java API类库中的Java SE API子集和Java虚拟机(JVM)这两部分统称为JRE,JRE是Java运行的标准环境。
3.2、Java运行时环境(JRE)
JRE(Java Runtime Envirnment)是一个运行环境,JDK是一个开发环境;因此写Java程序的时候需要用到JDK,而运行Java程序的时候需要用到JRE,而JDK已包含JRE。
3.3、Java虚拟机(JVM)
JVM(Java Virtual Machine)是Java的核心和基础,是Java编辑器和OS平台之间的虚拟处理器,主要用于实现Java的跨平台。
JDK、JRE、JVM之间的关系如下:
二、JDK的安装
安装JDK后换将变量的配置说明:
JAVA_HOME
- 变量名:JAVA_HOME
- 变量值:jdk安装的根目录
- 作用:
- 一是为了 方便引用 ;设置JAVA_HOME之后,以后安装软件需要使用此路径的时候只需要输入 %JAVA_HOME% 即可,避免每次引入输入路径时出错;
- 二是 归一原则 :当其他软件引用该变量时,如果JDK安装路径发生改变,只需改JAVA_HOME的值,而不需改引用此变量的软件的文档;
- 三是 ==第三方软件会引用约定好的JAVA_HOME变量,不然也无法正常使用该软件;
CLASSPATH
- 变量名:CLASSPATH
- 变量值:.;%JAVA_HOME%\lib
- 作用:当开发者在Java开发过程中需要引用别人能写好的类时,告诉Java解释器去哪里去哪里找这个类;
- JDK为开发者提供了丰富的类包,都位于根路径下的lib目录下,所以通常会将这个目录加到CLASSPATH中;
- “ .; ”的作用:“ . ”:代表当前目录,配置“ .;” 是为了让Java解释器去当前目录下找开发者自己提供的类。
Path
- 变量名:Path
- 变量值:%JAVA_HOME%\bin
- 作用:Path变量使得开发者能够在系统中的任何地方运行Java运行程序。
三、第一个Java程序Hello World的启示
3.1、Hello World程序书写步骤
- 第一步:创建Java源程序文件;
- Java程序是从main方法开始运行的,main方法中的代码向控制台输出 Hello World 字符串;
- 第二步:将Java源程序文件编译成字节码文件;
- 字节码文件是不允许被修改的,只能修改源文件后重新生成字节码文件;
- 第三步:运行字节码文件。
3.2、启示
- Hello World程序是研究一门语言最小的程序结构;
- Hello World程序检测一门语言的编程环境的搭建是否成功;
- JDK、JRE、JVM之间的关系;
- 搭建JDK的步骤与注意要点;
- Hello World程序是一门语言最基本的编程结构;
- Hello World程序是检测一门语言编译、运行的基本结构。
3.3、理解Java的跨平台性
Java是跨平台的语言,平台是指 操作系统和CPU ,每个平台能够运行与该平台匹配的机器码。Java的跨平台性就是指让所有平台都能运行Java代码,Java做到了 write once,run anyWhere (一次编译,到处运行),实现这一点的核心便是 JVM 。
- 在3.1Hello World程序书写步骤第三步 运行 这一步骤并不是直接在操作系统上进行,事实上,所有的Java源程序文件都可以编译成字节码文件,字节码文件可以执行在任何一个JVM上,JVM可以运行在专用平台上。
- 进一步理解在Hello World 小程序中经历的步骤:
- 说明:
- Java源程序到字节码文件是编译执行,字节码到机器码是解释执行;
- 编译执行是一次性把源程序编译成计算机能够识别的目标程序,因此计算机执行起来非常的块,但是编译后的目标程序只能在同一平台下运行;
- 解释执行的程序是指解释器将源程序逐句翻译的同时逐句执行,因此执行起来在速度上不占优势,但是这种执行往往不依赖与特定的平台,通过在不同平台上提供不同的解释器就可以跨平台执行。