說明:
break語句:終止並跳出循環體。
continue語句:終止當前循環,重新開始一個新的循環。
goto語句:跳轉到指定位置 。
一,continue語句
class Program { static void Main(string[] args) { for(int i = 1; i <= 10; i++) { if (i == 4) { continue; } Console.WriteLine(i); } } }
結果
從上面的執行效果可以看出,當 for 循環中的值迭代到 4 時 continue 語句結束了本次 迭代,繼續下一次迭代,因此在輸出結果中沒有 4。
二,break語句
class Program { static void Main(string[] args) { for(int i = 1; i <= 10; i++) { if (i == 4) { break; } Console.WriteLine(i); } } }
結果
從上面的執行效果可以看出,for 循環要完成 1~10 的輸出,但是當輸出到 4 時使用了 break 語句,結束了 for 循環,因此僅輸出了 1~3 的數。
三,goto語句(語句用於直接在一個程序中轉到程序中的標簽指定的位置,標簽實際上由標識符加上冒號構成。)
語法:
goto Labell; 語句塊 1; Labell: 語句塊 2;
如果要跳轉到某一個標簽指定的位置,直接使用 goto 加標簽名即可。
在上面的語句中使用了 goto 語句后,語句的執行順序發生了變化,即先執行語句塊 2,再執行語句塊 1。
此外,需要注意的是 goto 語句不能跳轉到循環語句中,也不能跳出類的范圍。
由於 goto 語句不便於程序的理解,因此 goto 語句並不常用。
class Program { static void Main(string[] args) { int count = 1; login: Console.WriteLine("請輸入用戶名"); string username = Console.ReadLine(); Console.WriteLine("請輸入密碼"); string userpwd = Console.ReadLine(); if (username == "aaa" && userpwd == "123") { Console.WriteLine("登錄成功"); } else { count++; if (count > 3) { Console.WriteLine("用戶名或密碼錯誤次數過多!退出!"); } else { Console.WriteLine("用戶名或密碼錯誤"); goto login;//返回login標簽處重新輸入用戶名密碼 } } } }
結果