Java | 基本数据类型
基本数据类型
Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数据类型可以分为两大类:基本数据类型和引用数据类型。
基本数据类型的分类
分为三大类,8种基本数据类型
- 数值型:
byte
(1字节),short
(2字节),int
(4字节),long
(8字节),float
(4字节),double
(8节字) - 字符型:
char
(1字节) - 布尔型:
boolean
(1位)
数值型
整型
整型用表示没有小数部分的数值,它允许是负数。整型的范围与运行Java代码的机器无关,这是Java程序具有很强移植能力的原因之一。
整型数据类型
类型 | 占用内存空间 | 数值范围 |
---|---|---|
byte | 1字节 | -27~27-1( -128~127 ) |
short | 2字节 | -215~215-1( -32768~32767 ) |
int | 4字节 | -231~231-1 |
long | 8字节 | -263~263-1 |
在Java中,等号后面的是整型常量,而等号前面的是整型变量。Java中整型常量有四种表示型式:
- 十进制整数:1,2,3,4。。。等
- 八进制整数:(以0(零)开头) 015 为十进制数 13
- 十六朝制整数:(以0x(零)开头)0x15 为十进制数 21
- 二进制数整数:(以0b(零)开头)0b0001 为十时制数 1
在java中整型常数默认为int类型,所以声明long类型的时候,后面要加上(L)
int a = 15;
int b = 015;
int c = 0x15;
int d = 0b0001;
//long e = 11111111111; // 如果不加L报错
long e = 11111111111L;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(c);
/* 运行的结果:
15
13
21
1
21
*/
浮点型
带有小数的数据在Java
中移为浮点型。浮点型分为float
类型和double
类型。
浮点数据类型
类型 | 占用的存储空间 | 数值范围 |
---|---|---|
float | 4字节 | -3.0403E38~3.0403E38 |
double | 8字节 | -1.798E308~1.798E308 |
float
类型被称为单精度浮点类型,尾数可以精确到7位有效数字,在很多情况下,float
类型的精度都难以满足要求。所以有了double
类型,这种类型被称为双精度浮点类型,它的数值精度约为float
类型的两倍,绝大部分应用程序都采用double
类型。浮点型常量也是double
。
浮点类型的使用
float a = 1.1f; //在定义的时候,浮点型常量后面必须加上f。
double b = 1.2112; //浮点型常量本身默认就为double类型的,不用加f
float c = 0.1f;
float d = 1.0/10;
System.out.println(c==d);
/*运行的结果:
false
*/
结果为
false
,是因为浮点型算运是不非常的不准确。所以如果以后进行精度较高的数据计算的时候,推荐使用BigDecimal
类。
字符型
字符型在内存中占了2个字节,在Java中使用单引号来表示字符常量。如:'a'是一个字符,但是"a"就不是一个字符,"a"表示含有一个字符的字符串。
char
类型用来表示在Unicode
编码表中的字符。每一个字符占2个字节,共有65536个字符。
声明一个字节型
char a = 'a'; //每一次只可以声明一个字符
char b = '郭';//也可以存入中文
//当 a + b 的时候,它们会自动向上转型,最后变成一个int类型。
//数值也是按照Unicode编码来进行转换的。
如果想多个字符在一起怎么呢?后面有考门用来表的String
类型。
布尔类型
boolean
类型有两个常时值,true和false,在内存中占一位。不可以使用0或非0的整数代替true
和false
。boolean
类型用来判断逻辑条件,一般用于程序的流程控制。
声明一个布尔类型
boolean a = true; //表示正确
boolean b = false; //表示错误
关注公众号,随时获取最新资讯
细节决定成败!
个人愚见,如有不对,恳请斧正!