Java-基础-数据类型-基本类型

概念

说到基本类型就必须提及另外一个跟基本数据类型对应的一个类型:引用数据类型。
Java中有两大数据类型

  • 内置数据类型 也称基本数据类型
  • 引用数据类型 也称对象数据类型

这两种数据类型的变量统称为变量,变量是用来申请内存存储值的。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

Java语言提供八种基本类型:其中六种数字类型,一种字符类型以及一种布尔类型。其实严格来说void也算基本数据类型,只不过没有相应的操作方法。而且八种基本类型和void类型都有其对应的包装类型,void的包装类型是java.lang.Void

  • boolean 1/8个字节
  • byte 1个字节
  • short 2个字节
  • char 2个字节
  • int 4个字节
  • float 4个字节
  • long 8个字节
  • double 8个字节
    其中 boolean char 这两种基本数据类型是无符号的,六种数字类型都是有符号的,都是以最高位作为符号位。那么四种整数类型能表达的数字范围都是 [-2^(n-1), 2^(n-1) - 1] 的范围,其中n是数字类型的二进制位数。
    char 的取值范围是[0, 2^16 - 1] 也就是 [\u0000, \uffff] 的范围,同时也是UTF-16的字符集范围。
    在不超出范围的情况下 byte short char int 都可以用一个int类型的数字来赋值,超过其范围则编译报错。
    另外需要注意的是 byte short char 三种类型的四则运算都会隐式的提升为int类型,或更高的类型。
    所以下面的写法第一行是正确的而第二行是错误的:
byte b = 127;  // 不超过其取值范围。
byte c = b - b; // 这里会被转换成 int 如果需要用byte来存放需要强转。

但是 byte c = --b; 或 byte c = b++; 却是可以的?!

byte <(short=char)< int < long < float < double

如果从小转换到大,可以自动完成,而从大到小,必须强制转换。short和char两种相同类型也必须强制转换。

不同的数字类型之间做运算会将低等级的类型转换成高等级的类型再进行运算。
整型字面值可以用十进制、16、8、2进制来表示。十进制很简单,2、8、16进制的表示分别在最前面加上0B(0b)、0、0X(0x)即可

浮点数
Java中给变量赋值时,整数缺省类型为int,小数的缺省类型为 double,所以要将 123.4 赋值给float变量则需要在后面加上 f 或 F

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 9,820评论 1 44
  • 第一类:逻辑型boolean 第二类:文本型char 第三类:整数型(byte、short、int、long) c...
    Jasonme阅读 4,796评论 0 4
  • 在我读书时,酷爱文学,喜欢写作,并且希望自己将来走文学之路。因为偏科,没考上大学,一直是我人生的遗憾,也成了我人生...
    文采乐阅读 1,373评论 2 6
  • 独自走在烟雨蒙蒙的异域 想象着远方花开的季节 我低头采了一簇花香 捡起记忆的碎片 却拾不起你的容颜 卸不下孤独的面...
    烟波江阅读 1,342评论 0 0
  • 转眼又是一年,回头看这一年毫无波澜,没有任何人、事、物影响到我的生活,可能每个人每个阶段所憧憬的生活都是不一样...
    oopsT阅读 1,805评论 0 0

友情链接更多精彩内容