HelloWorld.java

public class HelloWorld {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("arg["+i+"]="+args[i]);
}
System.out.println("HelloWorld!");
}
}

先在CMD中运行javac

一个HelloWorld引发的疑问_java


这个就是jdk内置的编译器

编译成功后在你的文件夹中会出现

一个HelloWorld引发的疑问_命令行参数_02


会出现一个.Class文件

这个.Class文件就是java的字节码文件

可以通过

一个HelloWorld引发的疑问_java_03


通过javap可以查看字节码文件,获得其详细信息。

接下来开始运行

有两种运行方式

1.不输入命令行参数

一个HelloWorld引发的疑问_命令行参数_04


2.输入命令行参数

一个HelloWorld引发的疑问_命令行参数_05


那么问题来了

emmmm当你的类在一个文件夹中应该怎么编译呢?

一个HelloWorld引发的疑问_命令行参数_06


现在它在一个叫沉迷学习的文件夹里面

现在开始编译它

一个HelloWorld引发的疑问_字节码_07


编译没什么毛病。

现在开始运行

怎么运行呢????

一个HelloWorld引发的疑问_命令行参数_08


两种方法都不行?那么问题出在哪里呢?

一个HelloWorld引发的疑问_字节码_09


我们少了这个。。。。

重新编译

一个HelloWorld引发的疑问_java_10


OK完美解决

所以在手动编译Java代码的时候要注意包等等问题。