前言
本来cmd用法是写在代码结构里的,想了想还是摘出来单独放着,一定要用记事本+cmd写代码挺脑瘫的,主要是win自带记事本伤眼睛,第三方的记事本好看,但你都装第三方记事本了,为什么不直接装个vscode或者idea呢?学习代码用vscode,因为这个软件还能用来写笔记,开源免费。说实话我说不出idea有什么优点,就是写项目做软件做网站没有缺点的那种你懂吧?
有些人就是喜欢按“老师说的用cmd”
但是cmd指令早晚是要去记忆的,或者说计算机使用者早晚都会熟悉基础的cmd指令。
cmd指令:
javac Hello.java//编译文件名.java回车执行
//生成Hello.class
java Hello//java空格class名回车
//执行,输出
这几句话是有说法的:
javac.exe和java.exe是两个程序,位置就在jkd文件夹里,因为计算机之前配置过环境变量。
环境变量的作用就是可以让你在计算机文件系统中的任意位置启动path路径下的程序。
意思就是你在哪个硬盘哪个文件夹(不包括没权限的特殊地址但这里不讲)都可以调用jdk。
javac空格Hello.java中间有空格,这个是cmd指令的基本格式:
程序+空格+目标文件,然后回车,意思就是在目标文件身上使用这个程序。
javac这个程序的功能是把后缀名是.java的文本文档翻译成jvm能够读懂的.class文件,我平时直接叫它类文件。
如果有人问没有java文件只有一个txt文件,改后缀名就行了,内容不变的。
如果有人问后缀名是啥,建议回去学计算机基础,至少现在软件这条路你是走不通的。
class文件就是jvm认识的文件了,为什么总说Java语言的可移植性好,因为java文件是在jvm上面跑的,而jvm在大部分的系统上都有对应的软件版本。同时所有不同版本的jvm读取的文件都是class。我们写一份class代码,就可以以不变应万变在多有系统上执行。
java.exe 这是个程序,jre的一部分,功能是启动jvm执行目标文件。(jdk/jre/jvm是啥真不想写了,以后再讲吧,真要研究jdk这个软件组合包我也不明白,真要能吧java/jdk/jre/jvm里面的东西研究明白,外国不敢说国内所有大学的计算机讲师随便当。)
成功不是重点,重点是不成功。
没有生成字节码文件:大概率是没有保存,记事本编写就是这么脑瘫,不会自动保存。
你在桌面打开了cmd,没有跳转到你写的代码文件所在位置。
类名和java文件名不同:改一个,不然不编译。
文本文档里的字符编码不一致,cmd可能会出这种问题,编译的时候设置一下编码。
直接用成套的ide根本不会出这种问题,自动保存编译运行的,点一下就执行了。
下面是执行失败的原因(部分,bug千奇百怪,我是个普通人想不全的)
1.jdk安装不成功,不完整:
官网搜索重装,保证网络质量
2.环境变量设置:
上网搜去,我自己也写了一份凑合着看
3.语法错误:
返回去检查,习惯出错的感觉,别上头,注意血压。java挺重视标点符号的。
经常打注释,最少每个方法一个注释:这个方法是干什么的。
补充
我在教程视频里学到了有用的cmd指令:
javadoc -d 文件夹名字 -author -version -encoding UTF-8 -charset UTF-8 目标文件
可以生成一份针对目标代码文件的帮助手册,挺有用的。
-d 生成目录
-author 生成作者
-version 生成版本号,这些都是要在注释里写好的。
-encoding UTF-8 -charset UTF-8 处理字符集的问题。