目录
Java是一种强类型的语言,针对每一种数据都定义了明确的数据类型
分类一:
数值型:
整形,浮点型
非数值型:
字符型,字符串型,布尔型
分类二:
基本数据类型:
整数:
byte:一个字节(-128~127)
short:2个字节(-32768~32767)
int:4个字节
long:8个字节
浮点型:
float:4个字节
double8个字节
public class Demo5DataType {
//程序的入口
public static void main(String[] args) {
/*
1.自动类型转换
*/
System.out.println(1024);//这是一个整数,默认是int类型
System.out.println(3.14); //这是一个浮点数,默认是double类型
//左边 long 右边的100是 int
long num1 = 100;//发生了自动类型转换
System.out.println(num1);
//等号左边num2 double
//等号右边是一个float
double num2 = 2.4F;
System.out.println(num2);
float num3 = 30L;
System.out.println(num3);
/*
强制类型转换
*/
int num4 = (int)100L;
System.out.println(num4);
}
}
字符型:
char:2个字节
布尔型:
boolean:一个字节(true;false)
引用数据类型:
String:引用数据类型
注意:字符串不是基本数据类型,而是引用数据类型浮点数可能只是一个近似值,并非精确的值数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4个字节,long是8个字节。浮点数类型的数据默认是double类型,如果一定要使用float类型,需要加一个F后缀整型默认是int类型,如果要使用long类型,需要加一个L后缀
数据类型转换
当数据类型不一样的时候,将会发生数据类型的转换
自动类型转换(隐式)
1.特点:代码不需要进行特殊处理,自动完成
2.规则:数据范围从小到大
强制类型转换(显式)
1.特点:代码需要进行特殊格式的处理,不能自动转换
2.规则:大范围的数据转换成小范围的数据
3.格式:范围小的数据类型 范围小的变量名 = (范围小的数据类型)原来的大范围数据
示例如下:
public class Demo5DataType {
//程序的入口
public static void main(String[] args) {
/*
1.自动类型转换
*/
System.out.println(1024);//这是一个整数,默认是int类型
System.out.println(3.14); //这是一个浮点数,默认是double类型
//左边 long 右边的100是 int
long num1 = 100;//发生了自动类型转换
System.out.println(num1);
//等号左边num2 double
//等号右边是一个float
double num2 = 2.4F;
System.out.println(num2);
float num3 = 30L;
System.out.println(num3);
/*
强制类型转换
*/
int num4 = (int)100L;
System.out.println(num4);
}
}
数据类型转换的注意事项:
1.强制类型转换一般不推荐,因为有可能发生精度缺失、数据溢出
2.byte/short/char这三种类型都可以发生数学运算,例如 “+”
3.byte/short/char这三种类型中运算的时候,都会被首先提升为int类型,然后再去计算
4.boolean类型不能发生任何数据类型的转换
ASCII码表: American Standard Code for Information,美国信息交换标准代码(美国而言够用)
Unicode码表:万国码,也是数字和符号的对照关系表,开头0-127,和ASCII表一样,但是从128开始包含更多字符
记住的数字:'0' -48 'A'-65 'a'-97