0

私はJavaを勉強していて、不明な点がいくつかあります。誰かが助けてくれればとてもうれしいです。

最初の質問

int の近似値は次のとおりです: 2.147.483,647

long の概算値: 9,223,372,036,854,775,807

このウェブサイトには次のように書かれています。

「整数リテラルは、文字 L または l で終わる場合は long 型であり、それ以外の場合は int 型です」

つまり、変数名の末尾に文字 L/l を追加していない場合

そのような :

long num=3515; //no letter L/l at the end

そのため、変数は long 型ではなく型numと見なされます。int

だから私はこのプログラムを作りました:

public class caluMaxNum
{
    public static void main(String [] args)
    {
        long max=2147483640; //doesn't have letter L/l so it consider as an int
        for(int i=0;i<=10;i++)
        {
            max++; 
            System.out.println(max);
        }
    }
}

これは出力です:

2147483641
2147483642
2147483643
2147483644
2147483645
2147483646
2147483647
2147483648
2147483649
2147483650
2147483651

int のおおよその値は : 2,147,483,647 で、変数 max は int です。太字の値はどのように出力されましたか?

2 番目の質問:

コンバージョンの絞り込みについて:

私の発言は本当ですか?

byte 型 (8 ビット) と short 型 (16 ビット) は、byte/short 型で見つかった値が次の値のいずれかである場合にのみ、char 型 (16 ビット) に変換できます: 0,1,2,3,4 ,5,6,7,8,9 そうしないと実行時エラーが発生します

- 3 番目と最後の質問 :

次のような数値変数型を宣言する場合:

float num1=34.1;
float num2=34.1F
long num3=43
long num4=953L

文字が象徴する場合、最初の文字を使用する他の型で変数を宣言することもできますか? num1 から num2 と num3 から num4 の違いは何ですか?

4

1 に答える 1

0
  1. max の初期化に使用される値は int の場合がありますが、max は出力と完全に一致する long として明示的に宣言されています。

  2. 答えは、「変換」の意味によって異なります。

  3. num1 と num2 は同じです。num3 と num4 は、使用される接尾辞 (存在する場合) に関係なく、完全に異なる値です。

于 2013-09-30T13:52:07.553 に答える