cmd使用javac和java及注意事项
一、简述:
cmd中,执行java命令与javac命令的区别:
javac:是编译命令,将java源文件编译成.class字节码文件。
例如:javac hello.java
将生成hello.class文件。
java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。
例如:java hello
二、详述:
下面我们来写个java文件试试。
1、打开记事本,输入一个类+主函数
2、点击 文件->保存,保存到相应文件夹下,文件名修改了xxx.java
public class hello{ public static void main(string[] args) { system.out.println("hello world"); } }
3、在hello.java文件夹内,空白位置,按住键盘shift,右击鼠标,选择“在此处打开命令窗口”
4、输入 javac hello.java 回车
如果java类书写格式没有错误,cmd不会报错,而且在java文件同目录内生成一个class文件。
5、输入 java hello 回车
若输出下图,恭喜你,成功了!你已经把java类中,输出打印“hello world”显示在cmd命令行中。
三、总结:
首先我们使用记事本编写java源代码,扩展名.java;
在命令行模式中,输入命令:javac 源文件名.java,对源代码进行编译,生成class字节码文件;
编译完成后,如果没有报错信息,输入命令:java hello,对class字节码文件进行解释运行,打印“hello world”。
为了方便大家理解javac和java编译运行过程,可以看下图:
至此,我相信大家应该对javac和java使用有了比较客观的了解。
四、答疑:
接下来,我们来看一下大家在实践中容易遇到的问题。
问题一:cmd命令一定要准确,区分大小写,注意是否要加扩展名。
javac hello.java
java hello
问题二:javac命令报错,如下图
javac命令报错,一般都是java代码有误,需要检查修改。
下图中,java代码很明显的错误,输出打印语句写在了main函数的外面,修改正确就不会报错了。
javac命令报错,去看java代码,肯定有错误。
问题三:javac命令执行完成,生成class文件,但是java命令报错,如下图
我查阅资料,找到报错的原因,首先检查java源代码,记住,java类不要加package路径!再就是java环境变量有问题,咱们一起来检查一下。
右击“计算机-属性-高级系统设置”,单击“环境变量”。我相信大家都已经配置java环境变量,咱们来检查一下,如果不会配置java环境变量,请查看。
逐一核对 ”java_home” “path” “classpath”
- (1)"java_home",变量值是你的电脑jdk的安装路径,我的是"d:\java\tool\java1.8\jdk"
- (2)"path",在原变量值的最后面加上”;%java_home%\bin;%java_home%\jre\bin”
- (3)”classpath”,变量值”.;%java_home%\lib;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar”
特别注意变量值开头是”.;”(点分号),这个地方需要特别注意,我就是因为这个点和分号不对报错的。
java源码修改后,需要把之前生成的class文件删除,从新运行javac和java命令。
环境变量修改后,一定要重启cmd命令行窗口,再把把之前生成的class文件删掉,重新运行javac和java命令。
注:若在输入javac命令时,显示'javac'不是内部或外部命令,原因也是因为没有提前安装好jdk开发环境或环境变量配置有误。
五、作者推荐
cmd命令行运行java代码是最基础,而且都应该掌握的方式,特别是对于新人来说,应该最先接触学习。随着学习的深入,如果觉得记事本写java代码太low,作者推荐使用editplus,功能很强大的体积又很小的文本编辑软件,是收费软件,不过破解很简单,大家可以百度一下。然后大家会用到专业的ide(integrated development environment,集成开发环境)软件,如eclipse(免费),myeclipse(收费),intellij idea(收费)等等,目前我只接触到以上列举的三款ide,免费的推荐eclipse,收费的推荐intellij idea,收费软件网上都有破解方法,但是破解版不如免费版稳定,大家可以自行选择。
下载地址:
1、editplus
2、eclipse
3、intellij idea
推荐阅读
-
使用CMD命令编译和运行Java程序
-
set_include_path和get_include_path使用及注意事项
-
Java的封装及private的使用和练习
-
java中强大的免费的集成开发环境(IDE)eclipse的使用技巧及注意事项
-
[原创] CentOS7 下 OpenLDAP Server 安装和配置及使用 phpLDAPadmin 和 Java LDAP 访问 LDAP Server
-
java基础:详解break和continue的使用及在循环内switch中使用
-
Java多线程:sleep和wait区别及使用场景
-
荐 Java-day01【发展史、跨平台原理、JRE和JDK、常用DOS命令、关键字、常量、数据类型、变量使用的注意事项、标识符、类型转换】
-
cmd使用javac和java及注意事项
-
set_include_path和get_include_path使用及注意事项_PHP