java中有沒有goto語句
java確實提供了goto語句,并且它是保留的關鍵字,但是JVM并沒有給它提供任何的實現。
或許是java并沒打算放開使用這種機制。 不過,我則會采用特殊手段實現類似goto的功用: import static *;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; } *n("sum="+sum); }}。
java中有沒有goto語句
java確實提供了goto語句,并且它是保留的關鍵字,但是JVM并沒有給它提供任何的實現。或許是java并沒打算放開使用這種機制。
不過,我則會采用特殊手段實現類似goto的功用:
import static *;
class Test{
public static void main(String[] args) throws Exception {
int step=1;
int sum=0;
loop:
for(;true;){
if(step
java相關,用什么代替goto語句
import *;
import *r;
public class DoubleBalls {
public static void main(String[] args) {
selectRandom();
}
public static void selectRandom() {
*n("是否機選一組雙色球號碼?(Y/N)");
Scanner input = new Scanner(*);
char a = *().charAt(0); // 輸入一個char字符,0位即是第一位
if (a == 'Y' || a == 'y') {
Random suiji = new Random(); // 創建suiji方法
int blue = *t(16);// 從0到16中選一個數字個藍球
while (blue == 0) {
blue = *t(16);
}// 如果選到了0,再選一次給blue
int red[] = new int[6];// 用一個6個元素的數組裝紅球
for (int i = 0; i < 6; i++) {
red[i] = *t(33); // 隨機分配0到33的整數
if (red[i] == 0) {
i--;
}
if (i == -1) {
i = 0;
}
for (int j = 0; j < i; j++) {
while (red[i] == red[j]) {
i--;
}// 發現相同的從新回去生成一個
}
}
*("紅球:");
for (int k = 0; k < *; k++) {
*(red[k] + " ");// 輸出數組red
}
*n(); // 空一行
*n("藍球:" + blue);
} else{
*n("fuck you~");
*(0);
}
selectRandom();
}
}
重構個方法,然后用遞歸調用就可以實現,選擇N,添加了*(0);代碼,可以退出
java中類似于C語言的goto無條件轉向語句的語法是什么
Java不存在goto語句,但是已經用”類名.方法“的形式進行方法調用。
解釋:goto語句作為java的保留字段,但是沒有實際的應用的。goto語句實際上是C語言的范疇,用來定義指針跳轉用的,java中通過”類名.方法“的形式進行的方法調用,不在用goto語句進行實現,這個是java的一大改進。
JAVA中實現goto語句功能 :
使用方法如下:
1 label0:
2 for (int k = 0; k < 10; k++) {
3 。。。.
4 label1:
5 for (int j = 0; j < 10; j++) {
6 。。。。。.
7 break label0;
8 }
9 。。。..
10 label2:
11 for (int kk = 0; kk < 10; kk++) {
12 。。。。..
13 break label0;
14 }
15 }
16 *n("here");
將需要跳轉的到的循環開始處使用lablename:的方式標注(lablename是自定義標簽名)
例如,第1行代碼所示.在循環體內,可以使用break lablename;或者continue lablename跳轉到該處第1行代碼的地方,第7行代碼執行后,將跳轉到第1行代碼處.
break 和continue的區別就是,break跳到lablename處后,接下來是執行該lablename所代表的循環之后的語句,例如第16行代碼;而 continue則是將循環記數加1或者減1繼續執行lablename所代表的循環,直到條件不滿足或遇到return語句為止.
這樣我們就可以在循環中任何位置跳轉到父循環外去,無論嵌套多深.
注意:
1. lablename標簽名和所代表的標簽之前不能有任何其他的語句,例如第1行和第2行之間不能有其他的任何語句出現,否則編譯不通過;
2.該跳轉只能跳轉到祖先級循環,同級循環之間不能跳轉,例如第13行不能跳轉到第4行
3.雖然該跳轉在一定程度上方便了編程,不過最好盡量避免,因為它和goto一樣在一定程度上破壞了結構化編程的特點。
更詳細的例子可參考如下鏈接:http://**62575/178997/
轉載請注明出處華閱文章網 » goto語句java