天天看点

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来验证被强制转换的对象或者引用是否属于强转的类型