序号
数据类型
位数
占用存储空间
默认值
取值范围
1
byte(位)
8
1字节=8bit
0
-2^7-2^7-1
2
short(短整数)
16
2字节
0
-2^15-2~15-1
3
int(整数)
32
4字节
0
-2^31-2^31-1
4
long(长整数)
64
8字节
0
-2^63-2^63-1
5
float(单精度)
32
4字节
0.0
-2^31-2^31-1
6
double(双精度)
64
8字节
0.0
-2^63-2^63-1
7
char(字符)
16
2字节
‘u0000’
0-2^16-1
8
boolean(布尔值)
8
1bit
false
truefalse
注意:引用数据类型的大小统一为4字节,记录的是其引用对象的地址。
package chap1_基础语法;public class Test01 { public static void main(String[] args) { //整形 byte num1 = 127; short num2 = 32767; int num3 = 2147483647; long num4 = 9223372036854775807L; //long类型要在数后面加L //浮点型 float num5 = 3.14F; //float类型要在数后面加F double num6 = 3.141592653589793238462643D;//后缀D或d,以明确其为double类型 //字符型 char name = 'a'; //占2个字节 // String str ="让优秀成为一种习惯"; //String不是关键字,类 //布尔型 boolean flag = true; }}
2.6.1整形Java语言整形常量的四种表示形式:
二进制数,要求以0b或0B开头,如0b01110011八进制数,要求以0开头,如015十进制数,如99、-500、0十六进制数,要求以0x或0X开头,如0x15
Java语言的整形常数默认为int型,声明long型常量在后面加“L”。
2.6.2浮点型float类型,尾数可以精确到7位有效数字(单精度)double类型,尾数可以精确到16位有效数字(双精度)——精度约是float类型的两倍。
float类型的数值有一个后缀F或f,没有后缀F/f的浮点数值默认为double类型。(且编译错误)也可以在浮点数值后添加后缀D或d,以明确其为double类型。2.6.3字符型
char类型用来表示在Unicode编码中的字符。Unicode编码被设计用来处理各种语言的文字,占2个字节,可允许有2^16=65536个字符。Unicode具有从0~65536之间的编码,它们通常用从u0000到uFFFF之间的十六进制来表示(前缀为u表示Unicode)。
常用的转义字符及其含义和Unicode值如下表所示:
不可以使用0或非0的整数替代true和false,这点和C语言不同。