一.数据类型

1.Java:Java的数据类型可分为两大类:
①基本数据类型:byte、short、int、long、double、float、boolean、char
②引用数据类型:类、接口、数组、枚举、注解
~int 类型占四个字节
~常量有final关键字修饰。
~定义float类型时,赋值时一定要在浮点数后加f,否则自动视为double类型,且会编译失败。
~Java中当高精度赋值给低精度类型时,会编译失败,显示不兼容的类型。
~Java中字符型中字符对应的Unicode编码,占2字节,可以保存单个汉字。
~java整数默认为int,超过int类型要加L,建议大写,否则容易和1搞混.,小数默认double.
~java布尔值输出就是false,和true
~java是强类型语言,在基本数据类型的赋值和转化上比较严格

2.C语言:C语言的数据类型可分为:
①基本数据类型:short int、int(由硬件决定可能2字节也可能四字节)、long int、double、float、char、long longint(C99增加)、long double、bool(C99增加)、float_complex、double_complex、long long _complex
②枚举类型:enum
③空类型:void
④派生类型:指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)、函数类型
-常量由#define定义。
-C语言中定义浮点型不会出现java中的问题。
-C语言中当高精度赋值给低精度类型时,会有精度缺失,但并不会造成编译失败。
-C语言中字符型中字符对应ASCII码。
-C语言中char占一个字节,不能保存单个汉字。
~没有boolean类型的变量,正数代表true,非正数代表false
3.标识符
Java:Java标识符有如下命名规则:

     1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字(实际上其他语言中的字符也可以);2、不能把Java关键字作为标识符;3、标识符没有长度限制;4、标识符对大小写敏感。5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。

C语言:C语言标识符有如下规则:

   1、标识符必须以字母a~z、 A~Z或下划线开头,后面可跟任意个(可为0)字符,这些字符可以是字母、下划线和数字,其他字符不允许出现在标识符中。2、标识符区分大小写字母 3、标识符的长度,c89规定31个字符以内,c99规定63个字符以内 4、C语言中的关键字,有特殊意义,不能作为标识符

4.运算符
java中"+"还可以作为字符串的连接符.

二.语法

1.Java与C内存分配不同:
①.Java中内存分配五个区,分别为栈区(存储的是局部变量,使用完毕,立即回收),堆区(存储的是new出来的东西,实体,对象,每一个对象都有地址值,每个对象的数据都有默认值,使用完毕后,会在垃圾回收器空闲的时候回收),方法区,本地方法区(和系统相关),寄存区(给cpu使用)。
②.C中内存分配四个区,分别为栈区(存储函数参数,局部变量的值),堆区(动态内存申请与释放,若程序员不释放内存,则程序结束后可能由操作系统释放),全局区(静态区),代码区。
2.数组的建立机制不同
Java数组初始化分为动态初始化和静态初始化:
①动态初始化只给出长度,由系统给出初始化值。它的形式为:int[]arr=new int[3],(3表示一维数组中有三个元素,此时的[]被预定义为检查数组边界,没有指针运算,即不能通过a+1得到数组的下一个元素)
B.静态初始化给出初始化值,由系统决定长度。它的形式为:int[]arr={1,2,3}.
而C语言中定义一个动态数组形式为:int a=(int)malloc(sizeof(int)*3),定义一个静态数组形式为:int a[3]。

3.变量定义的约束
在java方法中,变量的范围和C语言相同,都是从变量定义开始,到函数结束;但是在类中成员变量声明的位置和方法没有规定,即在方法后声明的变量在前面的方法中任能调用,但是一般习惯将成员变量声明在前,方法声明在后.

.

java和C语言在数据类型和语法上的比较相关推荐

  1. python和c语言和java有什么区别_python和c的区别 python、java和c语言的区别?

    Python和c语言有什么区别如果我的坚强任性,会不小心伤害了你.你能不能温柔提醒,我虽然心太急,更害怕错过你 前者为 脚本语言 需要虚拟机 解释执行 ..一般情况下 不能生成exe(要使用打包工具) ...

  2. python和java和c语言的区别,python和java哪个更值得学

    java和python是什么? java和python都是一种面向对象的语言.Java是一种面向对象的语言,有着和C/C++近似的语法.它是动态链接,允许新的代码在运行时加载与运行,而不是动态类型的. ...

  3. 201671010139 2016-2017-2 JAVA 和C语言的语法区别

    java和c语言的语法上有很多相似的地方,但也有很多不同. 一,在初始值的区别 在C语言中,是可以不初始化使用的 而在JAVA中,是必须初始化值的 初始化问题上:java在声明时,可以不初始化,但是在 ...

  4. 【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )

    文章目录 一.Groovy 支持 Java 语法 二.Groovy 支持 Java 虚拟机 三.Groovy 语言是 动态语言 四.Groovy 扩展 JDK 五.Groovy 编译时元编程 一.Gr ...

  5. Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。...

      Java语言程序设计 上机实验2 实验目的: 掌握Java的基本语言成分和流程控制语句. 掌握Java中数组的使用,理解引用数据类型. 掌握String类的使用. 实验内容: 注:标(*)为选做内 ...

  6. 磨刀不误砍材工 - Java的基础语言要素(从变量/常量切入,看8种基本数据类型)

    变量与常量是一个Java程序组成的重要部分. 我们可以将变量与常量理解为数据的载体,而从名称上我们也可以看出二者的不同: 常量代表不能改变的数据值,而变量的值则存在可变性. 在我们回顾Java中的关键 ...

  7. Python同Java同Js语言语法区别之四判断字符串列表字典是否相等

    字符串列表字典是否相等 前言 Python 字符串or数字 列表 字典 总结 Java 字符串 数组 Map 总结 JS 字符串 数组 对象 总结 前言 作为一枚测开工程师,需要的技能是全栈的,项目中 ...

  8. java和c语言的语法区别_c语言和java的语法区别是什么?

    c语言和java的语法区别 单文件的编译时间java比C语言快: C语言可以直接操作内存,java不能直接操作: C语言可以封装动态库,java不行: C语言的代码不容易跨平台,java的代码容易跨平 ...

  9. java和c语言语法上相同,C语言与Java的异同

    C语言与Java的异同 作者:终南 自工作以来,先用VB.ASP这些编程:后来转用Java,对面向对象的语言有了些许了解,如今又主要用C语言写一些代码.由于学校的时候学过一些C语言的知识,后来也大略写 ...

最新文章

  1. Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)
  2. 经典php代码,10个非常经典的php代码片段.doc
  3. Python爬虫入门教程石家庄链家租房数据抓取
  4. 网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
  5. 【汇编语言】记录一组数中负数的个数,8086与MIPS汇编程序
  6. TensorFlow和Keras解决大数据量内存溢出问题
  7. 20145213《信息安全系统设计基础》第二周学习总结
  8. Unity 使物体朝向某个方位
  9. js获取td的html,js中获取 table节点各tr及td的内容简单实例
  10. Client network socket disconnected before secure TLS connection was establishedView in Conso
  11. 自定义Android Switch控件
  12. #49:Photoshop技巧的大杂烩
  13. 2022-2028年全球及中国ODM智能手机行业投资前景分析
  14. 格式化输出编码问题!
  15. บาคาร่า ธุรกิจที่สร้างรายได้ดี
  16. Gartner 2020 年 SIEM 魔力象限
  17. 人工蜂群算法怎样添加路径
  18. Java面试基础知识II
  19. SLAM本质剖析番外-李群李代数的微分和导数
  20. 返回按钮悬浮(类似手机的悬浮按钮)

热门文章

  1. 诸葛 理解产品、交互和运营
  2. 房地产投资占GDP比例畸高 中国房地产泡沫是一颗毒瘤
  3. PHP函数实现计算器—加减乘除
  4. 微信小程序头像上传(一)
  5. android+xposed插件,初探Xposed 插件开发
  6. java 使用Spire.Doc实现Word文档插入图片
  7. ROS应用开发入门 服务数据的定义和使用
  8. c语言实现简单的猜数字游戏(1~100)
  9. 索引服务器(全文索引)的使用
  10. .vdat文件怎么打开