2-7 类型的自动转换

2-7  类型的自动转换

比喻:穷人+富人→运算=结果自动变成富人

1 int a=10;//比喻穷人
2 double b=15.6;//比喻富人
3 a+b=25.6;//结果还是富人
4 
5 char man='男';//字符
6 char woman='女';//字符
7 String str="与";//字符串
8 man+str+woman="男与女";//自动转换成字符串

例1:

1 public class test{
2     public static void main(String[] args){
3                 int A=5;
4                 double B=1.3;
5                 int sum=A+B;
6                 System.out.println(sum);
7         }
8 }

报错:可能损失精度。

解决方法:“int”改为“double”。

1 int age=19;//
2 char sex='女';//
3 char result=age+sex;//✘ 输出结果为字符串,"char"应改为"String"
4 
5 int a=10;//
6 int b=10.2;//✘ double不可以自动转换为int
7 double c=10;//✔ "double"比整型"int"大,可存储整型,输出结果为c=10.0
8 c=a;//✔ 输出结果为c=10
9 int d=c;//✘ 整型不可以存储非整型

2-8  类型的强制转换

格式:(类型名)表达式

int b=(int)10.2;
double a=10; 
int c=(int)a;

例:去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?

int before=20;
double rise=9.8;
int now=before+rise;//✘ 编译出错,不能完成自动类型转换

代码改错:int now=before+(int)9.8

猜你喜欢

转载自www.cnblogs.com/hexiaoyang/p/9629760.html
2-7