类型之间的转换问题:
1 同种数据类型之间是可以直接进行赋值操作的
    int a =1; int b = a ||    float x=3.4;float y =x;
2 数据类型不同的空间 之间的赋值--->转换问题
        同种大数据类型之间才能发生转换
            基本类型---基本类型之间  可以直接转换(自动 强制)
            引用类型---引用类型之间  可以直接转换(自动 强制--上转型 下转型)
            基本类型---引用类型之间  不可以直接转换(间接--包装类/封装类)
      自动转换:必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。
      强制转换:1. 条件是转换的数据类型必须是兼容的。
           2. 格式:(type)value type是要强制类型转换后的数据类型 
 
 

转换从低级到高级。

  ------------------------------------>  

byte,short,char—> int —> long—> float —> double

数据类型转换必须满足如下规则:

  • 1. 不能对boolean类型进行类型转换。

  • 2. 不能把对象类型转换成不相关类的对象。

  • 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 4. 转换过程中可能导致溢出或损失精度



示例:
public class Demo{
    public static void main(String[] args){
        char a = '我';
        int y = a;//容量小的类型转换为容量大的类型---自动转换

int c = 25105; char z = (char)(c);//容量大的类型(int==32bit)转换为容量小的类型(char==16bit)---强制转换

System.out.println(y); System.out.println(z); } }
E:\JavaTest\day4>java Demo
25105
 
 
 
 
 
 









1
posted on 2020-04-13 17:37  腿短毛不多  阅读(143)  评论(0编辑  收藏  举报