#日常唠叨#本来这一篇博客是不会按时发布的,因为小星星今天有事要外出。但是看到粉丝们求博心切,于是在昨天晚上熬夜打完,大家要感谢小星星哈(比如说,像看电视剧一样,好好得把Java笔记追完)!
接着,大家要知道一点,我们刚刚所编写的HelloWorld并不是一个真正名义上的Java代码,为啥哩?因为我们写的代码的文件类型是文本文档,不是Java文件,那怎么更改文件类型呢?
(为没有看过上一篇随笔的来一个补充,HelloWorld代码:
1 class HelloWorld { 2 public static void main(String [] args){ 3 System.out.println("Hello World!"); 4 } 5 }
)
首先,我们要展示文件后缀名(已经展开的不用做),打开文件资源管理器(最简单的打开方式:双击 我的电脑/电脑/此电脑),选择文件栏:
(不要在意别的东西)
接着选择更改文件夹和搜索选项:
选择查看功能菜单:
下拉找到隐藏已知文件类型的拓展名,把前面的勾去掉:
(注意是去掉,不是勾上)
然后点击确定:
(不点确定就不会保存,你就白弄了)
接着关闭文件资源管理器,找到我们之前的HelloWorld代码,右键,重命名:
接着把.txt后缀改成.java后缀:
点击一下桌面,提交重命名,会弹出如下界面,点是:
(电脑下载过文本编辑器的话应该会更改图标,比如这样:,关于文本编辑器的介绍后面会写)
然后,我们再按照上一篇博客的方法,打开DOS(cmd)。然后进入文件路……啊嘞嘞,忘记你们不知道基本DOS命令,那再来的补充。右键HelloWorld代码,选择属性:
把位置这一行信息拷贝/复制(Ctrl+C):
然后关掉这个窗口,在cmd中输入cd +粘贴(别真把这两个字打上去,我是叫你粘贴刚刚拷贝的内容,Ctrl+V)(注意,cd和粘贴内容之间有空格):
(如果之前是放在磁盘里的,则输入磁盘符,后面加上英文冒号,如:
)
接着输入javac +文件名.后缀(一样,别把文件名.后缀打上去,javac和文件名.后缀之间有空格):
这时我们先打住,回头看看之前放HelloWorld文件的目录,是不是多了一个HelloWorld.class文件?原因等会我会写,大家先有个印象:
然后输入java +类名(一样别把类名打上去,java后面有空格。类我还没写,大家理解成文件名就好,不用加后缀):
大家可以看到,DOS命令栏变成了Java控制台(当然你们看不出来,控制台是啥以后会写),接着输出了一句话:Hello World!后面还有一个\r\n(回车换行),具体代码原理以后会写。
Java代码运行完毕了,大家如果运行出了问题,如果是上一篇写的 'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。 则去检查一下Java环境变量,如果是其他错误大家可以在下面的评论里回复或者给我发私信,我看到后会回答的。运行成功的小伙伴们,在激动之余请思考一个问题,Java代码是如何运行的?
Java可以理解成一门编译型的编程语言(编译和解释的区别请百度,其实Java是半编译半解释,但是我们先不去管它),所以运行程序都需要进行一步:编译。把我们的Java文件转成字节码Class文件。这一步,Java提供了一个程序:javac。我们通过javac编译我们的HelloWorld.java程序为HelloWorld.class字节码文件(所以上面多了一个class文件)。接着我们通过了java命令,将我们的程序在DOS窗口中运行了,但更准确的说,是在JVM上运行了,只是在DOS窗口上显示了控制台。JVM是啥?之前的博客写过,是Java虚拟机。所以所有的Java程序都是在Java虚拟机上运行的。
下面这张图可以很好的展示Java的这种机制:
(补充:javac为编译代码,java为运行代码)
另外再提一句,编译之后再运行程序的好处是我们只要进行一次编译,就能到处运行(包括换一个电脑,只要电脑里有JRE环境就能运行,因为Java跨平台)。我们之前已经将我们写的Hello World程序编译并运行过了,但大家可以发现HelloWorld.class文件并没有消失,而且我们仍然可以再一次将这个已经运行过的字节码程序放在Java虚拟机上运行:
怎么样,编译厉害吧?