为什么我必须使用终端来编译和运行java中的程序?

Dav*_*vid 2 java compilation

(我是一名mac用户)

我是整个编程的新手.它已被解释为我必须在终端编译我的程序:

cd ~
javac filename.java
Run Code Online (Sandbox Code Playgroud)

然后运行它

java filename
Run Code Online (Sandbox Code Playgroud)

为什么我必须这样做?(我只是好奇)还有什么CD~意思/做什么?javac是什么意思?(是javaCompile吗?)我也必须将我完成的所有文件保存到我的用户.如果我将.java文件保存在我的文档或其他文件夹中,为什么这不起作用?或者我可以这样做吗?

Pad*_*rag 9

你没有.您可以很好地使用EclipseNetbeans之类的IDE .

但是,最初使用命令提示符和简单的文本编辑器更好,因为它有助于理解Java的基础知识.特别是语法,类路径等.


pax*_*blo 8

cd ~
Run Code Online (Sandbox Code Playgroud)

意味着更改到您的主目录(在UNIX-land中指定为的位置,包括基于UNIX的Mac OSX).它可能是某些东西,/home/david或者/Users/david如果您的用户名是david.

在UNIX中,您具有工作目录的概念,您在文件系统层次结构中的当前位置,以及cd用于更改它的命令.通常,如果您使用相对文件名,这是程序将查找其文件的位置,因此rm xyzzy将尝试删除xyzzy工作目录中的文件,而rm /xyzzy将尝试删除顶级(根)目录中的同名文件.

而你不具备编译和运行Java的方式.这只是一种方式.如果你有像Eclipse这样的IDE,你根本不需要使用命令行.

javac确实是Java编译器,它将您的源代码转换为类文件,并且java是实际运行这些类文件的Java运行时.

您可以将Java源代码放在您具有创建文件权限的任何位置,而不必将它们放在主目录中.当然,如果你把它们放在别的地方,比如/home/david/javasrc或者/Users/david/javasrc,你需要确保在你从命令行编译和运行它们时所在的目录.

要做到这一点,该cd命令将更像是以下之一:

cd /home/david/javasrc
cd /Users/david/javasrc
cd ~/javasrc
Run Code Online (Sandbox Code Playgroud)