簡體   English   中英

將參數變量從int轉換為char,反之亦然

[英]Casting Parameter Variables from int to char and vice-versa

如果在調用stuff時將char作為參數傳遞,它將編譯嗎? 傳遞int而不是char也會起作用嗎? 我知道您可以將類型從int轉換為char,但這不應該明確嗎?

我有一個Test類,它帶有一個返回類型為String的靜態方法,並以char a和int x作為參數。

public class Test {
    public static String stuff(char a, int x)
    {
        char b = (char)x; String s = "";
        while (a<b)
        s+=a+b--;
        return s;
    }
    public static void main(String args[])
    {
         System.out.println(stuff('a','d'));
    }
}

是的,傳遞一個字符是合法的,但是不是一個好習慣。

向上投射(隱式)-

字節–>短–>整數–>長–>浮點–>雙精度

向下轉換(明確)-

double –>浮點–> long –> int–> short–>字節

int占用4個字節的內存,而char占用2個字節的內存,因此需要顯式轉換。 int可以取負值,而char只能取正值。

      public class Test {
      public static void main(String args[]) { 
      int i = 78;     // 4 bytes 
      // char ch = i;   // error, 4 bytes to 2 bytes
      char ch = (char) i; // int is type converted to char
      System.out.println(ch); // prints N (78 ASCII value for N)

      System.out.println("Max int:"+Integer.SIZE+"bit");
      System.out.println("Max char:"+Character.SIZE+"bit");

       }
     } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM