cmd中javac和java使用及注意事项
大家好,又见面了,我是你们的朋友全栈君。
一、简述:
cmd中,执行java命令与javac命令的区别:
javac:是编译命令,将java源文件编译成.class字节码文件。
例如:javac hello.java
将生成hello.class文件。
java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。
例如:java hello
二、详述:
下面我们来写个java文件试试。
1、打开记事本,输入一个类+主函数
public class Hello{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
2、点击 文件->保存,保存到相应文件夹下,文件名修改了xxx.java
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开发配置环境变量https://blog.csdn.net/yongfeng929/article/details/73733973。
逐一核对 ”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,收费软件网上都有破解方法,但是破解版不如免费版稳定,大家可以自行选择。
因时间仓促,作者水平有限,文中难免有不足之处,恳请大家批评指正。
end
—————————————————————————————————–
注:作者 望穿秋水见伊人,本人使用Windows 7旗舰版64位操作系统
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140111.html原文链接:https://javaforall.cn
相关文章
- java使用md5_Java_MD5的使用「建议收藏」
- java axis_Java 使用Axis实现WebService实例
- java jersey使用总结_Java Jersey2使用总结
- java jstl foreach用法_使用JSTL forEach遍历ArrayList项目「建议收藏」
- java 自定义类加载器_JAVA中如何使用应用自定义类加载器「建议收藏」
- Java生成/解析二维码-ZXing的使用
- java h2 数据库_Java H2数据库
- 使用java开发logstash的filter插件
- java使用jdbc向oracle数据库批量插入大量数据详解数据库
- Oracle 视图 DBA_JAVA_CLASSES 官方解释,作用,如何使用详细说明
- Java实现Redis分布式锁(java实现redis锁)
- 工具Linux上使用Java开发的利器:选择指南(linux选择java)
- 时间设置Java使用Redis设置过期时间(redisjava过期)
- 机制使用Java对Redis实现过期机制(redisjava过期)
- 实战探索:Java中使用Redis缓存(java的redis案例)
- 分布式锁使用Java实现Redis分布式锁的超时机制(redisjava过期)
- 机制使用Java和Redis实现过期机制(redisjava过期)
- 机制使用 Java 和 Redis 实现复杂数据过期机制(redisjava过期)
- 使用Java远程控制Linux 实现简单、高效的服务器管理(java控制linux)
- 使用CMD控制台轻松执行MySQL命令(cmd执行mysql命令)
- 使用CMD命令实现MySQL数据库管理(cmd mysql数据库)
- 如何使用CMD链接Oracle数据库(cmd怎么到Oracle)
- 使用JavaScript实现Java的List功能(实例讲解)
- java定时调度器(Quartz)使用实例