java怎樣使用“for”語句無限循環
Java中要使for語句無限循環,只需把循環的判定條件去掉即可。
實現for語句無限循環的方法有很多,最常用的就是直接在條件中寫兩個分號,如下代碼句所示:for(;;),這樣就達到了無限循環的目的。
其實開發中,最大忌諱就是使用無限循環,因為一旦控制不好就會出現死循環,如果在循環產生的對象較多,且又沒有及時處理,這樣就會導致內存泄漏,嚴重時就會導致系統直接崩潰。故開發慎用無限循環,尤其是一些無法停止的循環。
“for(;;)”為什么是無限循環
“for(;;)”是死循環。
for循環是編程語言中一種開界的循環語句,而循環語句 [1] 由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。
C語言中的for循環如下
1.語句最簡形式為:for( ; ; )
2.一般形式為:for(單次表達式;條件表達式;末尾循環體)中間循環體;
其中,表示式皆可以省略,但分號不可省略,因為“;”可以代表一個空語句,省略了之后語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。
for循環小括號里第一個“;”號前為一個為不參與循環的單次表達式,其可作為某一變量的初始化賦值語句, 用來給循環控制變量賦初值; 也可用來計算其它與for循環無關但先于循環部分處理的一個表達式。
倆“;”號之間的條件表達式是一個關系表達式, 其為循環的正式開端,當條件表達式成立時執行中間循環體。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括號{}可以省略,執行完中間循環體后接著執行末尾循環體 [2] 。
執行末尾循環體后將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。
Pascal語言中的for循環:for 循環變量:=初值 to/downto 終值 do,begin.
循環體:end;
循環變量從起點到終點每次加13或減1(to 為加1,downto為減1)。
以下語句中無限循環語句是 Awhile(1,2,3);B while('\0');C for(;2&5;);
A,是無限循環,考察的是C語言中的逗號表達式
B,'\0'是c/c++語言中的字符串結束符,在ASCII字符集中對應數字0。
C,2&5=010 & 101 = 000,不是無限循環
D,同B
所以答案選:A
補充:逗號表達式
C語言提供一種特殊的運算符——逗號運算符。用它將兩個表達式連接起來。如:
3+5,6+8
稱為逗號表達式,又稱為“順序求值運算符”。逗號表達式的一般形式為
表達式1,表達式2
逗號表達式的求解過程是:先求解表達式1,再求解表達式2。整個逗號表達式的值是表達式2的值。例如,上面的逗號表達式“3+5,6+8”的值為14。
參考:http://**hnrainll/archive/2011/08/03/*