关于流程控制语句中switch选择和各种循环
一、switch选择
switch的每个每支后面都必须写上"break",每个值都必须是一个具体的值,
case可以是任何多个,default是0个或1个
Console.WriteLine("1.登陆");
Console.WriteLine("2.注册");
Console.Write("请选择(1-2):");
string input = Console.ReadLine();
switch (input)
{
case"1":
Console.WriteLine("你选择了登陆");
break;
case"2":
Console.WriteLine("你选择了注册");
break;
default:
Console.WriteLine("选择错误");
break;
}
二、循环:while do while for roreach
1、while循环
案例1:写一个while循环,输出100-999之间所有的水仙花数
int i = 100;
while (i < 1000)
{
int a = i / 100 % 10;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i)
{
Console.WriteLine(i);
}
i++;
}
案例2:请在控制台中输出1000以内能被3整除的数
int num = 1;
while (num <= 1000)
{
if (num % 3 ==0)
{
Console.WriteLine(num);
}
num++;
}
2、do while循环
案例1、在控制台中提示用户输入一个正数,然后输出这个数字,
如果用户输入的不是正数,则需要重新输.
先用while循环去实现:
Console.Write("请输入一个正数");
double number = double.Parse(Console.ReadLine());
while(number <= 0)
{
Console.Write("请输入一个正数");
number = double.Parse(Console.ReadLine());
}
Console.WriteLine("你输入的数字是:"+ number);
用do while实现:
double number;
do
{
Console.Write("请输入一个正数:");
number = double.Parse(Console.ReadLine());
}
while (number <= 0);
Console.WriteLine("您输入的数字是:"+number);
3、for循环
写一个while循环,输出100-999之间所有的水仙花数
int i = 100;
while (i < 1000)
{
int a = i / 100 % 10;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i)
{
Console.WriteLine(i);
}
i++;
}
4、foreach 循环(只能用于遍历数组或集合)
也叫只读循环,在循环中,不能更改集合或数组
foreach与for的区别
foreach:
只能用于遍历
不能更改循环目标
遍历速度快,执行效率高
for:
可以用于任何形式的重复行为
在循环体中,可以进行任何操作
遍历速度慢,执行效率低