---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! --------------------------------------------
在C#程序的循环语句中,一般情况下当某些条件成立/不成立的时候我们就会用到跳转语句来跳出该循环,有的时候直接结束循环,而有的时候是想跳出本轮循环进入下一轮循环,为了实现这两个功能,C#中有两个语句可以分别实现这样的功能,那就是break和continue了,下面我来解释一下他们的用法以及异同点:
1、break
用法:1)、可用于switch-case等判断句中,用于跳出switch;
2)、可用在循环中,用于立即跳出循环(终止循环)。
注意:在多层循环中(循环嵌套),跳出的是break所在的循环中
示例:输入一个年龄,当输入的不是数字或者输入的年龄不在0-100之间的时候就报错;代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _01break
{
class Program
{
static void Main(string[] args)
{
int sum = 0;
int age;
int i = 0;
for (i = 0; i < 5; i++)
{
try
{
Console.WriteLine("请输入第{0}个人的年龄:", i + 1);
age = Convert.ToInt32(Console.ReadLine());
if (age < 0 || age >= 100)
{
Console.WriteLine("您输入的年龄不合法,终止输入!");
break;
}
}
catch
{
Console.WriteLine("您输入的年龄有误,不是数字!");
break;
}
sum += age;
}
{
class Program
{
static void Main(string[] args)
{
int sum = 0;
int age;
int i = 0;
for (i = 0; i < 5; i++)
{
try
{
Console.WriteLine("请输入第{0}个人的年龄:", i + 1);
age = Convert.ToInt32(Console.ReadLine());
if (age < 0 || age >= 100)
{
Console.WriteLine("您输入的年龄不合法,终止输入!");
break;
}
}
catch
{
Console.WriteLine("您输入的年龄有误,不是数字!");
break;
}
sum += age;
}
double aveg = 1.0 * sum / 5;
//如果输入的值不合法,也就是说当用break语句跳出while循环时,i的值小于5,那么不执行该语句
if (i >= 5)
{
Console.WriteLine("你输入的5个年龄的平均年龄为{0}", aveg);
}
Console.ReadKey();
}
}
}
//如果输入的值不合法,也就是说当用break语句跳出while循环时,i的值小于5,那么不执行该语句
if (i >= 5)
{
Console.WriteLine("你输入的5个年龄的平均年龄为{0}", aveg);
}
Console.ReadKey();
}
}
}
2、continue
用法:用于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不再执行循环体中continue下面的语句了),直接进入下一轮循环。
注意:在do-while/while循环中,直接进入下一次循环条件的判断,如果条件成立,则再次进入循环;
在 for循环中for(表达式1;表达式2;表达式3),先执行表达式3,再判断循环条件(表达式2)是否满足,若满足则进入下一轮循环,不满足则退出循环。
示例:计算1-100之间除了能被7整除之外所有整数的和
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace @continue
{
class Program
{
/// <summary>
/// 计算1-100之间除了能被7整除之外所有整数的和
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
int sum = 0;
//用for实现
for (int i = 1; i <100; i++)
{
if (i % 7 == 0)
{
continue;
}
sum += i;
}
{
class Program
{
/// <summary>
/// 计算1-100之间除了能被7整除之外所有整数的和
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
int sum = 0;
//用for实现
for (int i = 1; i <100; i++)
{
if (i % 7 == 0)
{
continue;
}
sum += i;
}
//用while实现
//int i=0;
//while (i<100)
//{
// if (i % 7 == 0)
// {
// i++;
// continue;
// }
// sum += i;
// i++;
//}
Console.WriteLine("1-100之间除了能被7整除之外所有整数的和为:{0}",sum);
Console.ReadKey();
}
}
}
//int i=0;
//while (i<100)
//{
// if (i % 7 == 0)
// {
// i++;
// continue;
// }
// sum += i;
// i++;
//}
Console.WriteLine("1-100之间除了能被7整除之外所有整数的和为:{0}",sum);
Console.ReadKey();
}
}
}
Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/