c语言 学j***a,c语言学j***a吗

kodinid 13 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言java问题,于是小编就整理了3个相关介绍c语言 学Java的解答,让我们一起看看吧。

  1. 我学习的是java语言,现在想去学习c语言,会不会很难或者说要入门大概需要多长时间?
  2. 将java程序转换成c语言?
  3. 都说学Java比学C语言好,这两个有什么区别吗?

学习的是j***a语言,现在想去学习c语言,会不会很难或者说要入门大概需要多长时间

最大难度可能会来自学J***a会缺乏对更底层逻辑抽象,而人往往因为定式会以J***a使用的上层抽象硬套C语言的逻辑。学C的话J***a的经验可以作为参考,上层的编程思路可以用,但是语言方面,***装自己没学过编程语言吧。

然后就是C语言因为异常古老所以某些设定相当扭曲,比如类型格式函数指针

c语言 学java,c语言学java吗-第1张图片-安济编程网
图片来源网络,侵删)

再有就是语言设计出发点的问题,J***a的规则很严格,C语言追求性能所以在规则上留了很多余地。J***a只要能编译过的在语言层面一定是对的,C语言不是,比如i++ += i++ + ++i之类称为未行为的东西。

单说C语言的话,原则说C语言比J***a简单得多。但C语言更贴近底层,所以更反直觉(当然也有一些祖传设计Bug的问题)。C语言好不好学可能主要在于你是不是够理性。

将j***a程序转换成c语言?

j***a是带GC的,所以根本不存在算法可以保证所有j***a代码转成c++之后都跟原来长得差不多。譬如j***a8用lambda表达式构成一个环,你C++当场就跪了。

c语言 学java,c语言学java吗-第2张图片-安济编程网
(图片来源网络,侵删)

都说学J***a比学C语言好,这两个什么区别吗?

J***a和C都是指令式语言,J***a是纯面向对象成,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。

J***a是跨平台的,不同操作系统都可以通过JVM来解释J***a程序,而C、C++、C#则是与平台相关的,一些指令只能在特定的操作系统中才能执行。具体原因是,J***a是解释型语言,所有代码都会翻译成统一的、与系统无关的字节码,放在JVM上运行;而C是编译型语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。

再一个不同是,J***a不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么J***a中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。

c语言 学java,c语言学java吗-第3张图片-安济编程网
(图片来源网络,侵删)

再者,J***a无法对内存进行控制,而C则可以通过指针对内存进行人为分配

还有一点,J***a有垃圾回收机制,可以自动回收不再使用的空间,而C则必须要求程序员用free()函数释放空间。

总的来说,J***a比较容易上手,学得快,但对于了解编程语言来说帮助不如C大

都是基础语言C是面向过程编程更接近底层,也就是更接近机器思维;j***a是面向对象编程,更接近人的思维。所以学起来肯定是越接近人的思维越好学,j***a比c好学。举个栗子:天黑了要开灯用c和j***a来实现:c是这样做的:进房间-找到开关-按一下-灯亮了;j***a是这样做的:如果天黑那么-房间-变亮,这就是本质区别;还有在应用方面c多用于工业嵌入式人工智能这些技术含量比较高的领域,j***a多用于[_a***_]架构,常见什么京东啊,天猫啊,美团之类的,还有就是企业级项目开发,j***a代码可移植性强比较灵活,门槛低容易入门,而c就比较难咯,都是博士级别的人再搞,一般的c语言也就是搬搬砖。两者比起来,还是j***a比较实用,毕竟工作机会多,待遇也还可以。

j***a好,没有错。不是语言的问题,是j***a的生态更好,开源属性框架多,***多,容易找到学习的***,碰到问题基本搜索即可搞定,工作也好找,应用范围广,大厂都用。


到此,以上就是小编对于c语言 学j***a的问题就介绍到这了,希望介绍关于c语言 学j***a的3点解答对大家有用。

标签: 语言 j***a c++