什么是数据类型?
数据类型是指数据的类型。
Jana的两大数据类型:基本数据类型和引用数据类型。
Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。
Java中三种引用数据类型:class、interface、array。
基本数据类型又分为三类:数值型、字符型、布尔型
数值型(整数型):byte、short、int、long
数值型(浮点型):float、double
字符型:char
布尔型:boolean
基本数据类型:
引用数据类型:
引用数据类型是建立在八大基本数据类型基础之上,包括数组、接口、类。引用数据类型是由用户自定义,用来限制其他数据类型。简单的说,除八大基本类型之外的所有数据类型,都为引用数据类型。
所有引用类型的默认值都为 null 。
数据类型转换:
低--------------------------------------------------------------高
byte,short,char—> int —> long—> float —> double
1.低级转换高级:自动类型转换
2.高级转换低级:强制类型转换
数据类型转换必须满足如下规则:
- 不能对boolean类型进行类型转换。
- 不能把对象类型转换成不相关类的对象。
- 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 转换过程中可能导致溢出或损失精度。
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。
自动类型转换:
必须满足转换前的数据类型的位数要低于转换后的数据类型。
public class AutomaticDome{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
运行结果为:
char自动类型转换为int后的值等于97
char类型和int计算后的值等于66
解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66。
强制类型转换:
- 条件是转换的数据类型必须是兼容的。
- 格式:(type)value type是要强制类型转换后的数据类型。
public class MandatoryDome{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
运行结果为:
int强制类型转换为byte后的值等于123
隐含强制类型转换:
- 整数的默认类型是 int。
- 小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。
2022-03-1 数据类型总结,下次计划总结流程控制。