Java数据类型及运算符及数组(与C语言对比)

Java和C语言在数据类型大部分相同,但是也有不同

1.新增了byte类型(相当于C语言中把char用作整数一样)

2.然后就是char类型的大小改为了2字节。 

3.布尔型改名为boolean而不是bool,且大小没有明确规定,方便进行不同平台之间的移植!

4.没有有符号无符号的区分,Java都是有符合,即正负都可以表示!

但是Java里面不再有指针这个概念了,而是将数据类型分成了基本数据类型引用数据类型。

基本数据类型就是刚刚的8种类型,而引用数据类型就包括String,数组,类,接口,我们会慢慢接触到的!

然后我们讲Java为了保证安全而与C语言不一样的地方!

1.局部变量必须初始化才能使用(否则就直接报错),而不是像C语言哪有还有随机值!

2.直接赋值的字面值常量不能超过范围(仅字面值常量,并不是不可能超范围,如果超出范围同样会溢出)

整数类型的区别

除此之外如同C语言中的double和float中默认浮点数是double一样

Java中的int和long也可以加L/l区分!

其次就是byte类型的整形提升

byte byte 都是相同类型 , 但是出现编译报错 . 原因是 , 虽然 a b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算 , 得到的结果也是 int, 这是赋给 c, 就会出现上述错误 .
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据 . 为了硬件上实现方便 , 诸如 byte short 这种低于 4 个字节的类型 , 会先提升成 int, 再参与计算

布尔型的区别

1.首先是名字不是bool而是boolean!

2.大小没有规定!

3.打印出来的是true和false而不是像C语言打印0或者1的数值出来!

4.Java中不存在0为假,非0为真这种说法,即boolean不能和整数进行转化!

字符串类型

1.String后面没有什么以\0结尾这种说法,String里面本身就是有一个数组,根本不需要\0做标识符!

2.String不是包装类型(并且String连基本数据类型都不是,更不谈包装类型)(最后会提到包装类)

3.整形和字符串的转换也非常简单

 

4.字符串+其他这个时候+就是拼接而不是+!

包装类型

基础数据类型会有其对应的包装类型,其中包含一些有关基础数据类型的功能被封装其中!

如Integer(int),Charcter(char).Boolean(boolean),short(Short),byte(Byte),long(Long)

使用类似如下

这些都是基础类型的包装类,但是大家现在还没有学类,所以大家见一下就行,以后大家就会理解这是什么东西的!

然后就是运算符

常见的加减乘除,取余,取模等C语言基本相同!

但是Java支持浮点数取模!除此之外的就不再赘述!

数组

Java中不存在指针的概念,所以就有一套新的规则去解决这个问题!

这个地方arr1和arr2本质只是一个指向(引用类型),所以可以通过直接赋值改变指向其指向!

如图所示,并且如果一块内存没有被指,就会自动回收,例如此处arr2原本指向的空间就会在适当的时机被系统回收!这样就不用像C语言那样手动管理内存,大大的简化了内存管理!提高了程序的安全性!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值