当java发现程序的表达式中有类型不相符的情况时,会依据下列的规则来处理类型的转换。
1: 占用字节较少的类型转换成占用字节较多的类型。
2: 字符类型会转换成int类型。
3: int类型会转换成float类型。
4: 表达式中若某个操作的类型为double,则另一个操作数也会转换成double类型
5:布尔类型不能转换成其他类型。
例子:
public class TypeChangeDemo{
public static void main(String args[]){
char ch = 'a' ;
short a = -2 ;
int b = 3 ;
float f = 5.3f ;
double d = 6.28 ;
System.out.print("(ch / a) - (d / f) - (a + b) = ") ;
System.out.println((ch / a) - (d / f) - (a + b)) ;
}
};
---------------------------------------------------------------
(ch/a) - (d/f) - (a+b)
| | | | |
short | | | |
| | double |
--|-- | int
| | |
short | |
| | |
| double |
---------------|---------------
|
double
---------------------------------------------------------------------
只要数据库操作中出现了double类型,则肯定最大的类型,最终的操作结果依此类型为准一般来讲开发中一定要写简单代码。
1: 占用字节较少的类型转换成占用字节较多的类型。
2: 字符类型会转换成int类型。
3: int类型会转换成float类型。
4: 表达式中若某个操作的类型为double,则另一个操作数也会转换成double类型
5:布尔类型不能转换成其他类型。
例子:
public class TypeChangeDemo{
public static void main(String args[]){
char ch = 'a' ;
short a = -2 ;
int b = 3 ;
float f = 5.3f ;
double d = 6.28 ;
System.out.print("(ch / a) - (d / f) - (a + b) = ") ;
System.out.println((ch / a) - (d / f) - (a + b)) ;
}
};
---------------------------------------------------------------
(ch/a) - (d/f) - (a+b)
| | | | |
short | | | |
| | double |
--|-- | int
| | |
short | |
| | |
| double |
---------------|---------------
|
double
---------------------------------------------------------------------
只要数据库操作中出现了double类型,则肯定最大的类型,最终的操作结果依此类型为准一般来讲开发中一定要写简单代码。