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

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




Java可以开发单片机吗 java能开发单片机程序吗_JAVA


C语言

  • C语言是我大学时的必修课,记得那时还是用的谭浩强老师的C语言教材,现在回想起来历历在目;
  • C语言更加接近机器语言,可以使用指针等直接对内存的地址进行操作;
  • C语言是面向过程的编程语言,说的直白点儿,使用C语言编程,脑海中首先得有一个流程图,第一步干什么、第二步干什么,直到把这个事情做完;
  • C语言需要使用编译器编译成机器语言,然后就可以运行了,不需要运行在虚拟机上,JAVA是运行在虚拟机上的,所以运行速率有点儿慢,但是跨平台效果好。


Java可以开发单片机吗 java能开发单片机程序吗_JAVA_02


JAVA语言

  • JAVA是面向对象的高级语言,说直白点儿就是,编程时,首先要把所有的东西抽象成类,这个类包含了各种属性和方法,然后封装起来,更加接近人类世界;
  • JAVA的运行需要解释器,转换成字节码,然后在JAVA虚拟机上运行,相比与C语言是不需要的虚拟机的,编译成机器语言,直接在硬件上运行。

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

  • 单片机的性能一般不是很好,CPU、内存可以说是“寸土寸金”,要省着点而用;
  • 假如单片机使用JAVA语言,那么首先需要运行一个JAVA虚拟机,性能不是很好的单片机是“跑”不起来的;
  • 单片机使用C语言就不一样了,C语言编译后直接转换成机器语言,直接对硬件进行控制,效率要高很多,而且很节省CPU和内存空间。


Java可以开发单片机吗 java能开发单片机程序吗_用c语言编写的程序转译成java_03