循環語句中常常出現bark,continue,rturnl來配合自己的循環來達到某種需求.
一。break
1. break語句形式: break;
2. break語句功能:
A. 在switch語句中,break是其語法本省的一部分,break語句會終止其后語句的執行,退出switch語句。
B. 使一個循環立即結束,也就是說在循環中遇到break語句時,循環立即終止,程序轉到當前循環體后的第一個語句去繼續執行。
3. 注意:
A. break語句在循環中使用時,一般總是與if一起使用,當條件滿足(或不滿足)時,負責退出循環。
B. 如果循環體中使用switch語句,而break出現在switch語句中,則它只用於結束switch,而不影響循環。
C. break語句只能結束包含它的最內層循環,而不能跳了多重循環。
4. 例: break語句的執行只能從while循環中退出,繼續執行for循環的其它語句
而不是退出外層循環。
for( )
{
…
while ( )
{
if( )
{
break ;
}
}
…
}
二。continue
1.continue語句形式: continue;
2.continue語句功能: 它只能出現在循環體中,其功能是立即結束本次循環,即遇到continue語句時,不執行循環體中continue后的語句,立即轉去判斷循環條件是否成 立,即中止當次循環進入下一次循環。
3.Continue與break語句的區別: continue只是結束本次循環,而不是終止整個循環語句的執行,break則是終止當前整個循環語句的執行,轉到當前循環語句后的下一條語句去執行。
程序表達式及流程圖如下:
(1.) while(表達式1) (2.) while(表達式1)
{ {
…… ……
If(表達式2) break; if(表達式2) continue;
…… ……
} }
三.Return
1.return語句形式: return (返回值);
2.功能:return可以返回一個函數的值,並且跳出結束這個函數;
只要遇到return語句,程序就在那一行代碼停止執行,執行控制將立刻返 回到調用該程序的代碼處。
對於返回值類型為void的程序,return關鍵字單獨作為完整的語句使用:return;
實例:
1)當return一個string類型時:以把一個字符串轉換為小寫為例
//把一個字符串轉換為小寫並返回,功能同string.ToLower
public static string ToLower(string str)
{
char[] array = new char[str.Length]; //定義一個字符數組,長度剛好等於給定的字符串的長度
int diff = 'a' - 'A'; //計算差值,ASCII碼值是A<a(固定的,不用知道這個差值多少)
//使用一個循環讀取給定的字符串,每次讀取一個字符
for (int i = 0; i < str.Length; i++)
{
char ch = str[i]; //把當前循環讀取的字符賦值個ch
char newch = '\0';
//判斷這個字符是否是大寫
if (char.IsUpper(ch))
{
newch = (char)(ch + diff); //轉換為小寫
}
//如果這個字符為小寫,不轉換
else
{
newch = ch;
}
array[i] = newch; //把轉換后的字符放回字符串該循環位置
}
return new string(array);
}
2)當return一個數組時:以返回一個int類型數組為例
注意:return一個數組時,在使用的這個方法的時候,要在使用時聲明一個同類型的數組用於接受方法返回的數組
public class Contains
{
// 按順序輸出小於給定數字的所有帶7的數字及7的倍數
public static int[] Contains7(int number)
{
int n = 0; //用於記錄計算出來的符合要求的結果數目
for (int i = 1; i <= number; i++)
{
//判斷是否為7的倍數
if (i % 7 == 0)
{
n++;//*注意了 循環語句中不會給你自增,如果你不寫這段代碼..程序會出現死循環 i始終等於7
continue;
}
string str = i.ToString();
if (str.Contains('7'))
{
n++;
}
}
int[] arry = new int[n];//聲明一個整形數組存放結果,長度剛好等於符合要求的個數
int index = 0;
//List<int> arry = new List<int>();
for (int j = 1; j <= number; j++)
{
//判斷是否為7的倍數
if (j % 7 == 0)
{
arry[index++] = j;
continue;
}
string str = j.ToString();
if (str.Contains('7'))
{
arry[index++] = j;
}
}
return arry;
}
public static void Main(string[] args)
{
Console.WriteLine("請輸入一個數:");
int count = Convert.ToInt32(Console.ReadLine());
//聲明一個整形數組用於接收(靜態類)
int[] arry = Contains.Contains7(count);
//循環輸出結果
for (int i = 0; i < arry.Length; i++)
{
Console.Write("{0}\0", arry[i]);
}
Console.Read();
}
}
這是我自己寫的集體的例子來分析下上面三種語句的應用
int i=0;
which(i<12)
{
Console.Write("i={0}",i)
i++;
if(i==10)
{
//break //終止which循環,繼續which后面的代碼;
//contrue //終止which這次循環,繼續which后面的代碼;
return //終止當前執行的函數,后面的代碼不會執行
}
Console.Write("自增后的i={0}",i)
}
Console.ReadKey();
}