1、整型数据类型的使用
类型 | 占用存储空间 | 表数范围 |
byte | 1字节=8 bit | -128~127 |
short | 2字节 | -2^15~2^15-1 |
int | 4字节 | -2^31~2^31-1(约21亿) |
long | 8字节 | -2^63~2^63-1 |
-
定义long类型的变量,赋值时需要以" l "或" L "作为后缀。
-
Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long。
-
Java的整型常量默认为int型。
-
字节(Byte):是计算机用于计量存储容量的基本单位,一个字节等于8 bit。
-
位(bit):是数据存储的最小单位。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。
-
转换关系:
-
8 bit = 1 Byte
-
1024 Byte = 1 KB
-
1024 KB = 1 MB
-
1024 MB = 1 GB
-
1024 GB = 1 TB
-
2、浮点型数据类型的使用
类型 | 占用存储空间 | 表数范围 |
单精度float | 4字节 | -3.403E38~3.403E38 |
双精度double | 8字节 | -1.798E308~1.798E308 |
-
浮点型常量有两种表示形式:
-
十进制数形式。如:5.12 512.0f .512 (必须有小数点)
-
科学计数法形式。如:5.12e2 512E2 100E-2
-
-
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
-
double:双精度,精度是float的两倍。通常采用此类型。
-
定义float类型的变量,赋值时需要以" f "或" F "作为后缀。
-
Java 的浮点型常量默认为double型。
-
并不是所有的小数都能可以精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。
-
浮点类型float、double的数据不适合在
不容许舍入误差
的金融计算领域。如果需要精确
数字计算或保留指定位数的精度,需要使用BigDecimal类
。
3、字符型数据类型的使用
char 型数据用来表示通常意义上“字符”(占2字节)
Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
-
字符型变量的三种表现形式:
-
形式1:使用单引号(' ')括起来的单个字符。
例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
-
形式2:直接使用
Unicode值
来表示字符型常量:‘\uXXXX
’。其中,XXXX代表一个十六进制整数。例如:\u0023 表示 '#'。
-
形式3:Java中还允许使用
转义字符‘\’
来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n'; // '\n'表示换行符
char类型是可以进行运算的。因为它都对应有Unicode码,可以看做是一个数值。转义字符 说明 Unicode表示方式 \n
换行符 \u000a \t
制表符 \u0009 \"
双引号 \u0022 \'
单引号 \u0027 \\
反斜线 \u005c \b
退格符 \u0008 \r
回车符 \u000d -
- 形式4:使用具体字符对应的数值(比如ASCII码)
例如:char c4 = 97; 97ASCII码对应a,输出a
4、布尔型数据类型的使用
-
boolean 类型用来判断逻辑条件,一般用于流程控制语句中:
-
if条件控制语句;
-
while循环控制语句;
-
for循环控制语句;
-
do-while循环控制语句;
-
-
boolean类型数据只有两个值:true、false,无其它。
-
不可以使用0或非 0 的整数替代false和true,这点和C语言不同。
-
拓展:Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示。——《java虚拟机规范 8版》
-