C# while 循环与 for 循环类似,但是 while 循环一般适用于不固定次数的循环。

while 循环的语法形式如下。

while(布尔表达式)
{
    语句块;
}

while 语句执行的过程是,当 while 中布尔表达式的结果为 True 时,执行语句块中的内容,否则不执行。通常使用 for 循环可以操作的语句都可以使用 while 循环完成。

C# do while 循环可以说是上一节 C# while循环的另一个版本,与 while 循环最大的区别是它至少会执行一次。

具体的语法形式如下。

do
{
    语句块;
}while(布尔表达式);

do while 语句执行的过程是,先执行 do{} 中语句块的内容,再判断 while() 中布尔表达式的值是否为 True,如果为 True,则继续执行语句块中的内容,否则不执行,因此 do while 语句中的语句块至少会执行一次。

using System;

namespace KingTest03
{
class Program
{
static void Main(string[] args)
{
Program program = new Program();
program.Sum1();
Console.WriteLine();
Console.WriteLine("while和Do While的区别如下");
program.while1();
program.while2();
}
public void Sum1()//计算1到100的和
{
int a1 = ;
int sum1 = ;
while (a1 <= )
{
if (a1 < )
{
sum1 = sum1 + a1;
Console.Write(a1 + "+");
a1++;
}
else
{
sum1 = sum1 + a1;
Console.Write(a1 + "=");
a1++;
}
}
Console.Write(sum1);
}
public void while1()//先去判断条件,再执行表达式
{
Console.WriteLine("请输入一个整数");
int i = int.Parse(Console.ReadLine());
int j = ;
while (i < j)
{
Console.WriteLine(i);
break;
}
}
public void while2()//先执行表达式,再去判断条件
{
Console.WriteLine("请输入一个整数");
int i = int.Parse(Console.ReadLine());
int j = ;
do
{
Console.WriteLine(i);
break;
} while (i < j);
}
}
}

下例是简单的wthile/IF的综合应用

using System;
namespace _LEARN
{
class CLASS1
{
static void Main()
{
Console.WriteLine("请帮机器人起个名字");
string name = Console.ReadLine();
Console.WriteLine("请帮机器人设定年龄");
int age = Convert.ToInt32(Console.ReadLine());
bool EXIT = false;
Console.WriteLine("你有什么要问我的吗?");
while (!EXIT)
{
String INPUT = Console.ReadLine();
if (INPUT.Contains("修改姓名"))
{
Console.WriteLine("请输入新的名字");
name = Console.ReadLine();
Console.WriteLine("我的新名字是{0}", name);
}
else if (INPUT.Contains("修改年龄"))
{
Console.WriteLine("请输入新的年龄");
age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("我的新年龄是{0}", age);
}
else if (INPUT.Contains("岁"))
{
Console.WriteLine("我今年{0}岁了", age);
}
else if (INPUT.Contains("男") | INPUT.Contains("女"))
{
Console.WriteLine("我是美男子");
}
else if (INPUT.Contains("名") | INPUT.Contains("字"))
{
Console.WriteLine("我叫{0}", name);
}
else if (INPUT.Contains("再见"))
{
Console.WriteLine("你好,我即将离开你");
EXIT = true;
}
else
{
Console.WriteLine("我不知道你在说什么!!!");
}
}
Console.WriteLine("倒数开始");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("机器人已经下线,请按任意键退出!");
}
} }

C#上手练习3(while、do while语句)(添加机器人聊天)的更多相关文章

  1. sql语句添加约束

    sql语句添加约束 --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但 ...

  2. Sql 语句添加字段、修改字段类型、默认值语法

    Sql 语句添加字段 ,) not null --修改类型 alter Table bbs ) Sql 语句修改默认值 alter table 表名 drop constraint 约束名字 --删除 ...

  3. SQL语句添加删除修改字段及一些表与字段的基本操作

    用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200)2.删除字段     ALTER TABLE table_NA ...

  4. 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

    用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP CO ...

  5. SQL语句添加删除修改字段[sql server 2000/2005]

    用SQL语句添加删除修改字段1.增加字段     alter table docdsp    add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME ...

  6. SQL语句添加删除修改字段

    用SQL语句添加删除修改字段1.增加字段     alter table docdsp    add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME ...

  7. JavaWeb 学习009-4个页面,5条sql语句(添加、查看、修改、删除)

    ===========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==+++++++++ 2016-12-3------ ...

  8. JavaWeb 学习007-4个页面,5条sql语句(添加、查看、修改、删除)2016-12-2

    需要复习的知识: 关联查询 =================================================================================班级模块学 ...

  9. JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)

    今天遇到的问题: 1. 在list页面上添加信息时候,跳转到doAdd页面后,点击保存按钮,能够跳转回list页面,但是新增的信息不能显示出来,就像是没有执行添加操作一样. 这是什么问题? ①是不是到 ...

随机推荐

  1. Linux中fuser命令用法详解

    描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...

  2. vscode 格式化代码 与 eslint 有冲突的问题解决

    项目中配置了eslint后,在使用vue界面里格式化的时候总是不一致.然后在配置中加了配置也无效(File - Preference - Setting) 查了下原因是在vue开发的时候我们一般都安装 ...

  3. JVM内存模型与类加载机制

    一. java虚拟机的内存模型如图: 补习一下jvm内存模型中的各个组成部分 堆: 我们new出来的对象全部放在堆中,他是jvm所能够动态分配的最大的一块空间 优点: 内存动态分配,生命周期不必事先告 ...

  4. OpenWrite插件上架Google商店,插件安装更加容易!用户安全更有保障!

    随着越来越多用户加入OpenWrite写作与快速发布文章到各大技术社区,不少非程序员童鞋经常会卡在插件安装这一步. 这是因为之前我们没有把插件上架到Google商店,所以需要用比较硬核的方式来安装. ...

  5. Kubernetes的Job对象

    Deployment.StatefulSet及DaemonSet三个主要用来进行长时间业务,不会退出. 而有一些离线业务,或者叫Batch Job(计算业务),计算完成后就直接退出 了,如果用Depl ...

  6. ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)

    在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. P ...

  7. canvas实现七巧板图案和粒子时钟

      canvas实现七巧板 <canvas id="canvas" width="800" height="800"></ ...

  8. JS中的slice()和splice()的区别以及记忆方式

    总结 splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回. slice不会对原数组进行改变,会返回一个新的 ...

  9. 简单sql注入学到的延时盲注新式攻击

    0x01 知识点 mysql_pconnect(server,user,pwd,clientflag) mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接. mysql_p ...

  10. mysql注入新姿势(数字与字符编码注入) hex,conv

    0x01 前言 今天看到师傅们发的一篇文章,感觉mysql注入还能这么用,于是自己搭建了一个简单的环境,进行复现. 0x02原理 首先介绍两个mysql函数 hex和conv conv(N,from_ ...