文章目录
- 搭建JAVA环境:
- JDK
- 安装编辑器
- 第一个java程序
- 如何运行Java程序
搭建JAVA环境:
- 安装jdk:
https://www.oracle.com/找到想要的版本下载jdk 然后安装 - 配置环境变量:
右键 此电脑 →属性→ 高极系统设置→ 环境变量 - 注意JAVA_HOME是刚刚安装的jdk的路径
path:
- 测试是否成功:
win+r 打开cmd
C:\Users\jameth>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
C:\Users\jameth>javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
JDK
- java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;
- javac:这是Java的编译器,它用于把Java源码文件(以
.java
后缀结尾)编译为Java字节码文件(以.class
后缀结尾); - jar:用于把一组
.class
文件打包成一个.jar
文件,便于发布; - javadoc:用于从Java源码中自动提取注释并生成文档;
- jdb:Java调试器,用于开发阶段的运行调试。
安装编辑器
第一个java程序
public class Test{
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
定义被称为class(类),这里的类名是Test
,大小写敏感,class
用来定义一个类,public
表示这个类是公开的,public
、class
都是Java的关键字,必须小写,Test
是类的名字,按照习惯,首字母T
要大写。而花括号{}
中间则是类的定义。
注意到类的定义中,我们定义了一个名为main
的方法:
public static void main(String[] args) {
...
}
方法是可执行的代码块,一个方法除了方法名main
,还有用()
括起来的方法参数,这里的main
方法有一个参数,参数类型是String[]
,参数名是args
,public
、static
用来修饰方法,这里表示它是一个公开的静态方法,void
是方法的返回类型,而花括号{}
中间的就是方法的代码。
方法的代码每一行用;
结束,这里只有一行代码,就是:
System.out.println("Hello, world!");
它用来打印一个字符串到屏幕上。
Java规定,某个类定义的public static void main(String[] args)
是Java程序的固定入口方法,因此,Java程序总是从main
方法开始执行。
如何运行Java程序
Java源码本质上是一个文本文件,我们需要先用javac
把Test.java
编译成字节码文件Test.class
,然后,用java
命令执行这个字节码文件:
┌──────────────────┐
│ Test.java │◀── source code
└──────────────────┘
│ compile
▼
┌──────────────────┐
│ Test.class │◀── byte code
└──────────────────┘
│ execute
▼
┌──────────────────┐
│ Run on JVM │
└──────────────────┘
因此,可执行文件javac
是编译器,而可执行文件java
就是虚拟机。
第一步,在保存Test.java
的目录下执行命令javac Test.java
:
javac Test.java
如果源代码无误,上述命令不会有任何输出,而当前目录下会产生一个Hello.class
文件:
$ ls
Hello.class Hello.java
第二步,执行Hello.class
,使用命令java Hello
:
$ java Test
Hello, world!
注意:给虚拟机传递的参数Test
是我们定义的类名,虚拟机自动查找对应的class文件并执行。
有一些童鞋可能知道,直接运行java Test.java
也是可以的:
$ java Test.java
Hello, world!