有人可以讓我知道一些資源在線,定義爲這種奇怪的實時行爲?do-while在底部聲明
int i = 0;
do while (++i < 1) { //this compile (?!?)
System.out.print("i is " + i);
}
do while (++i < 1) // this compile also
System.out.print("i is " + i);
do while (i > 1) {}
while (i > 1) {} //this doesn't compile, the comp. wants the semicolon
對不起,我錯過了do-while語句的內容?
在此沒有提及在所有Oracle官方鏈接: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html
編輯: 對不起,我解釋的嵌套,而作爲另一個語句。
這是困惑我原來的語句:
int i = 1;
do while (i < 1)
System.out.print("i is " + i);
while (i > 1);
這編譯...,等同於:
do {
while (++i < 1) // this compile also!
System.out.print("i is " + i);
}
while (i > 1);
我懷疑',而(I> 1){}'doesn't如果'i'存在編譯... – SomeJavaGuy
其實'while(i> 1){}'是唯一可以編譯的循環。 – stevecross
你發佈的內容不能編譯,你在'while(...)之後丟失了一個分號;'我建議你閱讀JLS:https://docs.oracle.com/javase/specs/jls/se8/ html/jls-14.html#jls-14.13 – Tunaki