同样是高级语言为什么C语言可以编写51单片机程序,JAVA却不能编写?

网友解答: 根据我所知道的回答一下这个问题。在学生时代,我用过C语言编程也用过JAVA语言编程,工作之后都还给老师了,但是基本的概念还是知道一些。C语言和JAVA语言同样是高级语言,但是

网友解答:

根据我所知道的回答一下这个问题。

在学生时代,我用过C语言编程也用过JAVA语言编程,工作之后都还给老师了,但是基本的概念还是知道一些。

C语言和JAVA语言同样是高级语言,但是还是不同的,C语言要更低级一些,对硬件的控制更加直接,JAVA语言的运行需要使用JAVA虚拟机。下面分别对C语言和JAVA语言说一说。

C语言

C语言是我大学时的必修课,记得那时还是用的谭浩强老师的C语言教材,现在回想起来历历在目;

C语言更加接近机器语言,可以使用指针等直接对内存的地址进行操作;

C语言是面向过程的编程语言,说的直白点儿,使用C语言编程,脑海中首先得有一个流程图,第一步干什么、第二步干什么,直到把这个事情做完;

C语言需要使用编译器编译成机器语言,然后就可以运行了,不需要运行在虚拟机上,JAVA是运行在虚拟机上的,所以运行速率有点儿慢,但是跨平台效果好。

JAVA语言

JAVA是面向对象的高级语言,说直白点儿就是,编程时,首先要把所有的东西抽象成类,这个类包含了各种属性和方法,然后封装起来,更加接近人类世界;

JAVA的运行需要解释器,转换成字节码,然后在JAVA虚拟机上运行,相比与C语言是不需要的虚拟机的,编译成机器语言,直接在硬件上运行。

单片机为什么用C语言而不用JAVA

单片机的性能一般不是很好,CPU、内存可以说是“寸土寸金”,要省着点而用;

假如单片机使用JAVA语言,那么首先需要运行一个JAVA虚拟机,性能不是很好的单片机是“跑”不起来的;

单片机使用C语言就不一样了,C语言编译后直接转换成机器语言,直接对硬件进行控制,效率要高很多,而且很节省CPU和内存空间。


对于C语言和JAVA语言的使用区别,大家有什么看法呢,欢迎在评论区,留言讨论。

如需更多帮助,请私信关注,谢谢。

网友解答:

这两种语言的运行机制不一样。

C语言是直接编译成二进制格式的机器可运行代码。比如在windows平台上的exe文件,双击可直接运行。

而JAVA不同,JAVA是运行在各种版本的JAVA虚拟机之上的。JAVA虚拟机,可以理解为运行在各个平台之上的可执行文件,这个程序负责给windows等各个平台翻译编译后的JAVA语言。

举个例子,C语言就好比你精通各国语言,直接和老外交流,而JAVA则是带个翻译(JAVA虚拟机)来和系统交流的。执行效率肯定是C语言更高一些了。

51单片机,机器运行资源相对比较紧凑,在上面跑个JAVA虚拟机的话开销有些大。另外,JAVA官方也没有提供51平台的虚拟机。

另外,C可以直接操作内存,可以调用汇编指令,操作起来更加灵活。而JAVA受虚拟机功能限制,可完成的工作就比较局限了。

从JAVA语言诞生之日起,JAVA就是为了大规模开发应运而生的。C则擅长直接和硬件打交道。所以,从各方面看,JAVA都不适合开发单片机程序。

标签: