在Java中编译源程序主要涉及以下步骤:
编写Java源代码
使用文本编辑器(如Notepad++、IntelliJ IDEA等)编写Java源代码,并将其保存为扩展名为`.java`的文件。例如,创建一个名为`HelloWorld.java`的文件,内容如下:
```java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
```
编译Java源代码
打开命令提示符(CMD)或终端,并导航到包含`.java`文件的目录。
使用`javac`命令编译源文件。例如,编译`HelloWorld.java`文件,命令如下:
```sh
javac HelloWorld.java
```
编译成功后,会在同一目录下生成一个与源文件名相对应的字节码文件(`.class`文件),例如`HelloWorld.class`。
运行Java程序
在命令提示符或终端中,使用`java`命令运行编译后的字节码文件。例如,运行`HelloWorld.class`文件,命令如下:
```sh
java HelloWorld
```
程序将执行并输出`Hello, World!`。
动态编译
除了上述的静态编译方式,Java还支持动态编译。可以通过Java的`javax.tools`包中的`JavaCompiler`接口实现。以下是一个简单的示例:
```java
import javax.tools.*;
public class DynamicCompileExample {
public static void main(String[] args) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects("HelloWorld.java");
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, null, null, compilationUnits);
boolean success = task.call();
System.out.println("Compilation " + (success ? "succeeded" : "failed"));
}
}
```
在这个示例中,我们创建了一个`JavaCompiler`实例,并使用它来编译一个名为`HelloWorld.java`的源文件。如果编译成功,程序将输出`Compilation succeeded`。
总结
编写:使用文本编辑器编写`.java`文件。
编译:在命令提示符中使用`javac`命令编译源文件。
运行:在命令提示符中使用`java`命令运行编译后的字节码文件。
通过这些步骤,你可以成功编译并运行Java程序。