无论Java还是C,任何一种高级语言都可用来编程控制单片机,只要开发出相应的编译器用以转换相应的高级语言到机器码即可。还有Java的虚拟机(Virtual machine)不是必须的,它只是用于多操作系统为目地的。实际上,虚拟机就是一个翻译器(Interpreter), 安装在Internet Explorer 或不同的操作系统的机器中,把Java的中介码(Native code)转换成相应的操作系统的机器码而已。翻译器与编译器是有区别的。
1、C语言宝刀不老的优势就是:代码简洁且与单片机关系密切。
2、玩单片机就是用C语言,别整别的幺蛾子。你搞别的会被人笑话。
3、C语言入门其实很快的,多学一门编程语言没坏处。
4、JAVA是基于C的,最后转换成机器代码比C繁琐(汇编语言转换更快,但写起来麻烦,500行汇编代码用C语言100行就够了)。
5、单片机的各种库基本都是C语言(我说的是基本都是,不是全是),一些系统底层的程序也基本都是C语言写的(STM32单片机启动程序有汇编文件)。要是把这些东西全用JAVA写好那也行,但没人懒得开发。
6、单片机写程序用的主流软件Keil、IAR、Arduino,基本都是用C语言写程序;现在还没听说过哪个软件将单片机和JAVA联系在一起的。
7、高手都是会4种以上编程语言的,只会一种,算不算高手。