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位操作系统

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DLL注入与卸载

    DLL注入与卸载DLL注入可用于编写外挂和病毒不易发现。voidCInjectDllToolDlg::StartInject(char*path,intpid){ intpathLen=strlen(path)+sizeof(char);//获取dll目录大小 HANDLEhPro=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid); if(!

    2022年5月17日
  • Ubuntu 18.04+RTX2080Ti+CUDA10.1+CUDNN7.6.5+Pytorch1.3环境部署(详细教程)

    Ubuntu 18.04+RTX2080Ti+CUDA10.1+CUDNN7.6.5+Pytorch1.3环境部署(详细教程)

    2020年11月8日
  • CentOS7 安装 mysql8

    CentOS7 安装 mysql8本文主要从以下几个方面对自己在centos7下安装mysql8过程做如下总结:CentOS7安装mysql8步骤;window下的Navicat连接MySql8;涉及到的Linux命令——————————————————————————————————–…

    2022年6月10日
  • idea2020 3.2 永久激活码_通用破解码

    idea2020 3.2 永久激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
  • Zuul网关_为什么网关老是断开

    Zuul网关_为什么网关老是断开一、前言Zuul网关是具体核心业务服务的看门神,相比具体实现业务的系统服务来说它是一个边缘服务,主要提供动态路由,监控,弹性,安全性等功能。在分布式的微服务系统中,系统被拆为了多套系统,通过zuul网关来对用户的请求进行路由,转发到具体的后台服务系统中。本Chat主要内容如下:服务网关演化历程。Zuul1.0服务架构与源码剖析。Zuul2.0服务架构新特性。二、服务网关演化历程网关是…

    2022年8月15日
  • 矩阵的行列式、秩的意义

    矩阵的行列式、秩的意义线性代数真是一个很抽象的东西,即使我们很多人都学过,但是我相信绝大部分的都不知道这是干嘛用的,找了不少资料,终于发现了这么一篇好文章,于是强烈希望可以和大家分享,帮助大伙进一步理解矩阵的行列式和秩的本质意义。1关于面积:    一种映射 大家会说,面积,不就是长乘以宽么,其实不然。我们首先明确,这里所讨论的面积,是欧几里得空间几何面积的基本单位:平行四边形的面积。平行四边形面积

    2022年5月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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