JAVA数据类型
java是强类型语言,规定存储数据的大小
计算机基本存储单位:字节 即:1byte = 8bit
思维导图
分类
基本数据类型:(4类8种)
引用数据类型:类、接口、数组
基本数据类型
整型(4种)
byte 字节型 1个字节 [-128,127]
short 短整型 2个字节 [-32768,32797
int 整型 4个字节 [-21亿,21亿]
long 长整型 8个字节 非常大
注意:在java中整数字面常量值数据类型默认为int类型
表示long类型的字面常量值,在数据后面添加l|L
浮点型:小数
float 单精度 一般精确表示小数点后7位左右
double 双精度 一般精确表示小数点后15位左右
注意 : 在java浮点类型字面常量值数据类型默认为double类型
在java中表示float类型数据,在数据的后面添加F\f
存储或运算可能不精确
字符型:
char 字符型 2个字节
字符型表现形式 :
1)一对''包裹任意一个字符
2) 通过0~65535之间的整数表示字符
布尔型 :
表示正|反 对|错 真|假
boolean 布尔型 1个字节 1bit有效位
public class DataType {
public static void main(String[] args) {
//byte
byte b1 = -128;
byte b2 = 127;
System.out.println(b1);
System.out.println(b2);
//short
short sh1 = 1;
short sh2 = -20000;
System.out.println(sh1);
System.out.println(sh2);
//int
int i = 100;
System.out.println(i);
//long
long l1 = 41474111111L;
System.out.println(l1);
System.out.println(0.1+0.2);
//double
double d1 = 123.12345678912;
System.out.println(d1);
float f1 = 0.15f;
System.out.println(f1);
//boolean
boolean flag = true;
System.out.println(flag);
}
}
引用数据类型
类,接口,数组array[]
数据类型转换
对应类型的数据赋值给对应类型变量
自动类型提升
小---> 大
强制类型转换
大---> 小,需要发生强制在类型转换,因为有可能会损失精度
小范围类型 变量 = (小范围类型)大范围类型数据;
当表达式中存储多种类型的数据参与运算时候,最终结果为参与运算的最大类型
如果运算后的结果类型<int类型,会自动提升成为int
小->大 : byte->short->int ->long->float->double
注意 : boolean类型不参与类型转换
如果符合类型范围要求大小的常量就能成功为byte,short,char类型赋值,常量的值在编译期间能够确定
public class DataTypeCon {
public static void main(String[] args) {
//自动类型提升
byte b1 = 1;
short s1 = b1;
int i1 =121; //2
long l1 = s1+b1+i1;
float f1 = l1;
System.out.println(f1);
double d1 = b1+s1+f1+l1;
System.out.println(d1);
//强转
byte b2 =(byte)i1;
System.out.println(b2);
//1)计算表达式的值 s1+1--> int类型结果 2)强转,变量short类型结果 3)赋值
short s2 = (short)(s1+1);
//取整
double d2 = 123.9;
int i2 = (int)d2;
System.out.println(i2);
byte b3 = 97;
char ch = (char)b3;
System.out.println(ch);
//圆环效果计算
byte b4 = (byte)130;
System.out.println(b4); //-126
}
}