我有這個類,一個我還不明白的問題。我有一些疑問。Java。使用字符裏面和開關
- Java所在鑄造焦炭爲int(我知道字符是數字類型,但在開關情況下,我有int和char值)
- 爲什麼情況1,如果開關後置,在「我設定值1,不執行「變量。由於++運算符,我認爲在第一次迭代中我的值爲1。
- 爲什麼第2種情況是先執行還是我如何在沒有得到1之前得到2值?我看到的第一個迭代打印1.
這的默認代碼:
public class ForSwitch {
public static void main(String args[]) {
char i;
LOOP: for (i = 0; i < 5; i++) {
System.out.println("For: i value: " + (int) i);
switch (i++) {
case '0':System.out.println("A");
case 1:System.out.println("B");break LOOP;
case 2:System.out.println("C");break;
case 3:System.out.println("D");break;
case 4:System.out.println("E");
case 'E':System.out.println("F");
default:System.out.println("Switch: i value: " + (int) i);
}
}
}
}
輸出是這樣的:
For: i value: 0
Switch: i value: 1
For: i value: 2
C
For: i value: 4
E
F
Switch: i value: 5
' 1!='1''。嘗試打印他們兩個:'int a = 1; int b ='1'; System.out.printf(「%d%d」,a,b);'。 –
你每循環增加你的i計數器兩次。不要打開'i ++',只需使用'switch(i)'。增量已經發生在for循環中。如果你打算這樣做,考慮到我++會增加評估switch語句。請參閱:https://stackoverflow.com/questions/1094872/is-there-a-difference-between-x-and-x-in-java –
'switch(i ++)' - >使用「舊」值'我''決定使用哪個'case',然後增加'i' – UnholySheep