| 
         
     
     | 
     | 
    
  
    | 
    Java中类型转换的特例 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
    先看一下下面的语句那些是非法的。
  byte b1=2; byte b2=1+1; byte b3=b1+1; byte b4=b1++;
  int i1=Integer.MAX_VALUE+1; //Integer.MAX_VALUE=2147483647 int i2=2147483648;
 
  把byte改为char和short几乎是一样的。 因为整数字面常量是int型的,也就是1和2都是int型的 在赋值语句中直接把一个int型赋给byte肯定是不行的。 int i=1; byte b=i; 是编译不过的,因为隐性类型转换不允许,改为下面的就可以了 int i=1; byte b=(byte)i;
  隐性转换一般都是放宽转换(如byte到int,String到Object) 但是却有一个例外就是,在赋值转换中, 隐性转换也包含了缩窄基本转换。
  就是从int到byte,char,short的转换: 比如: byte b=1;//合法 byte b=128; //非法
  右边必须为int型字面常量,而且值必须能被左边类型表示
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |