一、什么是程序?
程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
for example:
- 在D盘新建代码文件存放目录 /javacode;
新建文件 test.java 并编写如下内容:
//输出1+1
public class Test {
public static void main(String[] args) {
int res = 1 + 1;
// 输出结果
System.out.Println("结果=" + res);
}
}
在文件管理器地址栏全选,然后输入cmd 回车,进入命令行;
- 输入 javac Test.java 回车,会生成Test.class文件(计算机能执行的文件);
- 回到命令行窗口,输入java Test 回车,结果会输出到屏幕上;
- 由此,这个小程序就编写并执行结束了。
二、Java小历史
- 95年发布第一个版本
- 目前普遍使用的是Java8 和 Java11
- Java现在属于甲骨文公司
- Java体系平台:
- Java SE 标准版
- Java EE 企业版
- Java ME 小型版(了解即可)
三、Java重要特点
- Java是面向对象的(oop)
- Java语言是健壮性的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证
- Java语言是跨平台性的,即一个编译好的class文件可以在多个系统下运行
- Java语言是解释型的
解释型语言:JavaScript,PHP,java
编译型语言:c/c++
区别:解释型语言,编译后的代码,不能直接被机器执行,需要解释器来执行,编译型的语言,编译后的代码,可以直接被机器执行
四、Java的开发工具
- editplus、notepad++
- Sublime Text(推荐学习期间使用)
中文版下载地址:https://sublimetextcn.com/3/ - IDEA
- eclipse
五、Java运行机制及运行过程
5.1 Java核心机制 - Java虚拟机【JVM Java virtual machine】
· 基本介绍
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令、管理数据、内存、寄存器,包含在JDK中
- 对于不同的平台,有不同的虚拟机
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
说明:因为有了JVM,同一个Java程序在三个不同的操作系统中都可以运行,这样就实现了Java程序的跨平台性
5.2 什么是JDK,JRE?
· JDK基本介绍
- JDK的全称(Java Development Kit Java开发工具包)
JDK = JRE + java的开发工具【Java,javac,javadoc,javap等】
- JDK是提供给Java开发人员用的,其中包含了Java的开发工具,也包括了JRE。
所以安装了JDK就不用再单独安装JRE了
· JRE基本介绍
- JRE(Java Runtime Environment Java运行环境)
JRE = JVM + Java的核心类库【类】 - 包括Java虚拟机(JVM)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可
· JDK、JRE和JVM的包含关系
- JDK = JRE + 开发工具集
- JRE = JVM + Java SE标准类库
- JDK = JVM + Java SE 标准类库 + 开发工具集
- 如果只想运行开发好的.class文件 只需要JRE
六、下载、安装JDK
6.1 下载安装步骤
官方网址:
https://www.oracle.com/cn/java/technologies/javase-downloads.html
安装JDK步骤:
下一步直至安装结束即可(可自定义安装路径)
细节说明:
安装路径不要有中文或者特殊符号如空格等
6.2 配置环境变量path
· 为什么要配置path?
看一个现象:
在DOS命令行【快捷方式:win+r 】中敲入javac,出现错误提示
原因分析:
当前执行的程序在当前目录下如果不存在,win10系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上错误提示,所以进入到jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。
· 配置环境变量path的步骤
方法一:
- 我的电脑—属性—高级系统设置—环境变量
- 增加 JAVA_HOME 环境变量,值为jdk安装地址
- 编辑path环境变量,增加 %JAVA_HOME%\bin
- 打开DOS命令行,任意目录下敲入javac,如果出现javac的参数信息,配置成功
方法三:参考菜鸟教程 (点击即可跳转)
学习参考(致谢):
- B站 @程序员鱼皮 Java学习一条龙
- B站 @韩顺平 零基础30天学会Java