目录
Java数据类型划分图
Java提供的数据类型主要分为两个大类:基本数据类型和引用数据类型。每个类型下又有所划分,具体划分如下图:
我们这次主要介绍其中的基本数据类型。
基本数据类型
基本数据类型分为整形、浮点型、字符型以及布尔型
整型
整型int
int 表示变量的类型是一个整型,占四个字节。
语法格式:
int 变量名 = 初始值;
代码示例:
int i = 10;
或者:
int i;
i=10;
【注意】
1.变量名是变量的标识,后续通过这个名字使用变量。
2.Java中 = 表示赋值(和数学不一样),意思是将值赋给变量。
3.Java中初始化操作可有可无,建议创建变量时都进行初始化。
4.最后不要忘记分号,否则会编译出错
字节型 byte
字节类型表示的也是 整数 ,只占 1 个字节,范围是 -2^7 - 2^7-1 ,同时byte也是Java中最小的数据类型。
语法格式:
byte 变量名 = 初始值;
代码示例:
byte b = 10;
短整型short
short用法与int类似,但包含范围较小,占两个字节
语法格式:
short 变量名 = 初始值;
代码示例:
short s = 10;
长整型 long
long 类型占用的字节为 8 字节,相应的取值范围也更大,为 -2^63 - 2^63-1 ,用于存放较大数值。
语法格式:
long 变量名 = 初始值;
代码示例:
long l = 10L;
long l = 10L;
【注意】
1.使用long设定初始值时,数字后要加L或l,比如初始值设定为 10L ,表示这个值是长整型, 10l 也可以。这个比较容易混淆,要注意区分。
浮点型
单精度浮点型 float
语法格式:
float 变量名 = 初始值;
代码示例:
float f = 10.0f;
【注意】
1.初始值应该设定为 10.0f ,如果直接设定为10.0会报错。
2. float 类型在 java 中占 4 个字节,有效小数位 6-7 位,由于精度较小一般不使用。
双精度浮点型 double
语法格式:
double 变量名 = 初始值;
代码示例:
double d = 10.0;
【注意】
1. Java 中默认声明的小数是 double 类型,如double d = 10.0。
2. double 的精度更大,有效小数位 15 位。
字符型
字符型char
语法格式:
char 变量名 = 初始值;
代码示例:
char ch = 'C';
【注意】
1. Java 中使用 单引号 + 单个字母 表示字符字面值。
2.在 C 语言中使用 ASCII 表示字符,而 Java 中使用 Unicode 表示字符,因此 1 个字符占用 2 个字节,表示的字符种类更多,包括中文。
java字符与数字转换
char可以转换成任意一种数值类型,任意一种数值类型也可以转换成char。
Java中的char用的是Unicode编码,2字节,16位。
转换时,只用到低16位,剩下的位全被忽略。例如:
char ch = (char)0XAB0041; // ch值为A,因为只考虑低16为,即0041H,找到ASCII码表中对应为A
浮点数转换为char型时,先转成int型,再继续转成char型,例如:
char ch = (char)65.25; // ch值为A,65.25先变成65,在转换成char,找到ASCII码表中对应为A
当char转换成数值型时,这个字符的Unicode码就被转换成某个特定的数值类型,例如:
int i = (int)'A'; // i值为65
如果转换结果适用于目标变量,则可以隐式转换,否则必须显式转换,例如:
byte b = 'a'; // a的Unicode码是97,在byte的范围内,可以隐式转换
byte b = (byte)'\uFFF4'; // 该数超过一个字节,为了强制赋值,必须显示转换
所有数值操作符都可以用在char型操作数上,若结合数字则转换成数字,若结合字符串则与该串相连,例如:
int i = '2' + '3'; // 字符2转成数为50,3变为51,则 i 等于101
int j = 2 + 'a'; // a转换成数为97,则 j 等于99
布尔型 boolean
语法格式:
boolean 变量名 = 初始值;
【注意】
1. boolean 类型只有2种取值, true 表示真, false 表示假。
2. Java 中 boolean 类型和 int 不能相互转换,不存在 C 语言中 1 表示 true , 0 表示 false 这样的用法。
3. boolean 的大小没有明确规定,有的编译器占 1 个字节,有的占 1 个比特位。
4.布尔类型通常用在逻辑判断的条件位置上(充当条件)。