cmd中javac和java使用及注意事项

cmd中javac和java使用及注意事项一、简述:cmd中,执行java命令与javac命令的区别:javac:是编译命令,将java源文件编译成.class字节码文件。例如:javachello.java将生成hello.class文件。 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。例如:javahello 二、详述:下面我们来写个java文件试试。1、打开记事本…

大家好,又见面了,我是你们的朋友全栈君。

一、简述:

cmd中,执行java命令与javac命令的区别:

javac:是编译命令,将java源文件编译成.class字节码文件。

例如:javac hello.java

将生成hello.class文件。

 

java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。

例如:java hello

 

二、详述:

下面我们来写个java文件试试。

1、打开记事本,输入一个类+主函数

cmd中javac和java使用及注意事项

public class Hello{
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

2、点击 文件->保存,保存到相应文件夹下,文件名修改了xxx.java

cmd中javac和java使用及注意事项

cmd中javac和java使用及注意事项

3、在Hello.java文件夹内,空白位置,按住键盘Shift,右击鼠标,选择“在此处打开命令窗口”

cmd中javac和java使用及注意事项

cmd中javac和java使用及注意事项

4、输入 javac Hello.java 回车

如果java类书写格式没有错误,cmd不会报错,而且在java文件同目录内生成一个class文件。

cmd中javac和java使用及注意事项

cmd中javac和java使用及注意事项

5、输入 java Hello 回车

若输出下图,恭喜你,成功了!你已经把java类中,输出打印“Hello World”显示在cmd命令行中。

cmd中javac和java使用及注意事项

 

三、总结:

首先我们使用记事本编写java源代码,扩展名.java;

在命令行模式中,输入命令:javac 源文件名.java,对源代码进行编译,生成class字节码文件;

编译完成后,如果没有报错信息,输入命令:java Hello,对class字节码文件进行解释运行,打印“Hello World”。

为了方便大家理解javac和java编译运行过程,可以看下图:

cmd中javac和java使用及注意事项

至此,我相信大家应该对javac和java使用有了比较客观的了解。

 

四、答疑:

接下来,我们来看一下大家在实践中容易遇到的问题。

问题一:cmd命令一定要准确,区分大小写,注意是否要加扩展名。

javac Hello.java

java Hello

问题二:javac命令报错,如下图

cmd中javac和java使用及注意事项

javac命令报错,一般都是java代码有误,需要检查修改。

下图中,java代码很明显的错误,输出打印语句写在了main函数的外面,修改正确就不会报错了。

javac命令报错,去看java代码,肯定有错误。

cmd中javac和java使用及注意事项

问题三:javac命令执行完成,生成class文件,但是java命令报错,如下图

cmd中javac和java使用及注意事项

我查阅资料,找到报错的原因,首先检查java源代码,记住,java类不要加package路径!再就是java环境变量有问题,咱们一起来检查一下。

右击“计算机-属性-高级系统设置”,单击“环境变量”。我相信大家都已经配置java环境变量,咱们来检查一下,如果不会配置java环境变量,请查看java开发配置环境变量https://blog.csdn.net/yongfeng929/article/details/73733973

cmd中javac和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”

特别注意变量值开头是”.;”(点分号),这个地方需要特别注意,我就是因为这个点和分号不对报错的。

cmd中javac和java使用及注意事项

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,收费软件网上都有破解方法,但是破解版不如免费版稳定,大家可以自行选择。

cmd中javac和java使用及注意事项

因时间仓促,作者水平有限,文中难免有不足之处,恳请大家批评指正。

 

end

—————————————————————————————————–

注:作者 望穿秋水见伊人,本人使用Windows 7旗舰版64位操作系统

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140111.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Oracle存储过程详解(一)

    Oracle存储过程详解(一)存储过程创建语法:create[orreplace]procedure存储过程名(param1intype,param2outtype)as变量1类型(值范围);变量2类型(值范围);BeginSelectcount(*)into变量1from表Awhere列名=param1;If(判断条件)thenSelect

  • 李洪强和你一起学习前端之(4)HTML5介绍

    李洪强和你一起学习前端之(4)HTML5介绍

  • Idea激活码永久有效Idea2019.3.3激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2019.3.3激活码教程-持续更新,一步到位Idea激活码永久有效2019.3.3激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.3成功激活

  • &0xFF是怎么个意思[通俗易懂]

    &0xFF是怎么个意思[通俗易懂]今天看了下同事从网上拷贝的base64加密的代码,看到了这样如下的代码publicstaticStringencode(byte[]data){StringBuildersb=newStringBuilder();intlen=data.length;inti=0;intb1,b2,b3;while(i

  • 冒泡排序算法,C语言冒泡排序算法详解

    冒泡排序算法,C语言冒泡排序算法详解冒泡排序是最简单的排序方法,理解起来容易。虽然它的计算步骤比较多,不是最快的,但它是最基本的,初学者一定要掌握。冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。比如对下面这个序列进行从小到大排序:9021132-5834第一轮:

  • 动态路由协议的配置 OSPF

    动态路由协议的配置 OSPF□了解动态路由协议OSPF和RIP特性    OSPF(OpenShortestPathFirst)开放最短路径优先协议。首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径,向其同一管理域的所有其它路由器发送链路状态广播信息。   RIP(RoutingInformationProtocol)路由信息协议,路由器收集所有可到达目的地的不同路径

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号