汇编,C语言,java的区别,我是小白,请说的通俗易懂一点,谢谢。

Python018

汇编,C语言,java的区别,我是小白,请说的通俗易懂一点,谢谢。,第1张

汇编语言是一种符号语言,我们编写的程序最终都会编译成01代码的形式,而汇编语言,你可以看成是把这些01代码做了一个十分简单的加工,他的每一条指令都可以用多为01组合去代替,因此是编译效率最高的语言,而且程序员通过汇编语言直接操作的是计算机的内存和编译器,是很底层的一门编程语言。

C语言和java语言都是高级语言,传统意义的C语言是面向过程的编程语言,它的执行效率很高,大概只比汇编低20%,但是比汇编要简单的多,通过很少的代码量就能实现汇编语言的功能,他的精髓,也是内存操作。

而java语言是面向对象的编程语言,引入了类和对象的概念,这并不是语法和语言的革新,而是一种编程思想的革新。在此基础上,java语言屏蔽了程序员对内存方面的操作,转而由编译器代替程序员进行内存的分配和回收,极大的降低了编程难度,这是java和C语言之间最大的区别。但是执行效率比C要低很多,而且系统很多资源C语言可以访问,而java不能。

总结一下就是,汇编,C语言,java语言这三门语言后者比前者容易上手,开发更简洁。但是前者比后者编译效率高,而且访问的权限大。

Java属于高级语言。

汇编语言是跟机器语言最接近的语言,用有意义的符号来替代难懂的机器指令的编程语言,基本上与机器指令 一 一对应的。不同的CPU其指令集不同,所以用汇编语言编写的程序不能通用。学习汇编语言要懂得CPU结构等方面的硬件知识,而高级语言不需要,它是由编译系统负责的。

流程:

Java词法分析

最开始的时候,高级语言编写的程序对编译器来说只是一连串的单个字符组成的字符串。为了让编译器识别这一连串的字符串,需要逐个字符的读取源程序,然后将其切分成有意义的单词,这些被切分后的单词在编译器眼里是以

<标识,语义值>对的形式存在。

为了从源程序字符串中依次找出单词,编译器需要具有扫描功能,通常这种扫描器可以用一组有限状态机来实现。为了说明有限状态机是怎么一回事,下面给出一个实例。

下图为一个识别数字的有限状态机,数字由整数部分和可选的小数部分组成。因此,根据这个有限状态机,250和3.14159都能被识别成一个有效的数字。

Java语法分析

完成了“词法分析”后,接下来就是激动人心的“语法分析”阶段。通过语法分析得到语法树。

Java翻译语法树

首先,寻找最小表达式,接下来,将最小表达式与其周边的表达式合并。最后,将所有的表达式有序的进行合并,得到最终的汇编语言描述。

至此,我们便将高级语言翻译成了汇编语言。