前言:前面文章Java009——Java数据类型&变量的简单认识中我们学习了Java数据类型&变量,也简单介绍了Java八大基本数据类型。下面我们继续学习Java八大基本数据类型
回顾:Java八大基本数据类型
============================================================================================
大类 类型名称 关键字 占用内存 取值范围
--------------------------------------------------------------------------------------------
|字节型 byte 1 字节 -128~127
整型 |短整型 short 2 字节 -32768~32767
|整型 int 4 字节 -2147483648~2147483647
|长整型 long 8 字节 -9223372036854775808L~9223372036854775807L
--------------------------------------------------------------------------------------------
|单精度浮点型 float 4 字节 +/-3.4E+38F(6~7 个有效位)
浮点型 |双精度浮点型 double 8 字节 +/-1.8E+308 (15 个有效位)
--------------------------------------------------------------------------------------------
字符型 |字符型 char 2 字节 ISO 单一字符集
--------------------------------------------------------------------------------------------
布尔型 |布尔型 boolean 1 字节 true 或 false
============================================================================================
一、整型
整型包含字节型byte、短整型short、整型int、长整型long
再开发过程中,如果需要使用整型的话,一般使用int类型,但是具体需要结合实际情况决定
public class HelloWorld {
public static void main(String[] args) {
//byte类型存储范围-128~127
byte b1 = 10;
//yte b2 = -129;//编译不通过,超出byte存储范围
//byte b3 = 128;//编译不通过,超出byte存储范围
//short类型存储范围-32768~32767
short s1 = 20;
//int类型存储范围-2147483648~2147483647
int i1 = 30;
//long类型存储范围-9223372036854775808L~9223372036854775807L
long l1= 40L;//long类型整数后面带上L
System.out.println(l1);//输出查看
}
}
二、浮点型
2.1、浮点型常量的两种表示形式
十进制数形式。如: 5.12,512.0f,.512 (必须有小数点)
科学计数法形式。如: 5.12e2(5.12乘10的2次方),512E2(512乘以10的2次方),512E-2(512乘以10的负2次方)
2.2、浮点型数据精度
float:单精度 ,尾数可以精确到7位有效数字。很多情况T,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。
注意点:
1、定义float类型的变量,赋值时需要以"f
“或”F
"作为后缀。
2、Java的浮点型常量默认为double型
。
开发中,如果需要使用浮点型变量时,通常都声明为double类型,因为double类型精度更高。
public class HelloWorld {
public static void main(String[] args) {
//浮点型
float f1 = 10.123f;//浮点型小数后面带上f或F
double d1 = 3.141592653589;
System.out.println(f1);//输出查看
System.out.println(d1);//输出查看
}
}
idea控制台输出结果查看
2.3、浮点型数据特别说明
public class HelloWorld {
public static void main(String[] args) {
//浮点型
float f1 = 0.1f;//浮点型小数后面带上f
float f2 = 0.2f;//浮点型小数后面带上f
System.out.println(f1+f2);
double d1 = 0.1;
double d2 = 0.2;
System.out.println(d1+d2);
System.out.println(0.1+0.2);
}
}
idea控制台输出结果查看
发现d1+d2不等于0.3,即0.1+0.2不等于0.3
结论:
1、并不是所有的小数都能可以精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、 0.001这样 10的负次幂。
2、浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域。如果需要精确数字计算或保留指定
位数的精度,需要使用BigDecimal类
(可以自己查一下资料怎么使用)。
三、字符型char
Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母, 一个汉字, 或其他书面语的一个字符。
Unicode编码参考1
字符型四种表示方式
public class HelloWorld {
public static void main(String[] args) {
//字符型
//方式1:使用单引号('')括主单个字符
char c1 = '男';//字符型只能是单个字符,例如’男生‘这是两个字符,赋值时会报错
//方式2:直接使用Unicode值,例如:\u0023表示'#'
char c2 = '\u0023';
//方式3:使用转义字符'\'将其后面的字符转变成特殊字符常量
char c3 = '\n';//\n表示输出换行
//方式4:使用ASCII码
char c4 = 65;//输出A
char c5 = 97;//输出a
System.out.println(c4);
System.out.println(c5);
}
}
四、布尔型boolean
布尔型boolean只有两个值要么是true,要么是false
主要用于条件判断
public class HelloWorld {
public static void main(String[] args) {
//布尔型
boolean b1 = true;//布尔型只有两个可选值true和false
boolean b2 = false;//布尔型只有两个可选值true和false
System.out.println(b1);
System.out.println(b2);
}
}