2010-03-03 24 views
2

(我是一个mac用户)为什么我不得不使用终端在java中编译和运行程序?

我是这个整个程序设计的新东西。它已经向我解释,我必须编译我的程序与终端:

cd ~ 
javac filename.java 

,然后用

java filename 

运行它,为什么我必须这样做,这条路? (我只是好奇) 也是什么的CD〜意味着/做什么? javac是什么意思? (是javacompile?) 我也必须保存所有文件,我已经完成了这与我的用户。如果我将.java文件保存在我的文档或其他文件夹中,为什么不能这样工作?或者我可以这样做?

+2

我不认为我们应该投票的问题,因为他们是初学者的问题... – 2010-03-03 07:09:06

+0

有人建议投票我的问题了吗? – David 2010-03-03 17:10:23

+0

我认为这是因为有人正在看你的问题,它是-1还是从1回落到0。Zwei可能因为初学者本性(在评论中没有给出真正的理由)而被认为有人下降。 SO创建者特别希望允许所有*级别的编程问题,所以这个问题绝对没有错。 – paxdiablo 2010-03-03 23:13:00

回答

8
cd ~ 

意味着改变你的home目录(命名为在UNIX的土地,包括Mac OSX是基于UNIX的地方)。如果您的用户名是david,那么可能是沿着/home/david/Users/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 
+1

这是什么意思? – David 2010-03-03 04:57:43

+0

@David,查看更新。希望这可以更好地解释它。 – paxdiablo 2010-03-03 05:22:11

+0

是的,这有助于分配。只是有一点含糊不清:当你在文章结尾处给出3个不同的cd命令时,是按照顺序执行这些命令的,或者它们都是完成相同任务的不同命令的例子吗? – David 2010-03-03 16:56:49

9

你不知道。您可以很好地使用像EclipseNetbeans这样的IDE。

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

3

大卫,请记住我对您以前的问题的回答How do I compile and run a program in Java on my Mac

我敢肯定,这里的每个人都会同意我的观点,即像Eclipse这样的IDE是个好主意。它隐藏了很多涉及低级别的繁琐工作,并且使作为开发人员的大部分基本例程自动化。

+0

这是使用ide和类似工具的缺点,它们为新用户提供了太多的抽象级别......并且我个人认为这很糟糕。我认为转向使用IDE和其他类似的工具,这使得我们的工作更容易和更快,只有当你已经深入了解底层概念时才能完成工作......现在我希望有人会告诉我,我的心态是错误的。 。 只是一个想法! – ultrajohn 2010-03-03 05:16:09

+0

我可以看到你的观点,但对每个人来说没有一个正确的抽象层次。例如,它有助于了解低级别的硬件/操作系统的内容,但当然,如果不先掌握这些基础知识,就可以开始学习如何编程。人们必须从某个地方开始,我认为从IDE开始就没有问题。他已经选择了像Java这样的高级语言。我们不应该先告诉他先学习程序集。 – polygenelubricants 2010-03-03 05:26:08

+0

是的,这是真的,但肯定迟早,这家伙会回到基本的......他们是必不可少的...... – ultrajohn 2010-03-03 05:44:32

相关问题