22.循环语句-dowhile
22.1 知识点
基本语法
do-while
循环是一种循环结构,与while
循环不同的是,do-while
循环是先执行一次循环体,然后再判断条件是否满足。因此,do-while
循环保证循环体至少会被执行一次。
语法结构
do
{
//do while 循环语句块;
} while (bool类型的值);
// 注意 do while 语句 存在一个重要的分号
实际运用
do-while
循环在实际运用中较少见,但在一些需要至少执行一次的情况下,它可以发挥作用。
示例
示例一
do
{
Console.WriteLine("do while 循环语句块");
} while (false);
//只会输出一次"do while 循环语句块"
示例二
do
{
Console.WriteLine("do while 循环语句块");
} while (true);
//会死循环,无限输出"do while 循环语句块"
示例三
int a = 0;
do
{
Console.WriteLine(a);//0 1
++a;
} while (a < 2);
嵌套使用
if
、switch
、while
、do-while
等循环结构可以相互嵌套使用,根据实际需要选择合适的嵌套方式。
示例
do
{
if (true)
{
}
while (true)
{
}
int i = 1;
switch (i)
{
default:
break;
}
break; //直接退出循环
Console.WriteLine("111");
continue; //不会执行后面的代码,直接跳到while的判断
Console.WriteLine("222");
} while (false);
22.2 知识点代码
using System;
namespace Lesson19_循环语句_do_while
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("do...while循环");
#region 知识点一 基本语法
// while循环 是先判断条件再执行
// do while循环 是先斩后奏 先至少执行一次循环语句块中的逻辑 再判断是否继续
//do
//{
// //do while 循环语句块;
//} while (bool类型的值);
// 注意 do while 语句 存在一个重要的分号
#endregion
#region 知识点二 实际使用
// do while 使用较少
do
{
Console.WriteLine("do while 循环语句块");
} while (false);//只会输出一次"do while 循环语句块"
do
{
Console.WriteLine("do while 循环语句块");
} while (true);//会死循环 无限输出"do while 循环语句块"
int a = 0;
do
{
Console.WriteLine(a);//0 1
++a;
} while (a < 2);
#endregion
#region 知识点三 嵌套使用
// if switch while do while
do
{
if (true)
{
}
while (true)
{
}
int i = 1;
switch (i)
{
default:
break;
}
break;//直接退出循环
Console.WriteLine("111");
continue;//不会执行后面的代码 直接跳到while的判断
Console.WriteLine("222");
} while (false);
#endregion
}
}
}
22.3 练习题
要求用户输入用户名和密码,只要不是admin和8888就一直提示用户名或密码错误,请重新输入
// 变量声明 一定要注意声明在哪个语句块中
string userName = "";
string passWord = "";
bool isShow = false; // 控制提示的布尔值
do
{
// 这句代码第一次肯定不能执行,用布尔值判断
if (isShow)
{
Console.WriteLine("用户名或密码错误,请重新输入");
}
// 循环输入
Console.WriteLine("请输入用户名");
userName = Console.ReadLine();
Console.WriteLine("请输入密码");
passWord = Console.ReadLine();
isShow = true; // 第一次之后就变成true
} while (userName != "admin" || passWord != "8888");
不断提示请输入你的姓名,直到输入q结束
string input = "";
do
{
Console.WriteLine("请输入你的姓名");
input = Console.ReadLine();
} while (input != "q");
22.4 练习题代码
using System;
namespace Lesson19_练习题
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("do while语句练习题");
#region 练习题一
//要求用户输入用户名和密码,
//只要不是admin和8888就一直提示用户名或密码错误,请重新输入
// 控制台输入 条件运算符 逻辑运算符
//变量声明 一定要注意声明在哪个语句块中
string userName = "";
string passWord = "";
bool isShow = false;//控制提示的布尔值
do
{
//这句代码 第一次 肯定不能执行 用布尔值判断
if (isShow)
{
Console.WriteLine("用户名或密码错误,请重新输入");
}
//循环输入
Console.WriteLine("请输入用户名");
userName = Console.ReadLine();
Console.WriteLine("请输入密码");
passWord = Console.ReadLine();
isShow = true;//第一次之后就变成true
} while (userName != "admin" || passWord != "8888");
#endregion
#region 练习题二
//不断提示请输入你的姓名,直到输入q结束
string input = "";
do
{
Console.WriteLine("请输入你的姓名");
input = Console.ReadLine();
} while (input != "q");
#endregion
}
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com