您的位置 首页 java

自学Java入门——什么是编译?为什么代码需要进行编译?

相信有很多的小伙伴,都对编程抱有着较强的兴趣,或许是爱好,或许是想转行。不过我感觉大多数人想学习编程的话,都是为了工作,如今信息如此发达的时代,网上的资料那么多,但是想去学习却不知道从哪里开始,学习的知识没有体系,那效率将会极低,那么从今天开始,我将会先以文章的方式来向大家简单地探讨一下编程,后期如果大家感兴趣的话,我也将会开始录制视频来配合文章的方式来帮助小白入门( 主要是因为我现在录制视频的条件有限,也不知道是否会有人看,如果有人看的话,肯定是会克服困难去录制视频的,前期就以发发文章为主了 )。

我本人是学习Java为主的,所以自然也是探讨Java为基础,希望有幸可以与大佬探讨,并且可以带小白入门。基于很多基础的东西,大多数都可以在网上找到,我就不多嚼舌根了( 当然如果有小伙伴希望我可以出一个基础教学的视频,也可以评论区留言,我也并不是什么大佬,一个自学转行的国企程序员小菜鸟,但是如果我真的做了基础的入门视频,我保证我每期都会认真去做,以保证不会误人子弟 ),大家也都看烦了,所以本篇文章只和大家探讨一下很多视频没有具体解释的内容。那么闲话不多说,我们开始今天的学习吧。

自学Java入门——什么是编译?为什么代码需要进行编译?

首先在学习Java之前的第一步自然是下载JDK,可以自己去Oracle官网下载,建议还是安装JDK1.8的版本,因为这还是目前大多数公司用的最主流的版本。如果不会下载,也可以评论区留言,如果实在是很多小伙伴都不会整,我就出个图解的文章来一步一步带大家安装JDK,但是安装其实真的很简单,我是嫌一步一步教安装的图解太麻烦了,所以跳过了安装JDK这个环节,视大家的情况而定,看看需不需要补发一个安装JDK的教程吧。

而在安装完JDK后,根据大家不同的安装路径,点开JDK,应该都可以看到这个目录:

自学Java入门——什么是编译?为什么代码需要进行编译?

那么按照以往的视频教程,肯定就到了配置环境变量的环节了,那么大家有没有想过,为什么需要配置环境变量呢?

这里我们先不谈环境变量,先来看一看JDK的目录结构,抛开其他的不看,我们应该会看到另一个比较熟的名词:jre。我们知道jre是Java运行时环境,这时候我们就可以很清楚地知道JDK与JRE的关系了,JRE是包含在JDK中的。

而点开JRE目录,我们可以看到这个:

自学Java入门——什么是编译?为什么代码需要进行编译?

根据我之前的微头条,大家应该也都知道JVM存在于JRE存在于JDK中的,但是在JRE中为什么我们没有看到JVM呢?其实这里我们可以简单地将bin看作是jvm,而lib其实是jvm工作时需要的类库,暂时看不懂也没关系,因为以后还是会有机会讲回来,大家先有一个概念即可。这里简单地带大家回顾了一下JDK,JRE以及JVM三者的关系,对于入门程序员来说,不需要理解得多深,但是起码得知道三者叫什么,以及三者的一些简单联系(虽然对工作并没有什么卵用,但是保不齐有些公司面试会问到这个基础的问题,你需要保证基本的东西你知道)。

在JDK的bin文件夹中,我们可以看到:

自学Java入门——什么是编译?为什么代码需要进行编译?

那么这个 javac.exe 有什么作用呢?首先我们需要找到这个javac中的c是什么意思,这个c指的是 compiler 编译器 的意思,可以理解为它是编译代码的程序,那么什么是 编译 ?我们百度搜索一下编译的意思: 编译的主要的目的是将便于人编写、阅读、维护的高级语言所写作的源代码程序,翻译为计算机能解读、运行的低级语言的程序,也就是可执行文件。 Java语言作为一种高级语言,想要被执行,就需要通过编译的手段将其转换为机器语言。不知道大家有没有看懂,如果没有看懂的话,我用最简单的话来概述一下就是: 编译就是将我们看得懂得代码,或者说就是我们敲的代码转换为电脑可以看得懂得东西

那么理解了编译的意思,我们就知道了编译器的作用了,编译器的作用就是用于编译代码。我们来看一个例子:我相信大多数程序员写的第一个程序都是打印出”Hello world”。我们随机在一个文件夹中建立一个text文档,这里我建议大家显示出文档的后缀名,比较方便我们更改,具体做法是:

自学Java入门——什么是编译?为什么代码需要进行编译?

建立一个HelloWorld的text文档,并且敲上一下代码:

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

再将text文档的后缀名改成java,如图所示:(由于我已经默认用IDEA工具打开的Java文件,所以会显示成这样,大家不需要纠结这个)

这时如果没有IDE工具的话,那么我们只能通过cmd的形式来运行里面的Java代码:

如果所示,在文件路径处输入cmd后回车打开cmd窗口,并且输入javac HelloWorld.java来完成编译(这就是编译的作用,我们先前敲的代码,只是给人看的,我们可以看懂,但是电脑无法看懂,所以需要编译器将Java文件进行编译),如下图所示:

进行编译后可以看到文件夹中会多出一个.class文件:

而其实我们的电脑能看懂的就是.class文件,简单来说, 电脑只能识别二进制指令 ,它只认识0和1,而.class文件的本质其实就是0和1组成的二进制指令,这个时候我们在cmd窗口就可以进行打印了:

本篇文章并没有带大家去敲什么代码,只是让大家知道,什么叫做编译,为什么需要编译,顺带带大家回顾了一下我之前微头条的关于jdk,jre以及jvm关系的这么一个小知识点。

下篇文章,我将会和大家一起探究一下,为什么需要配置环境变量?我相信很多小伙伴在看入门视频的时候,基本第一步都会叫你们配置环境变量,但是为什么需要配置环境变量呢?如果不配置会怎么样呢?似乎很少会有视频去提及,很多小伙伴可能很久很久都只知道需要配置环境变量,但是却不知道为什么?我们下一篇文章再见!

也希望对Java或者编程感兴趣的小伙伴可以点点关注,点赞,评论,我虽然不是什么大佬,但是如果真的有想入门的小伙伴希望我可以做得更加详细并且用心一点,我也肯定会用心地去做每一个视频,写每一篇文章,一直做到手把手写完一个前后端可以交互的小项目为止,起码大家在面试初级程序员的时候不会有太大的问题。至于更后面的方向,我自己也尚在努力中,希望大家可以一起努力,早日达到心中的目标!加油!

文章来源:智云一二三科技

文章标题:自学Java入门——什么是编译?为什么代码需要进行编译?

文章地址:https://www.zhihuclub.com/175749.shtml

关于作者: 智云科技

热门文章

网站地图