1、Java的8种基本数据类型及其所占空间大小:
2.Java自动类型转换
1)两种类型是彼此兼容的
2)转换的目的类型占得空间范围一定要大于转化的源类型
正向过程:由低字节向高字节自动转换
byte->short->int->long->float->double
逆向过程:使用强制转换,可能丢失精度。
int a=(int)3.14;
3. Java数据类型自动提升(注意以下讨论的是二元操作符)
Java定义了若干使用于表达式的类型提升规则:
1)所有的byte型. short型和char型将被提升到int型(例外: final修饰的short, char变量相加后不会被自动提升。)
2)如果一个操作数是long形 计算结果就是long型;
3)如果一个操作数是float型,计算结果就是float型;
4)如果一个操作数是double型,计算结果就是double型;
5) 黙认浮点类型为double,float数据类型有一个后缀为" f “或” F “。
6) long类型有一个后缀,为” l " 或者" L "。
4. Java强制类型转换
格式:目标类型 变量=(目标类型)源类型变量/常量
eg:
int i=5;
byte j=(int)i;
注意:在强制类型转换中目标类型和源类型变量的类型始终没有发生改变
易错点:
byte b;
b=3;
b=(byte)b3 //编译出错,因为(byte)的运算级别比高,所以会先转换b后再3
b=(byte)(b3) //正确