数据类型转换
- 基本数据类型(8种)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aff522b3166da75f3f4a5eb7f9d2edc7.jpeg)
- 隐式类型转换
①存储整数数据时,Java中所有的整数默认都是int类型。如果在byte类型中存储数据,该范围为-128~127,JVM会把这个int类型的数据自动转换成byte类型,然后存放在byte空间中。short同理
②自动转换:容量小的类型可自动转为容量大的类型
byte,short,char → int → long → float → double
③byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型 - 强制类型转换
容量大的类型转换成容量小的类型时,需要强制转换
例:byte b=(byte)5;//将int类型5强制转换为byte类型并存储在b中
class Demo01{
public static void main(String[] args){
byte b1=5;
System.out.println(b1);
byte b2=(byte)200;
System.out.println(b2);
byte b3=6;
byte b4=(byte)(b1+b3);
byte b5=5+6;
System.out.println(b4);
System.out.println(b5);
int i1=Integer.MAX_VALUE;
System.out.println(i1);
int i2=1;
int i3=i1+i2;
System.out.println(i3);
float f1=3.14F;
double d1=3.14;
System.out.println(3.15e3);
double d2=d1+f1+i3+b4;
System.out.println(d2);
}
}
- 注意:
当存储的数据超过byte和short范围时,开辟空间存放会发生编译时错误,如上述变量b2所示,同样把无法在编码表中查到对应字符的数据存放到char空间也会报错。
class Demo02{
public static void main(String[] args){
char c1='a';
char c2=97;
System.out.println(c1);
System.out.println(c2);
System.out.println(c1+0);
System.out.println('0'+0);
System.out.println('0'+9);
System.out.println((char)('0'+9));
System.out.println((char)6331);
System.out.println('我'+0);
System.out.println((char)25106);
System.out.println((char)25107);
System.out.println('\u0061');
boolean b1=true;
boolean b2=false;
boolean b3=b1&b2;
System.out.println(b3);
String s1="abcd";
String s2="ABCD";
String s3=s1+s2;
System.out.println(1+2);
System.out.println("1"+"2");
System.out.println(1+2+3+"4");
System.out.println("1"+(2+3+4));
System.out.println(s1.toUpperCase());
System.out.println(s2.toLowerCase());
}
}