java的基本数据类型和引用类型
数据类型
数值型
整数型 byte short int long
浮点型 float double
布尔值 boolean
字符型 char
基本数据类型(原始类型 raw type)
8种基本类型
byte 1字节
范围:-128——127
short 2 字节
范围:-32,768 —— 32,767
int 4 字节
范围: -2,147,483,648 ——2,147,483,647(超过20亿)
long 8 字节
范围:-9,223,372,036,854,775,808——9,223,372,036854,775,807
范围:
float 4 字节
范围:32位IEEE 754单精度(有效位数 6 – 7位)
double 8 字节
范围:64位IEEE 754双精度(有效位数15位)
char 2 字节
范围:整个Unicode字符集
boolean 1 位 值只有True或者false
byte 1字节
范围:-128——127
short 2 字节
范围:-32,768 —— 32,767
int 4 字节
范围: -2,147,483,648 ——2,147,483,647(超过20亿)
long 8 字节
范围:-9,223,372,036,854,775,808——9,223,372,036854,775,807
范围:
float 4 字节
范围:32位IEEE 754单精度(有效位数 6 – 7位)
double 8 字节
范围:64位IEEE 754双精度(有效位数15位)
char 2 字节
范围:整个Unicode字符集
boolean 1 位 值只有True或者false
运算符:
数学运算符
比较运算符
比较运算符
位运算符
逻辑运算符:
- &&- ||
- &
- |
- !
- ^ 默认整数类型为int,默认浮点数类型为double
运算结果优先级:有double ,结果为double ,
没有double,有float ,结果为float
没有 float , 有long,结果为long
没有long, 有int,结果为int
没有int,也是int
引用类型
概念
Long Byte String
vs 基本数据类型的区别
引用类型的引用存在栈中,内容存储在堆中,都是对象;基本数据类型存在栈中
基本数据类型用=赋值;引用数据类型用new创建对象赋值
包装器:
八种
Byte Short Integer Long Float Double Boolean Character
byte short int long float double boolean char
拆装箱:
- 装箱: 原始值 => 包装器对象
- 拆箱: 包装器对象=> 原始值
自动拆装箱:
自动装箱: Character i = Character .valueOf(char)
自动拆箱: i.charValue();
范围:除Character是0-127外,其他都是-128~127
- 池操作
- -128~127 => 直接使用常量池中
- char 0~127