本文目錄一覽:
Java有沒有goto?
goto是java語言中的保留字,目前還沒有在java中使用。
其實goto這個詞是C語言中的,goto語句通常與條件語句配合使用,可用來實現條件轉移, 構成循環,跳出循環體等功能。而在結構化程序語言
中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難…”
java中有沒有goto語句
java確實提供了goto語句,並且它是保留的關鍵字,但是JVM並沒有給它提供任何的實現。或許是java並沒打算放開使用這種機制。
不過,我則會採用特殊手段實現類似goto的功用:
import static java.lang.System.out;
class Test{
public static void main(String[] args) throws Exception {
int step=1;
int sum=0;
loop:
for(;true;){
if(step=100){
sum+=step;
step++;
continue loop;
}else break;
}
out.println(“sum=”+sum);
}
}
java goto語句
goto是從這段程序語句塊跳轉到其他程序代碼;continue是結束本次循環(循環一般不是1次,是多次),轉去做循環條件判斷;break是結束循環,即循環這部分代碼不再執行了。
java支持goto語句嗎?
準確來說,java中沒有goto這樣的語句,當然即使在c中也不推薦使用。
在java中可以找到實現類似功能的方法,該方法僅限於循環嵌套跳轉到外層循環的情況。例如你可以在外層循環上使用lablename:(lablename是自定義標籤名)的方式標註,在內循環中,可以使用break lablename;或者continue lablename跳轉到外循環上。這樣就可以模擬出類似goto語句的功能。
java裡面goto怎麼用
或許你已經聽過goto語句之爭,也知道在Java中goto仍然是一個保留的keyword,但不允許使用。先來看看goto的經典使用方法:
1:statement1;
2:statement_label_for_section2:
3:statement2;
4:goto statement_label_for_section2;
可以看出 2:statement_label_for_section2: 為一代碼片段(Section)的開始標記。
Java語言中不允許使用goto,但可以使用像 2:statement_label_for_section2: 一樣的代碼片段標記作為 break/continue的跳轉目標。
相關標準文件請參見:Java Language Spec. 14.7 Labeled Statements
應用
嵌套循環中,我有時會需要從內循環中直接跳到外循環。用Labeled Statements就可以方便實現。
1: for(int I1 = 0; I1 10; I1++) {
2: loop1:
3: for(int I2 = 0; I2 20; I1++) {
4: break loop1;
5: }
6: }
continue的用法與break的用法是一樣的。
Java語言中還有很多沒有廣泛應用的小點子。請參見:Java Language Spec.
Blocks
Java Language Spec. 14.2 Blocks
或許你跟我一樣都是個懶鬼。特別在Test Case 代碼當中,我經常需要在同一Method中定義一大堆的對象,這些對象的操作大者是大同小異的,你應該知道我在想什麼了:CopyPast。而為每個對象都起一個不同的名字是件痛苦的事。同時這些對象往往只是短命鬼。
1:import java.util.ArrayList;
2:import java.util.Collection;
3:
4:public class T2 {
5:
6: public static void main(String[] args) {
7: {
8: Collection c = new ArrayList();
9: c.add( “1” );
10: c.clear();
11: }
12: {
13: Collection c = new ArrayList();
14: c.add( “2” );
15: c.clear();
16: }
17: }
18:
19:}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/231894.html