java基本类型-阿里云开发者社区

开发者社区> 开发与运维> 正文

java基本类型

简介: java基本类型

一、Java中的数据类型:基本数据类型和引用数据类型(复合数据类型)
1、基本数据类型:(四类八种)
(1)整型
数据类型 空间分配 取值范围 备注
long 8字节 -2^63---2^63-1 常量后缀一般是L或l
int 4字节 -2^31---2^31-1 常量默认为int类型
short 2字节 -2^15---2^15-1
byte 1字节 -128---127

(2)浮点型:
数据类型 空间分配 取值范围 备注
double 8 略 后缀是d或D,小数点后15位,适合科学计算和工程计算
float 4 略 后缀是f或F,小数点后7位,适合科学计算和工程计算

案例思考:double比long类型的数据的取值范围要大的多,为什么?

long采用补码存储,double和float存储分为三个部分,分别是符号位、指数位和尾数
float:最高位表示符号,  指数位8位,尾数位23
double:最高位表示符号,指数位11位,尾数位52

(3)字符型
数据类型 空间分配 取值范围 备注
char 2个字节 'u0000'~'uffff' 兼容ascii码字符集

(4)布尔型
数据类型 空间分配 取值范围 备注
boolean 1个位 true或false 不能与整型数据进行运行

补充内容:整型数据都采用补码存储。
(1)原码:一个数的绝对值+符号在计算机中的表达形式,如果是负数,最高位符号位是1,如果是整数符号位是0。

        正数在计算机中的表示形式:
        
   13:         00001101
  -13          10001101
  
  +0           00000000
  -0           10000000
   

(2)反码:对于正数原码和反码相同,负数原码符号位不变其余位按位取反

   13:         00001101
  -13          11110010
  
  +0           00000000
  -0           11111111

(3)补码:对于正数原码、反码和补码相同,对于负数反码末位+1

   13:         00001101
  -13          11110011
  
  +0           00000000
  -0           00000000
 进制:常见的进制包括10进制、2进制、8进制、16进制等等
 10进制:由0 1 2 ....9  十个 数字所组成的进制系统称为10进制,逢十进一,每一位的权是10的n次方。
       2进制:由0 1 两个 数字所组成的进制系统称为2进制,逢二进一,每一位的权是2的n次方。是计算机世界常采用的进制系统。
       8进制:由0 1 ...7 八个 数字所组成的进制系统称为8进制,逢八进一,每一位的权是8的n次方。
       八进制在使用时以0开头的,0123,   012,。。。。。
 16进制:由0 1 ...9 a b c d e f 十六个 数字所组成的进制系统称为16进制,逢十六进一,每一位的权是16的n次方。
      十六进制数在使用时以0x开头,0x123
      
       进制间的转换:
  10进制与2进制相互转换
  10进制转2进制:除2取余
        案例作业:给定一个十进制数转换二进制
        案例作业:进制之间的相互转换
 

2、引用类型:类、数组、接口、枚举等等
3、void:无值型, 用于定义方法

二、数据类型转换:包括自动转换和强制转换。
1、自动转换:也称为向上转型。
2、强制转换:也称为向下转型。Java中的语法格式:
(类型)表达式或者变量或者常量
注意事项:
对于基本类型数据强制转换发生时会损失精度,引用类型转换时可能会发生运行时异常ClassCastException的异常,
可以使用运算符instanceof来验证被强制转换的对象或者引用是否属于强转的类型

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章