02.安装jdk,java和javac命令的作用和意义及调试修改思路

02.安装jdk,java和javac命令的作用和意义及调试修改思路

帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是java基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~
java语法-java基础 第二节 :安装jdk,java和javac命令的作用和意义及调试修改思路

(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。比心)



前言

本小节分享的是:java和javac是什么及配置jdk修改错误注意事项
配置jdk请查阅另一篇文章:

安装及配置jdk:安装及配置jdk
保姆级详解拆分步骤,解释了安装jdk的每一个步骤的意义。可以和本篇配合着看。


一、java和javac是什么?

为什么配置jdk总是要验证java和javac,两个还缺一不可:
java是运行命令(编译好的字节码总要运行看效果吧)
javac是编译命令(您自己写的java代码总要编译成字节码吧)

xxx.java(源文件) ====javac命令 来编译》 xxx.class(字节码文件)
xxx.class (字节码文件) ====java命令 来运行》 看效果

我们写的是xxx.java(源文件),如:
javac命令是编译java文件的,程序员编写的是源文件(xxx.java),后缀以java结尾的文件。编写好之后,由javac编译,编译好之后为字节码文件(xxx.class)。jdk运行的是xxx.class字节码文件。

结论:
java命令是运行class文件的
提示:一个游戏叫《我的世界》要求安装jdk或者jre,但是没有要求配置环境变量。因为游戏是java开发,需要运行环境,但是您下载的游戏已经是编译好的class文件,所以不需要用户编译。不用去配置环境变量。

而程序员配置jdk:即需要安装jdk程序(能跑java代码,参考java开发的游戏,开发的web网站),又需要配置环境变量(需要编译好您写好的java源文件为class字节码文件)
那为什么平时写java代码,从来没有人工用命令编译呢?
肯定的呀,用命令那么麻烦,开发工具自带这个功能。它还能帮我们调用jdk其他很多东西。
提示:我开发十几年java期间,遇见过很多次。代码都改哭/翻烂了,就是同样的报错。没道理呀~最后:工具没有自动编译。因为挨着挨着排错,笃定代码肯定没错,就去点击文件夹看字节码,发现文件时间果然是几个小时前的,应该实时和我修改代码的时间一致才对。
例子:
工程下面 classes文件夹里面放的,和您创建的工程结构一模一样,但是它里面对应java文件全是class字节码文件(java文件在src文件夹里面)。正常修改代码,这个class字节文件的时间会同步变化(修改日期:几分几秒会完全同步)

工程结构:
在这里插入图片描述

工程里面的classes文件夹:在这里插入图片描述

运行的是class字节码文件,开发工具自动帮我编译。
在电脑里面,我写完代码。点击运行:工程先帮我编译好(它会调用javac),在去调用jdk来运行,最后给我显示结果

二、案例

1.桌面创建一个记事本
在这里插入图片描述
编写java代码,class关键字定义类,类名(Hello)就是文件名(Hello),在来一个main函数:

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

记事本内容截图:
在这里插入图片描述
修改文件的后缀为:java。(将window的显示文件后缀名打开,确保修改的文件后缀)(多放了一个记事本,以看区别:java文件 txt文件)
在这里插入图片描述
打开cmd窗口,命令:cd Desktop,将命令的层级位置指向桌面(因为我们的Hello.java文件在桌面)
在这里插入图片描述
编译java源文件,用javac命令。桌面立马多一个字节码文件
在这里插入图片描述
在这里插入图片描述
java命令来运行:
在这里插入图片描述
控制台显示bbz 【 帮帮志】


命令报错,提示没有

测试java命令
java命令没有反应。
jdk安装有误。
重点检查这里,是否有两个文件,两个文件安装自动的。要不重新安装一遍。
在这里插入图片描述
测试javac
javac命令没有反应
环境变量有误
重点检查这里(高级系统设置),环境变量配置有毛病,重新检查配置

总结

配置环境变量,总是测试这两个命令。一个编译一个运行
因为正好我们开发写代码,就是用这两个功能
命令没问题,工具才能去调用。

(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。比心)