021- Java言語の基礎 - 基本データ型および要約の問題のいくつか

私たちは、次のコードを入力します。

パブリック クラスDataType07 
{ 
    公共 静的 ボイドメイン(文字列[]引数){ 
    
    バイト B1 = 4 バイト B2 = 5 ;
    バイト B3 = B2 + B1。
    System.out.println(B3)。   
    } 
}

コマンドラインコンパイラでは、次のように:

私たちは、プログラムの実行時に、互換性のない型、与えられたB1とB2は、加算器の操作を行い、その後、IINT型に変換されます。

だから我々は、これを行うには、次のコードを入力する必要があります。

パブリック クラスDataType07 
{ 
    公共 静的 ボイドメイン(文字列[]引数){ 
    
    バイト B1 = 4 ;
     バイト B2 = 5 ;
     // バイトB3 = B1 + B2、互換性のない型エラープログラムの実行時に、B1、B2の意志IINT型が変換され、加算器を行います。
    // のSystem.out.println(B3)、   

    バイト B3 =(バイト)(B1 + B2)
    のSystem.out.println(B3); 
    
    } 
}

 

コマンドラインインタプリタ次のように:

私たちは、B1 + B2バイト型に変換を余儀なくされています。

次のコードを入力します。

public class DataType07
{
    public static void main(String[]args){
    
    byte b1 = 4;
    byte b2 = 5;
    //byte b3 = b2 + b1;   error 不兼容的类型,程序运行的时候,会将b1和b2转换成iint类型,然后再做加法运算。
    //System.out.println(b3);  

    byte b3 = (byte)(b1+b2);
    System.out.println(b3);


    byte b4 = 10;
    byte s1 = 5;
    int i1 = b4 + s1 ;
    System.out.println(i1);

    
    }
}

 

 命令行结果为:

我们可以看到是没有报错的,因为程序会默认把byte类型的数字与short类型的数字自动转换成int类型。

 

おすすめ

転載: www.cnblogs.com/Chamberlain/p/11117649.html