前言
本篇文章的“Java 简介”这一部分参考了廖雪峰的 Java 教程,这部分东西本来也就大同小异,就不多花时间去介绍了,此处贴一个廖老师的网址。此外,本文没有图片,因为我还没找到什么好用的图床,以后会补上来。
Java 简介
Java最早是由SUN公司的 James Gosling 和他的同事们在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,结果市场没啥反响。谁料到互联网的崛起,让Oak重新焕发了生机,于是SUN公司改造了Oak,在1995年以Java的名称正式发布,原因是Oak已经被人注册了,因此SUN注册了Java这个商标。随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。
Java介于编译型语言和解释型语言之间。编译型语言如C、C++,代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。解释型语言如Python、Ruby没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。而Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。
随着Java的发展,SUN给Java又分出了三个不同版本:
- Java SE:Standard Edition
- Java EE:Enterprise Edition
- Java ME:Micro Edition
这三者的关系为:
┌───────────────────────────┐
│Java EE │
│ ┌────────────────────┐ │
│ │Java SE │ │
│ │ ┌─────────────┐ │ │
│ │ │ Java ME │ │ │
│ │ └─────────────┘ │ │
│ └────────────────────┘ │
└───────────────────────────┘
Java SE 就是标准版,包含标准的 JVM 和标准库,而 Java EE 是企业版,它只是在 Java SE 的基础上加上了大量的 API 和库,以便方便开发Web 应用、数据库、消息服务等,Java EE 的应用使用的虚拟机和 Java SE 完全相同。Java ME 就和 Java SE 不同,它是一个针对嵌入式设备的“瘦身版”,Java SE 的标准库无法在 Java ME 上使用,Java ME 的虚拟机也是“瘦身版”。
JDK、JRE以及JVM
- JDK:Java Development Kit
- JRE:Java Runtime Environment
- JVM:Java Virtual Machine
这三者的关系为:
┌─ ┌──────────────────────────────────┐
│ │ Compiler, debugger, etc. │
│ └──────────────────────────────────┘
JDK ┌─ ┌──────────────────────────────────┐
│ │ │ │
│ JRE │ JVM + Runtime Library │
│ │ │ │
└─ └─ └──────────────────────────────────┘
┌───────┐┌───────┐┌───────┐┌───────┐
│Windows││ Linux ││ macOS ││others │
└───────┘└───────┘└───────┘└───────┘
Java 开发环境配置
JDK 下载安装
- 打开oracle 官网,找到顶部的 Products 栏目,选择下方的 Java
- 在新打开的页面中,点击右上角的 Download Java
- 在新打开的页面中,点击 JDK Download 即可下载,如果需要以前的老版本下拉页面即可
- 打开安装包根据提示进行安装
PS:企业主流还是用 JDK 8 或者 JDK 11,但是个人学习可以用最新版。
配置环境变量
- 安装完成后,右击“我的电脑”,点击“属性”,选择“高级系统设置”;
- 选择“高级”选项卡,点击“环境变量”;
- 在 “系统变量” 中设置新建变量,变量名:JAVA_HOME ,变量值:JDK的安装路径(例如C:\Program Files\Java\jdk-16.0.2)
- 找到“系统变量”中的“path”,点击编辑,然后在新出现的界面中点击“新建”,新建的值为%JAVA_HOME%\bin,然后一直点击“确定”,直到退出界面。
- 检测方法:使用
Win+R
组合键打开“运行”,然后输入cmd
打开命令提示符,输入java -version
,未报错就算配置成功
PS:其实可以直接在“path”中添加变量值(例如C:\Program Files\Java\jdk-16.0.2\bin)来完成环境变量的配置,但是我们为什么要添加一个中转变量?原因就在于使用IDE或者编辑器等同样需要关联 JDK 路径,当 JDK 安装路径迁移时,固定的路径就会导致我们需要同时修改许多地方,加个中转变量只需要修改一处即可。
文本编辑器
学习 Java 前期不需要使用大型的IDE,但是使用 windows 自带的记事本也太过简陋,所以小巧灵活、性能要求低、功能更强的文本编辑器更适合初学者。
常用的文本编辑器有:sublime text、notepad++、vscode等。
我个人推荐 vscode
转义字符
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。
转义序列通常有两种功能。第一个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如C语言字符串中的双引号字符",不能直接出现,必须用转义序列表示)。
转义字符 | 意义 |
---|---|
\n | 换行(LF) ,将当前位置移到下一行开头 |
\r | 回车(CR) ,将当前位置移到本行开头 |
\t | 水平制表(HT) (跳到下一个TAB位置) |
\v | 垂直制表(VT) |
\\ | 代表一个反斜线字符 |
\' | 代表一个单引号(撇号)字符 |
\" | 代表一个双引号字符 |
注释
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可读性,不会被计算机编译。java 有以下三种注释方式:
- 单行注释
//单行注释
- 多行注释
/*
多
行
注
释
*/
- 文档注释
文档注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。文档注释可以使你更加方便的记录你的程序信息。
/**
@author 漆黑战歌
@version 1.0
*/
如何运行Java程序
第一个 Java 程序
打开文本编辑器,写下以下代码,保存文件,并将其文件名改为Hello.java
public class Hello{
public static void main(String[] args){
System.out.println("Hello,world!");
}
}
运行程序
-
打开文件资源管理器,找到 java 源文件,在其文件路径输入
cmd
打开命令提示符 -
在命令提示符中输入
javac Hello.java
,然后按回车;再输入java Hello
然后按回车 -
在命令提示符中可以看见输出了
Hello,world!
┌──────────────────┐
│ Hello.java │<─── source code
└──────────────────┘
│ compile
▼
┌──────────────────┐
│ Hello.class │<─── byte code
└──────────────────┘
│ execute
▼
┌──────────────────┐
│ Run on JVM │
└──────────────────┘