cnTIL

https://lovelacelee.github.io/cnTIL

This project is maintained by lovelacelee

Hello,World

1. JDK

2021年了,写JAVA小DEMO再也不用在Oracle下载安装JDK,配置环境变量,一步一步地费劲

VSCODE随便写个java文件保存,按提示安装微软提供的JAVA开发套件,从Github下载JDK11即可起飞。

2. 基础原则

1.每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出出错信息。 2.public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。所以对于Widget而言,文件的名称必须是Widget.java,而不是widget.java或WIDGET.java。如果不匹配,同样将得到编译时错误。 3.虽然不是很常用,但编译单元内完全不带public类也是可能的。这种情况下,可以随意对文件命名。

所以如下流程会报错:

HelloWorld.java

//HelloWorld
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

你以为你能像GCC编译后执行?

javac HelloWorld.java
java HelloWorld.class

You’ll Get:

Error: Could not find or load main class .\HelloWorld.class
Caused by: java.lang.ClassNotFoundException: /\HelloWorld/class

吓得我赶紧看了下帮助:大哥,不带才爽。

Usage: java [options] <mainclass> [args...]
           (to execute a class)
   or  java [options] -jar <jarfile> [args...]
           (to execute a jar file)
   or  java [options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
           (to execute the main class in a module)
   or  java [options] <sourcefile> [args]
           (to execute a single source-file program)

正确的姿势

java HelloWorld

3. 知道的就不再记录了