广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >java与c语言的区别有哪些?
  • 650
分享到

java与c语言的区别有哪些?

java教程javac语言 2020-10-28 06:10:23 650人浏览 无得
摘要

java与C语言的区别有哪些?1、Java与C内存分配不同:Java中内存分配五个区,分别为栈区(存储的是局部变量,使用完毕,立即回收),堆区(存储的是new出来的东西,实体,对象,每一个对象都有地址值,每个对象的数据都有默认值,使用完毕后

java与C语言的区别有哪些?

1、Java与C内存分配不同:

Java中内存分配五个区,分别为栈区(存储的是局部变量,使用完毕,立即回收),堆区(存储的是new出来的东西,实体,对象,每一个对象都有地址值,每个对象的数据都有默认值,使用完毕后,会在垃圾回收器空闲的时候回收),方法区,本地方法区(和系统相关),寄存区(给cpu使用)。【推荐学习:java课程】

C中内存分配四个区,分别为栈区(存储函数参数,局部变量的值),堆区(动态内存申请与释放,若程序员不释放内存,则程序结束后可能由操作系统释放),全局区(静态区),代码区。

2、函数

1)对于变量和函数,C需要实现声明和定义,而Java中只有定义,没有声明;

2)由于C不是面向对象的,所以C中所有全局变量和函数本质上对Java而言都是静态的。Java是一种面向对象语言,它不允许在类和接口之外声明函数,包括 main 函数和变量。而在C中,常会出现在一个文件中定义大量的全局变量,在其他文件中通过引用声明这些变量来实现共享,但Java不允许有全局变量或函数;

3)当C中函数返回值的类型和声明时类型不相符时,函数的返回值会自动转换为这个类型之后再进行函数返回;而在Java中面对次情况时,需要加入强制类型转换;

4)C中函数调用参数计算的顺序是未定义的,而Java 是从左到右有顺序的;

5)C中如果变量或函数在别的文件中定义的,必须使用extern 来声明该变量或函数。在单个文件编译的时候它们是不可见,而在链接阶段才可见。Java的编译器没有这种链接阶段,所有需要的文件在编译时必须可见;

6)C和Java程序都从 main 函数开始执行。C中main 函数一般需要有 arGC,argv 两个参数,argc 存在命令行参数个数,argv 存在实际的命令行参数;java 中main 必须用 stringargs[] 作为方法的参数,它是用来接收运行系统启动Java 应用程序时所用的命令行的参数;

7)C和Java中可以调用 exit 函数来终结程序;C中可利用abort 函数来退出非正常终止的程序,Java 中没有相对应的策略。

3、预处理器及头文件的比较

Java没有预处理器,也没有头文件;C中预处理器只是接收一些文本并将其转换成为其他文本,编译器对预处理的源程序进行编译,在C中通常用头文件来声明原型以及全局变量、库函数等。

4、用途上

C语言:纯C一般用在嵌入式上,编写最底层的程序,因为他的语言与硬件的连接最容易。可以做:嵌入式底层软件 操作系统 各类函数库引擎库软件核心代码 服务器端底层工具

JAVA:J2EE,J2SM,J2ME什么都可以。可以做:嵌入式移动设备应用软件开发 WEB网页后台逻辑开发部分桌面程序

C,JAVA其实都可用在各种领域的。

5、在运行方式上:

C语言:原始的C是面向过程的,就是按行执行。

JAVA:绝对的面向对象,是按模块执行。

(补充:当然,在c++,及C#上,C也有向面向对象模式转换)

6、语法不同:

  • C语言可以直接操作内存,java不能直接操作;

  • C语言可以封装动态库,java不行;

  • C语言的代码不容易跨平台,java的代码容易跨平台;

  • C语言有指针,java没有指针;

  • C语言可以直接操作串口,java需要第三方jar包支持;

  • C语言的线程更加灵活,java的线程都已经封装好了;

  • C可用的标识符为数字、大小写字母、下划线,不能以数字开头;Java可用的标识符除了C的三种以外,多一种美元符号($),同样不能以数字开头。

--结束END--

本文标题: java与c语言的区别有哪些?

本文链接: https://www.lsjlt.com/news/2575.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java与c语言的区别有哪些?
    java与c语言的区别有哪些?1、Java与C内存分配不同:Java中内存分配五个区,分别为栈区(存储的是局部变量,使用完毕,立即回收),堆区(存储的是new出来的东西,实体,对象,每一个对象都有地址值,每个对象的数据都有默认值,使用完毕后...
    99+
    2020-10-28
    java教程 java c语言
  • c语言与go语言的区别有哪些
    小编给大家分享一下c语言与go语言的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!区别:1、C语言源文件的扩展名是“.h”和“.c”,Go语言源文件的扩展名是“.go”。2、C语言中通过文件来管理代码,Go语言中...
    99+
    2023-06-06
  • c语言与javascript的区别有哪些
    这篇文章给大家分享的是有关c语言与javascript的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、C语言主要是被编译成机器语...
    99+
    2022-10-19
  • python与C语言的区别有哪些
    python与C语言的区别有:1、python属于动态、强类型类型语言,而C属于静态类型语言;2、python主要是面向对象,而C中没有对象这个概念,只有“数据的表示”;3、两者的变量类型不同,Python六个标准的数据类型,分别是Numb...
    99+
    2022-10-05
  • java和c语言有哪些区别
    java和c语言的区别有:1.语言类型不同;2.通用性不同;3.数据类型不同;4.文件组织方式不同;5.应用领域不同;java和c语言的区别有以下几点语言类型不同java是一种面向对象的语言,执行效率高;而c语言是一个面向过程的语言。通用性...
    99+
    2022-10-10
  • C语言和C#有哪些区别
    这篇文章主要介绍“C语言和C#有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言和C#有哪些区别”文章能帮助大家解决问题。C#是三大主流OOP(面向对象编程)语言(C++,Java,C#...
    99+
    2023-06-27
  • 汇编语言和c语言的区别有哪些
    本文小编为大家详细介绍“汇编语言和c语言的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“汇编语言和c语言的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。区别:1、因为汇编语言实质上是机器语言...
    99+
    2023-07-04
  • php和C语言的区别有哪些
    php和C语言的区别有:1、两者性质不同,php是一种通用开源脚本语言,而C语言是一门通用程序设计语言;2、特点不同,php拥有自己独创的语法,而C语言能以简易的方式编译以及处理低级存储器;3、两者优势不同,php具有较高的数据传送处理水平...
    99+
    2022-10-07
  • javascript和c语言有哪些区别
    本篇内容主要讲解“javascript和c语言有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript和c语言有哪些区别”吧! ...
    99+
    2022-10-19
  • C语言中定义与声明有哪些区别
    目录一、变量的声明与定义二、函数的声明与定义三、总结一、变量的声明与定义 首先,举个简单的例子: int a; extern int b; 这里的两个变量,哪个是声明?哪个是定义?...
    99+
    2022-11-13
  • php的语法和c语言有哪些区别
    这篇文章将为大家详细讲解有关php的语法和c语言有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。语法上的区别:1、PHP使用define函数来定义常量,c语言不是;2、php的所有的变量名前都要带...
    99+
    2023-06-14
  • 自然语言与编程语言的区别有哪些
    自然语言与编程语言的区别有以下几个方面:1. 表达方式:自然语言是人类用来交流的语言,它通常以自然的语法、词汇和语境为基础,并且允许...
    99+
    2023-10-09
    自然语言 编程语言
  • go语言和java的区别有哪些
    区别:1、Go不允许函数重载,java允许;2、Java默认允许多态,Go没有;3、Go用HTTP协议进行路由配置,java不是;4、Go代码可以自动扩展到多个核心,而Java并不总是具有足够的可扩展性;5、Java对象的方法会有隐藏thi...
    99+
    2023-05-14
    go语言 java
  • C语言和其他编程语言的区别有哪些
    这篇文章主要讲解了“C语言和其他编程语言的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言和其他编程语言的区别有哪些”吧!  一、静态内存  内存管理---存储模型  存储模型...
    99+
    2023-06-17
  • java与c语言的区别是什么
    这篇文章将为大家详细讲解有关java与c语言的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类...
    99+
    2023-06-14
  • C++语言与其他语言有什么区别
    本篇内容主要讲解“C++语言与其他语言有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++语言与其他语言有什么区别”吧!本文着重进行对C++语言来说,在语法上要简单得多,因此初学者很容...
    99+
    2023-06-17
  • C语言中scanf和printf的区别有哪些
    这篇文章将为大家详细讲解有关C语言中scanf和printf的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别:scanf是输入函数,用于从标准输入设备(一般是键盘)输入数据;而printf是...
    99+
    2023-06-14
  • c语言中abs()和fabs()的区别有哪些
    这篇“c语言中abs()和fabs()的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“c语言中abs()和fabs...
    99+
    2023-06-17
  • c语言中*p和p的区别有哪些
    这篇文章主要讲解了“c语言中*p和p的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言中*p和p的区别有哪些”吧!区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存...
    99+
    2023-07-04
  • Python与C语言的区别有什么
    Python与C语言的区别有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、语言类型Python是一种基于解释器的语言,解释器会逐行读取代码;首先将Pyt...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作