造型cast

来源:互联网 发布:高分起名软件 编辑:程序博客网 时间:2024/04/27 20:02

 

 

      “造型”(Cast)的作用是“与一个模型匹配”。在适当的时候,Java会将一种数据类型自动转换成另一种。例如,假设我们为浮点变量分配一个整数值,计算机会将int自动转换成float。通过造型,我们可明确设置这种类型的转换,或者在一般没有可能进行的时候强迫它进行。
  为进行一次造型,要将括号中希望的数据类型(包括所有修改符)置于其他任何值的左侧。下面是一个例子:

 

 void casts() {
  
int i = 200;
  
long l = (long)i;
  
long l2 = (long)200;
  }


  正如您看到的那样,既可对一个数值进行造型处理,亦可对一个变量进行造型处理。但在这儿展示的两种情况下,造型均是多余的,因为编译器在必要的时候会自动进行int值到long值的转换。当然,仍然可以设置一个造型,提醒自己留意,也使程序更清楚。在其他情况下,造型只有在代码编译时才显出重要性。

若进行缩小转换的操作(也就是说,脚本是能容纳更多信息的数据类型,将其转换成容量较小的类型),此时可能面临信息丢失的危险。 

public class AllOps {
    
public static void main(String[] args){
        System.out.println(Byte.MAX_VALUE);
        
byte j = 55;
        
byte  s= 5;
        byteTest(j,s);
    }

    
static void f(boolean b){
        
//System.out.println(b);
    }

    
static void byteTest(byte x, byte y) {
        
// Arithmetic operators:
        x = (byte)(x* y);
        System.out.println(x);
      }

}

如上代码运行的结果是:

127

19

产生了信息丢失。

java可以将任何主类型造型为其他任何一种主类型,但是布尔值(boolean)除外,bollean根本不答应任何造型处理。

除boolean以外,任何一种主类型都可以通过造型变为其他主类型,当造型成一种较小的类型时,必须留意缩小转换,否则会在造型中不知不觉的丢失信息。

!--在java里面不允许将一个数字作为布尔值使用。--!

原创粉丝点击