A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

感觉这个设置不太好啊,为什么不修改下,改成直接输入:java+文件名字

因为输入的时候又是javac ,又是java不加c
javac的时候又要加后缀名.java,java的时候又不要加后缀。。。

为什么不能改成直接java+文件名呢  然后其他步骤由系统自己自动执行?

求解惑,不要回答太复杂哦~

4 个回复

倒序浏览
首先楼主善于思考,不过楼主没考虑到一点就是javac也有自己的作用,而不是简单单的一个中间步骤。
举个形象的例子来解释一下。
javac就相当于通过编码生成一个的音乐播放器,它就存在那里,我们如果不点击开始播放,它就不会播放音乐。    而java就相当于那个开始播放按钮,是执行播放任务。试想如果你的音乐播放器一直播放音乐,而没有停止和播放键,是不是很郁闷啊。可能例子不太恰当,不过原理是这个。
回复 使用道具 举报
这是因为java语言是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为java程序要先经过编译即 java  文件名.java
生成 .class字节码文件,与平台无关的字节码文件,它必须使用java解释器来解释执行,java 文件名
其实java语言里负责解释执行的字节码文件的就是java虚拟机JVM,我们编译的文件都是面向JVM的,都必须通过JVM进行解释,JVM就相当于一个翻译一样,当然不同
平台(操作系统)上的jvm是不同的,就好像我们有两支 不同的笔,但要把同一个笔帽套在两支不同的笔上,只有为这两支笔提供一个转换器,即这个转换器向上的
接口相同,用于适应同一个笔帽,向下的接口不同,用于适用两个不同的笔。也就是说所有平台上的JVM向上提供给java字节码程序的接口完全相同,但向下适应不同平台
的接口则互不相同。
希望我这么回答你能理解,哈{:soso_e100:}

回复 使用道具 举报
庄星睿 发表于 2012-6-5 11:58
这是因为java语言是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为java程序 ...

你想不这么麻烦,其实也行,动态字节码技术,但程序驱动方面仍然还得做一些正规的编译
回复 使用道具 举报
如果有编译时期的错误怎么办。 直接运行后来解决不更麻烦?
你想直接运行也可以 ,用高级工具 ,比如eclipse  myeclipse   你敲代码就编译了,有编译错误就马上能发现。 不用你手动去编译,就可以直接运行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马