文章目录

  • 搭建JAVA环境:
  • JDK
  • 安装编辑器
  • 第一个java程序
  • 如何运行Java程序


搭建JAVA环境:

如何搭建一个java项目 怎样搭建java程序运行环境_java_02

  • 测试是否成功:
    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表示这个类是公开的,publicclass都是Java的关键字,必须小写,Test是类的名字,按照习惯,首字母T要大写。而花括号{}中间则是类的定义。

注意到类的定义中,我们定义了一个名为main的方法:

public static void main(String[] args) {
        ...
    }

方法是可执行的代码块,一个方法除了方法名main,还有用()括起来的方法参数,这里的main方法有一个参数,参数类型是String[],参数名是argspublicstatic用来修饰方法,这里表示它是一个公开的静态方法,void是方法的返回类型,而花括号{}中间的就是方法的代码。

方法的代码每一行用;结束,这里只有一行代码,就是:

System.out.println("Hello, world!");

它用来打印一个字符串到屏幕上。

Java规定,某个类定义的public static void main(String[] args)是Java程序的固定入口方法,因此,Java程序总是从main方法开始执行。

如何运行Java程序

Java源码本质上是一个文本文件,我们需要先用javacTest.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!