大家好,今天小编关注到一个比较有意思的话题,就是关于java 语言程序设计 课后答案的问题,于是小编就整理了1个相关介绍j***a 语言程序设计 课后答案的解答,让我们一起看看吧。

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

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

从事嵌入式开发多年,C语言和J***a两种编程语言都拿来做过项目,凡是没有那么绝对,不同的编程语言适用于不同的编程场景,对于单片机来讲运行个操作系统就已经是很奢侈的事情,再让运行j***a的虚拟机还让人玩不,一旦涉及到操作系统或者j***a的虚拟机基本上已经超乎单片机的范畴了,单片机再次扩展化就是嵌入式开发了,运行个操作系统或者j***a虚拟机也不是什么很难的事情。

java 语言程序设计 课后答案-java语言程序设计课后答案第四版
(图片来源网络,侵删)

术业有专攻,对于单片机而言应用场景非常简单,用最小的开支控制硬件电路,只要是单片机在的地方,软件要求都不是太强大,但性能要求非常高,成本普遍比较低,常见一些小的控制设备基本上都是单片机完成,前天部门一个做单片机开发的程序员还在抱怨在嵌入式linux上写的代码直接平移到单片机上没法用,占用内存太厉害,相同的功能只好重新写一遍,系统***特别是内存***必须要考虑的事情,又不能增加做太多***的扩展毕竟成本有限制,基于以上种种原因,单片机能跑个操作系统都是一件很难的事情更何况是J***a,任何公司开发产品都需要从实际情况出发。

j***a目前主流语言里面的第一编程语言受众最多,相关从业人数也是最多的,主要在应用级开发以及后台服务器开发方面有比较大的优势,可用类库非常多,所以开发一个功能只要思路确定功能实现起来非常迅速,大部分的基本功能已经封装成类库,而且由于受众比较多,简单的功能直直接在网上就能搜到然后***粘贴出来,修改下就能使用,这也是强大的生态链支持。

java 语言程序设计 课后答案-java语言程序设计课后答案第四版
(图片来源网络,侵删)

J***a也是可以直接调用底层硬件的,通过jni方式只是一个通道而已。在开发安卓框架的时候,有个同事做了多年的j***a,想转行做底层的软件开发,结果搞了三个月坚持不下去了,最后又回归到j***a开发去了,不仅仅是语法方面的差异主要是编程方式以及编程思想差异太大,本质上还是面向对象和面向过程的差异,现在的程序员特别是刚入行的喜欢拿比较各种编程语言的差异,更夸张还有鄙视链。

C语言和j***a几点区别?

java 语言程序设计 课后答案-java语言程序设计课后答案第四版
(图片来源网络,侵删)

1.C语言属于面向过程的编程语言,j***a面向对象语言,编程思路有差异

2.C语言主要用在操作系统,通讯行业,驱动开发等底层语言开发,j***a主要在***以及后端服务器开发,现在大数据领域应用场景也很多。

3.编程语言发展正在向着集成化发展像j***a这种在编程领域会越来越受到重视,C语言这种底层语言会越来越走向后台,并不意味着落伍,只不过从前台走向了后端,而且从业的门槛也提升了,但重要程度不会因此降低。

术业有专攻任何一种编程语言都不是万能的,能在合适的场景下解决问题就够了,没有必要在一些无关的选择上浪费太多的时间。

希望能帮到你。

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

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

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

C语言

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

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

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

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

J***A语言

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

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

单片机为什么用C语言而不用J***A

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

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

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


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

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

作为985院校的本硕毕业生以及BAT的J***a开发工程师来回答这个问题。

因为同为高级语言的C语言是编译型语言,而J***a是解释型语言。

解释型语言与编译型语言

也许你早就好奇了,什么是解释型语言,那什么是编译型语言?

我们最开始说C/C++是编译型语言,原因是相对于j***a这样的解释性语言,C/C++需要通过编译器,把源代码编译成中间文件,然后通过连接器和汇编器生成机器码,即一系列基本操作序列,可以直接让计算机执行。

而j***a程序从源代码到被计算机执行,也要经历上述步骤。不同的地方在于,C/C++会把那些从源代码“变”来的机器码保存起来,而j***a直接将这些生成的基本操作序列指令丢给j***a虚拟机,也就是我们常说的JVM(j***a virtual machine),执行然后产生动作了。这就是我们所说的解释型语言。

所以我们看到的现象是,编译型语言要先编译再运行,而解释性语言直接“运行”源代码。

单片机

单片机其实就是一个微型电脑,除了功能和性能上比我们家用电脑弱很多,其他内部重要构造一应俱全,用来做一些控制家用电器的工作足够了,比如洗衣机,微波炉什么的。

单片机程序通常都是用C/C++编写的。因为他们生成的exe文件,是可以直接放在单片机内部运行的。而像J***a,作为解释型语言,它编译后的产生的文件是要放在j***a的虚拟机中才能运行的,直接交给单片机,根本无法运行。

如果一定用J***a写单片机程序,也不是不可以,就是比较麻烦,需要把它的解释器写进单片机内部。但是这样做简直就是自找麻烦,第一占用单片机有限的空间***,第二会影响执行速度。我想所有人都不想点击洗衣机的开始按钮之后,过了十秒钟,才开始加水吧。

以上是我的浅见,如果对你有所帮助,欢迎点赞留言与我交流。

我是苏苏思量,来自BAT的J***a开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。

到此,以上就是小编对于j***a 语言程序设计 课后答案的问题就介绍到这了,希望介绍关于j***a 语言程序设计 课后答案的1点解答对大家有用。