JAVA与C语言之间数据类型上的比较 - Go语言中文社区

JAVA与C语言之间数据类型上的比较


JAVA和C语言在基本的数据类型上的比较


1.  数据类型:

共同点:数据类型决定了内存中存储数据的类型及所需内存的大小。

都满足自动类型转换和强制类型转换。

都通过定义变量来申请数据存储空间,并通过变量名获取或改变存储的值。

常量是值不可变的变量,即不能重新赋值。

 

不同点:

Java:Java的数据类型可分为两大类:

-基本数据类型:byte、short、int、long、double、float、boolean、char

-引用数据类型:类、接口、数组、枚举、注解

      变量与常量:

-常量有final关键字修饰。

      基本数据类型引用:

-定义float类型时,赋值时一定要在浮点数后加f,否则自动视为double类型,且会编译失败。

-Java中当高精度赋值给低精度类型时,会编译失败,显示不兼容的类型。

-Java中字符型中字符对应的Unicode编码。

-Java字符型占两个字节。

 

C语言:C语言的数据类型可分为:

-基本数据类型:short int、int、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语言中定义浮点型不会出现类似问题。

-C语言中当高精度赋值给低精度类型时,会有精度缺失,但并不会造成编译失败。

-C语言中字符型中字符对应ASCII码。

-C语言中字符型占一个字节。

 

2. 计算机内的储存原理:

共同点:补码是计算机用于规范计算的一种二进制表示方式,由于计算机使用数值的第一位来表示数据的正负,例如:00000011表示+3,而10000011表示-3,这些非0数值在逻辑上的表示都是没有问题的,这中表示方法称为源码表示法。但是用00000000表示+0,而10000000表示-0,则出现逻辑上的偏差,即:+0 不等于 -0。为了解决这个问题,提出了补码表示法。

•          补码的计算公式:

      正数:源码、反码和补码都相同。

      负数:补码 = 反码(符号位保持不变)+ 1

•          注意:

      负数在计算补码的时候,在源码取反的过程中要保留符号位不变,其他位取反,例如:10001010取反11110101(第一个1不变)。

 

不同点:

Java:先将编码转换为字节码文件,再通过JVM虚拟机转换为二进制码,再储存到计算机中,由计算机输出内容。

C语言:直接将编码转换为二进制码,由计算机识别输出。

 

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语言中的关键字,有特殊意义,不能作为标识符
               5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。

 

4. 运算符:

两者运算符基本相同,如下:

     算术运算符:+、-、*、/、%、++、- -

     赋值运算符:=、+=、-=、*=、/=等等

     位运算符:~、&、|、^

     逻辑运算符:!、&&、||

     关系运算符:>、<、>=、<=、= = 、!=

     移位运算符>>、<<、>>>(无符号右移)

运算符优先级:

•          运算符的优先级从高到低的顺序进行,优先级相同的运算符按照事先约定的结合方向进行,运算符优先级如下:

                                           

  以上就是一些关于JAVA和C语言的比较,只是一些在基础语法上的比较,其实无论是JAVA还是C语言,都是很接近人的语言的,使用者应当选择合适自己,合适环境的语言,并且要学会抽象,学会注意细节,再加以理论上的理解和实际的一些操作便可以很好地运用了。

 

   

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/wzx15927662183/article/details/79832454
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 15:19:09
  • 阅读 ( 1275 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢