Java中的类型转换

在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

 

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 

这种转换称为自动类型转换。

当然自动类型转换是需要满足特定的条件的:

1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

 

2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

 

 

 自动类型转换规则:

 

 

强制类型转换:

代码示例:

 

 

 1 package com.jredu.ch02;
 2  
 3 public class Ch04 {
 4     
 5     public static void main(String[]args){
 6         //自动类型转换
 7         //基本数据的自动类型转换只有7种数据类型,除了boolean
 8         //基本原则:低级别可以直接转高级别
 9         //      char
10         //byte->short->int->long->float->double
11         //运算时的自动转换条件:1、两种数据类型要兼容,2、目标类型大于原类型
12         int a=10;
13         double b=1.1;
14         b=b+a;
15         a=a+(int)b;
16         System.out.println(b);//b=11.1
17         System.out.println(a);//a=10+11=21
18         
19     }
20  
21 }
 1 package com.jredu.ch02;
 2  
 3 public class Ch05 {
 4  
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         //强制类型转换
 8         //高级别转低级别时,必须要进行强转
 9         //是否强制转换取决于数据类型级别的高低,不取决于数据的实际值。
10         int a=330;
11         short b=(short)a; 
12         short c=350;//直接自变量赋值 ,不需要转换类型
13         
14         int e=(int)-1.1;
15         System.out.print(e); //e=-1
16         
17  
18     }
19  
20 }

 

posted @ 2018-07-31 17:28  HkGov  阅读(203)  评论(0编辑  收藏  举报