尚硅谷JavaSE基础
2.5 数据类型
2.5.1 分类
对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
2.5.2 整型
- Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
- java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
- java程序中变量常声明为int型,除非不足以表示大数,才使用long
2.5.3 浮点型
- 与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
- Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
- 浮点型常量有两种表示形式:
- 十进制数形式:如:12 512.0f .512 (必须有小数点)
- 科学计数法形式:如:12e2 512E2 100E-2
- 通常情况下,应该使用double型,因为它比float型更精确。
2.5.4 字符型
- char 型数据用来表示通常意义上“字符”(2字节)
- 字符型常量的三种表现形式:
- 字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
- Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // '\n'表示换行符
- 直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。
- char类型是可以进行运算的。因为它都对应有Unicode码。
2.5.5 布尔型
- boolean 类型适于逻辑运算,一般用于程序流程控制:
- if条件控制语句;
- while循环控制语句;
- do-while循环控制语句;
- for循环控制语句;
- boolean类型数据只允许取值true和false,无null。
- 不可以0或非 0 的整数替代false和true,这点和C语言不同。
- Java虚拟机中没有任何供boolean值专用的字节码指令,java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示《java虚拟机规范8版》
2.5.6 数据类型转换
1、基本数据类型之间的转换
注意:boolean除外
大小关系:
①自动类型转换
规则:小——>大
语法:double d = 1;
②强转类型转换
规则:大——>小
语法:int i = (int)1.5;
特点:
①自动提升的原则。表达式的最终结果的类型为 操作数中最大的类型!
②强转符号只针对于最近的操作数有效,一般使用小括号提升优先级
2、String类型和基本类型之间的转换
①基本类型——>String类型
规则:直接拼接空字符串即可
语法:
char c = '中';
String s = c+"";
②String类型——>基本类型
规则:除char之外,其他的都是通过 包装类型.parseXX的方法
语法:
除char之外:
String s = "12345";
int i = Integer.parseInt(s);
char:
String s = "asfgh";
char c = s.charAt(1);//提取单个字符
char[] ch = s.toCharArray();//将整个字符串转换成字符数组