本人是技术小白,这是本人的学习笔记,如有错误,欢迎指正|ω・)。
在Java中数据类型主要分为两大类,分别是基本数据类型和引用数据类型,在了解数据类型之前首先要了解的一个就是计算机存储单元,计算机存储最小信息单元叫:位(bit),简写为b。而计算机中最小存储单元叫:字节(byte),简写为B。1个字节由连续的8个位组成,除此之外存储单位还有KB、MB、GB、TB等,它们的关系如下:
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
除字节以外,其他都为前一单位的1024倍,以此类推。
基本数据类型
基本数据类型包括:整数、浮点数、字符、布尔
- 整数关键字:byte、short、int(默认)、long
- 浮点数关键字:float、double(默认)
- 字符关键字:char
- 布尔关键字:boolean
| 数据类型 | 内存占用 | 取值范围 |
|---|---|---|
| byte | 1B | -128 ~ 127 |
| short | 2B | -32768 ~ 32767 |
| int | 4B | -2的31次方 ~ 2的31次方-1 |
| long | 8B | -2的63次方 ~ 2的63次方-1 |
| float | 4B | 负数:-3.402823E+38 ~ -1.401298E-45 正数:1.401298E-45 ~ 3.402823E+38 |
| double | 8B | 负数:-1.797693E+308 ~ -4.9000000E-324 正数:4.9000000E-324 ~ 1.797693E+308 |
| boolean | 1B | true、false |
| char | 2B | 0 ~ 65535 |
xE+y:x乘10的y次方;xE-y:x乘10的-y次方;
变量的定义
//byte类型的变量
byte a = 10;
//short类型的变量
short b = 10;
//int类型的变量
int c = 10;
//long类型的变量
long d1 = 10L;
long d2 = 10l;
//float类型的变量
float e1 = 10.1F;
float e2 = 10.1f;
//double类型的变量
double f = 10.1;
//boolean类型的变量
boolean g1 = true;
boolean g2 = false;
//char类型的变量
char h1 = 'a';
char h2 = '一';
char h3 = 1;
注意事项
- 定义变量时变量名不能重复。
- 定义long类型变量时,系统会默认为int类型,如果数值大小在int类型取值范围内可以不加L,如果超过int类型取值范围,则需要加L或l,否则会报错。
- 定义float类型变量时需要加F或f。
- 定义char类型变量时必须用单引号且引号只能放单个字符。
类型转换:
- 在类型转换时boolean不能转换为其他的数据类型
- 自动类型转换:把一个数据类型小的数值或变量赋值给一个数据类型大的变量,各数据类型大小关系如下:自动类型转换时,byte不能转换为char,short也不能转换为char,同时char也不能转为short,当char为字符时,转换类型时,系统会通过ASCII先转换为对应的十进制数值,然后再类型转换。
//定义一个byte类型的变量
byte a = 'a';
//将int类型自动转换为double类型
double b = 1;
//将a赋值给c自动转换为int类型
int c = a;
//将char类型自动转换为float类型
float = 'a';
- 强制类型转换:把一个数据类型大的数值或变量赋值给一个数据类型小的变量。类似于将自由类型转换倒过来。但是不同的是char可以转换为short,short也可以转换为char,同时byte与char也能互相转换。浮点数类型转换为整数类型时,转换结果默认是向下取整,将整数类型转换为char类型时会通过ASCII把十进制数值转换为对应的字符,而浮点数类型是先向下取整,然后再把十进制数值转换为对应的字符。
//定义一个byte类型的变量
byte a1 = 1;
//定义一个short类型的变量
short a2 = 1;
//将byte类型强制转换为char类型
char b = (char) a1;
//将char类型强制转换为byte类型
byte c = (byte) b;
//将short类型强制转换为chart类型
char d = (char) a2;
//将char类型强制转换为short类型
short e = (short) d;
引用数据类型
//定义一个byte类型的变量 byte a = 'a'; //将int类型自动转换为double类型 double b = 1; //将a赋值给c自动转换为int类型 int c = a; //将char类型自动转换为float类型 float = 'a';
//定义一个byte类型的变量 byte a1 = 1; //定义一个short类型的变量 short a2 = 1; //将byte类型强制转换为char类型 char b = (char) a1; //将char类型强制转换为byte类型 byte c = (byte) b; //将short类型强制转换为chart类型 char d = (char) a2; //将char类型强制转换为short类型 short e = (short) d;
引用数据类型包括:类,数组,接口,这些类型默认值为null。



