一、Java基本概念
Java开发环境
JVM:Java Virtual Machine(Java虚拟机)
源文件(myProgram.java)→编译器(Compiler) →字节码文件(myProgram.class)→解释器(Interpreter)→程序
JRE:Java Runtime Environment(Java运行时环境)
JDK:Java Developement Kit(Java开发工具包)
Java三大版本
- JavaSE:标准版(桌面程序、控制台开发。。。)
- JavaME:嵌入式开发(手机,小家电。。。)
- JavaEE:企业级开发(Web端,服务器开发。。。)
二、Java开发环境搭建
第一步:安装JDK
第二步:配置环境变量
JAVA_HOME:配置JDK安装路径 (C:\Program Files\Java\jdk1.8.0_211)
PATH:配置JDK命令文件位置 (C:\Program Files\Java\jdk1.8.0_211\bin)
配置类库文件位置 (C:\Program Files\Java\jdk1.8.0_211\lib)
查看开发环境搭建是否成功,在命令行输:
java -version
javac
三、编译型和解释型
我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”。
-
编译型:有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Go、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
-
解释型:有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。
Java和 C#是一种比较奇葩的存在,它们是半编译半解释型的语言,源代码需要先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行
编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。体现在:1) 可执行程序不能跨平台,2) 源代码不能跨平台
相比于编译型语言,解释型语言几乎都能跨平台,可以做到“一次编写,到处运行”。这里所说的跨平台,是指源代码跨平台,而不是解释器跨平台。解释器用来将源代码转换成机器码,它就是一个可执行程序,是绝对不能跨平台的。
Java 源程序与编译型运行区别:
总结如下
类型 | 原理 | 优点 | 缺点 |
---|---|---|---|
编译型语言 | 通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码(以可执行文件的形式存在)。 | 编译一次后,脱离了编译器也可以运行,并且运行效率高。 | 可移植性差,不够灵活。 |
解释型语言 | 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。 | 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 | 一边执行一边转换,效率很低。 |
四、第一个Java程序 HelloWorld
-
新建一个Java文件,文件后缀为.java。
Hello.java
-
编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!"); } }
-
编译Java文件,命令javac,生成class文件
javac Hello.java
-
运行class文件,命令java
java Hello