- 前言
- 一、数值类型
- 1. 整数类型
- 2. 浮点类型
- 二.字符类型
- 三.布尔类型
- 四、基本数据类型转换
- 1.自动类型转换
- 2.强制类型转换
Java语言中基本数据类型有八种
整数类型:byte,short,int,long
浮点类型:float,double
字符类型:char
布尔类型:boolean
- Java各整数类型有固定的表数范围和字段长度,不受具体系统的影响,以保证java程序的可移植性。
- Java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
- Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
类 型 | 占用存储空间 | 表数范围 | 默认值 |
---|---|---|---|
byte | 1字节 | -27 ~ 27-1(-128 ~ 127) | 0 |
short | 2字节 | -215 ~ 215-1(-32768 ~ 32767) | 0 |
int | 4字节 | -231 ~ 231-1(-2147483648 ~ 2147483647) | 0 |
long | 8字节 | -263 ~ 263-1(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807) | 0L |
- 与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体 *** 作系统的影响。
- float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求,定义float类型变量时,变量要以"f"或"F"结尾。
double:双精度,精度是float的两倍。通常采用此类型。 虽然float只占用4个字节,但是float表示数值的范围比long还大
类 型 | 占用存储空间 | 表数范围 | 默认值 |
---|---|---|---|
单精度float | 4字节 | -3.403E38 ~ 3.403E38 | 0.0f |
双精度double | 8字节 | -1.798E308 ~ 1.798E308 | 0.0d |
- char 型数据用来表示通常意义上“字符”(2字节),默认值:‘\u0000’
- 定义char型变量,通常使用一对’',内部只能写一个字符
- Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
- 字符型变量的三种表现形式:
- 字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 = ‘a’; char c2= ‘中’; char c3 = ‘9’;
- Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。
例如:char c3 = ‘\n’; // '\n’表示换行符 - 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表
一个十六进制整数。如:\u000a 表示 \n。
转义字符 | 转义说明 |
---|---|
\n | 换行符 |
\b | 退格符 |
\t | 回车符 |
\r | 制表符 |
\’ | 单引号 |
\" | 双引号 |
\ | 反斜杠 |
- boolean 类型用来判断逻辑条件,一般用于程序流程控制:
- if条件控制语句;
- while循环控制语句;
- do-while循环控制语句;
- for循环控制语句;
- boolean类型数据只允许取值true和false,无null,默认值为false。
- 不可以使用0或非 0 的整数替代false和true,这点和C语言不同。
- Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所 *** 作的
boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示。
涉及到的基本数据类型:除了boolean之外的其他7种
1.自动类型转换-自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容
量大小排序为:
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
byte 、char 、short --> int --> long --> float --> double - byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
注意:当byte、char、short三种类型的变量做运算时,结果为int型
- boolean类型不能与其它数据类型运算。
- 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。
- 需要使用强转符:()
- 强制类型转换,可能导致精度损失。
boolean类型不可以转换为其它的数据类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)