1.java的数据类型分类
- 引用类型(暂不过多介绍)
- 基本类型
- 整型 byte、short、int、long
- 浮点型 float、double
- 字符型 char
- 布尔型 boolean
2.八种基本数据类型
基本数据类型 | 占用字节 | 取值范围 | 默认值 | 容器类 |
---|---|---|---|---|
byte(字节型) | 1 | [-27,27-1] 即[-128,127] | 0 | Byte |
short(短整型) | 2 | [-215,215-1] 即[-32768,32767] | 0 | Short |
int(整型) | 4 | [-231,231-1] 即[-2147483648,2147483647] | 0 | Integer |
long(长整型) | 8 | [-263,263-1] 即[-9223372036854774808,9223372036854774807] | 0 | Long |
float(单精度浮点型) | 4 | [3.402823e+38, 1.401298e-45] | 0.0F | Float |
double(双精度浮点型) | 8 | [1.797693e+308,4.9000000e-324] | 0.0L | Double |
char(字符型) | 2 | u0000(空格) | Character | |
boolean(布尔型) | 1 | true or false | false | Boolean |
3. 拓展知识点
字符型(char)
char 有以下的初始化方式:
char c = 'a'; 可以是汉字,因为是Unicode编码
char c = 1010; // 可以是十进制数、八进制数、十六进制数等等。
char c = ' '; // 可以用字符编码来初始化,如:' ' 表示结束符,它的ascll码是0,这句话的意思和 c = 0 是一个意思。
Java是用unicode 来表示字符,“中” 这个中文字符的unicode 就是两个字节。
String.getBytes(encoding) 方法获取的是指定编码的byte数组表示。
通常gbk / gb2312 是两个字节,utf-8 是3个字节。
如果不指定encoding 则获取系统默认encoding 。
Java是面向对象语言,其概念为一切皆为对象,但基本数据类型算是个例外,基本数据类型大多是面向机器底层的类型,它是“值”而不是一个对象,它存放于“栈”中而不是存放于“堆”中,但Java一切皆为对象的概念不是说说而已,它为每一个基本数据类型都做了相应的包装类,我们日常使用中大多情况下都会使用着包装类