一、数据类型概括
1、整数类型
2、浮点型
3、布尔类型
4、字符类型
二、数据类型的使用
1、整数类型的使用
超出类型范围
//1.1 定义一个byte类型的变量,并且设置它超过byte类型范围
// 如果定义的数值在byte类型范围内,那么就能正常使用,
// 如果超出的话,就会默认为int类型,会报错类型不匹配,编译不通过,
//解决方法就是在 前面加上(130)
// byte a=(byte)129; // -127 不是129 是溢出的结果
byte a=(byte)130; // -126
System.out.println(a);
两个byte变量算术运算
//1.2 定义2个byte类型的变量,然后让他们进行算术运算
byte b=1;
byte c=2;
// byte d=b+c;// 会报错 原因是运算结果都会默认是偏大类型,加上强转就好了
byte d= (byte) (b+c);
System.out.println(d);
int 范围
//1.3 int的取值范围 10个
//int e= 10000000000; //右边的数字超出了int类型的范围
long f = 10000000000l;//右边数字虽然没有超出long,但是如果不加依然还是会报错,因为右边的数字默认都是int类型
八进制和十六进制
//1.4 使用八进制和十六进制来写
int a1 =100;
int a2=07076; //以0开头都是八进制
int a3=0x12312; //以0x开头都是16进制
2、浮点型
//2.1 float 和double 的取值范围
// float 精确到小数点后7位
float f1=0.1234567f;//注意要加f
//double 精确到小数点16位
double d1=0.1234567890123456;
System.out.println(f1);
System.out.println(d1);
//2.2 浮点型不易出现在精度高的算术运算中,原因是
double d2 = 3;
double d3 = 2.9;
System.out.println(d2-d3);
//使用BigDecmial 还是有问题未解决
double result=Arith.sub(d2,d3);
3、字符型
//3.1 三种展示形式:字符
char c1 = '中';
char c2 = 97;
char c3 = '\u4e2d';
System.out.println(c2+","+c3);
4、转义字符
转义字符 | 描述 |
---|---|
\n | 换行符 |
\t | 缩进 |
\\ | 反斜线 |
\’ | 单引号 |
\" | 双引号 |
三、类型的转换
1、自动转换
把小类型的数据转成大类型的数据,就可以自动转换
package demo;
public class TestAutoConvert {
public static void main(String[] args) {
short s = 123;
int i=s;
}//自动转换成功,编译通过
}
2、强制转换
把大类型的数据转成小类型的数据
,有可能会造成数据溢出,所以需要强制转换;
转换的方式就是在数据前面使用小括号,小括号里面写明你要转换的类型即可;
package demo;
public class TestAutoConvert {
public static void main(String[] args) {
short s = 123;
byte i=(byte)s;
}//自动转换成功,编译通过
}
2.1、同类型转换 (整型的某个类型转成整型中的另外一个类型)
长度足够
int i=100;
byte b = (byte)j;//b= 100
整数长度不够,数据截断
int i= 10000;
byte b = (byte)j; //b= 16
2.2、不同类型的转换
浮点型转为整型
//➢不同类型的转换
//●浮点型转为整型,小数点舍去
double d=2.5;
int i= (int)d;//i=2
2.3、整数转字符
//➢整型转字符
int a= 65;
char c= (char)a;
//c='a';