JAVA 基本数据类型
变量 就是申请 内存 来的存储值,当创建变量的时候,需要在内存中申请空间,而内存管理系统还会根据变量的类型分配存储空间而分配的空间只能用于存储该类型数据 > 也就是说这个就和身份证一样,你的身份证只能用于证明自己身份,但不能用于付钱.
一 八种基本类型
1.byte
数据类型8位且有符号以二进制补码表示整数
1 | byte a = 100 |
| 最大值 | 最小值 | 默认值 |
|---|---|---|
| 127 | 128 | 0 |
1 | System.out.println("java.lang.Byte"); |
2.short
数据类型为16位,有符号的二进制补码表示整数
1 | short s = 1000 |
| 最大值 | 最小值 | 默认值 |
|---|---|---|
| 32767 | -32768 | 0 |
1 | System.out.println("java.lang.Short"); |
3.integer (int)
int数据类型为32位有符号的以表示二进制补码整数
1 | int a = 100000 |
| 最大值 | 最小值 | 默认值 |
|---|---|---|
| 2,147,483,647 | -2,147,483,647 | 0 |
1 | System.out.println("java.lang.Integer"); |
4.long
整数类型64位有符号的以表示二进制补码整数
1 | long a = 100000L |
“L”是不区分大小写的,为了避免与”1”混淆,本文使用大写”L”
| 最大值 | 最小值 | 默认值 |
|---|---|---|
| 9,223,372,036,854,775,807 | -9,223,372,036,854,775,807 | 0L |
1 | System.out.println("java.lang.Long"); |
5.float
单精度数据类型,32位,符合IEEE 754 浮点数
1 | float f1 = 234.5f |
1 | System.out.println("java.lang.Float"); |
优点: 在存储大型浮点数组时候可以节省内存空间
**缺点:**浮点数不能用于表示精确的值,比如$
**默认值:**0.0f
6.double
是双精度类型,64位,符合IEEE 745 的浮点数,浮点数默认类型都将为double类型
1 | double d1 = 123.4 |
1 | System.out.println("java.lang.Double"); |
缺点: 不能表示精确的值,如$
**默认值:**0.0d
7.boolean
数据类型表示一位的信息,通常只有两个取值”true or flase“
1 | beelean one = false |
**默认值:**flase
**用途:**主要用于标记 true and flase 情况;
8.character (char)
类型是一个单一的Unicode字符 [^16位]
1 | char letter = 'A' |
**特点:**可用于存储任何一个字符(如ABCDEFD)
| 最大值 | 最小值 | 默认值 |
|---|---|---|
| \uffff | \u0000 | \u0000 |
1 | System.out.println("java.lang.Character"); |
二 常量
常量在计算机中欧就那个运行时不能被修改的,主要使用 final作为关键字来修饰常量;
1.double
1 | public class Demo { |
其输出结果为: 3.0
2.byte
数据类型8位且有符号以二进制补码表示整数
1 | public class Demo { |
其输出结果为: 11
3.char (Character)
类型是一个单一的Unicode字符 [^16位]
1 | public class Demo { |
其输出结果为:A
三 字符串与常量
字符串和常量都长都可以包含任何Unicode字符
1.字符串
1 | public class Demo { |
2.常量
1 | public class Demo { |
四 自动类型转换与强制类型转换
自动类型转换需要满足从低 到 高的等级转换
1 | <- 低 高-> |
还必须满足以下条件
1.不能对boolean进行转换
2.不能将对象类型转换成不相关类的对象
3.在容量大的类型转换为容量小的时候必须使用强制类型转换
1.自动类型转换
1 | public class Demo { |
ASCII = a ,查 ASCII 码表对应的 int 类型值为 97
2.强制类型转换
在容量大的类型转换为容量小的时候必须使用强制类型转换**
1 | public class Demo { |
int 强制转换因为需要遵守强制转换原则,所以输出结果为**”Int转换为byte后值为= 71”**
⬅️ Go back