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. ReactNative: 使用导航栏组件-NavigatorIOS组件和Navigator组件

    一.简言 在软件开发中,不论是Web还是App,它们的应用程序都是由很多的功能视图组成的.对于这些组合的视图,如何实现页面间平滑地过渡,应用都有统一的一套跳转机制,这个功能就是路由或者叫导航.应用程序 ...

  2. 连接远程服务器的几种方式/Vscode + Remote

    连接远程服务器的几种方式 前言 最近在尝试做网盘,使用的技术栈大概是 .net core + MVC + Mysql + Layui,主要目的是通过这个具体的项目,熟悉熟悉 .net core 开发, ...

  3. 腾讯短信+SpringBoot+Redis实现注册逻辑

    使用redis做缓存实现用户的注册功能: 异步请求发送短信,给 发送短信的按钮 绑定异步事件 调用发送短信逻辑发送短信 缓存 key1:验证码 缓存 key2:短信发送时刻的时间 用户提交表单 包含用 ...

  4. SpringMVC参数绑定,这篇就够了!

    SpringMVC参数绑定,简单来说就是将客户端请求的key/value数据绑定到controller方法的形参上,然后就可以在controller中使用该参数了 下面通过5个常用的注解演示下如何进行 ...

  5. Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例

    1. 自动化测试模型介绍 随着自动化测试技术的发展,演化为了集中模型:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试. 下面分别介绍这几种自动化测试模型的特点. 1.1 线性测试 通过录制或编 ...

  6. golang-基础

    1.go的特点 兼具动态语言的开发效率与C,C++,java的性能安全性 ,内置编译器 2.go的安装 go的sdk下载:  https://studygolang.com/dl go的IDE下载: ...

  7. 服务器返回的数据将Unicode码转成汉字

    当我们请求接口的时候,服务器会返回一些数据,当我们打印的时候就会发现,打印出来的是unicode码,不是汉字. 这时候需要我们自己手动处理一下,让打印的时候输出汉字的格式. 方法如下: 新增一个分类, ...

  8. docker swarm 删除节点

    有时临时在 docker swarm 集群上增加节点,过后需要删除节点 # 获取 node 信息 docker node ls ID HOSTNAME STATUS AVAILABILITY MANA ...

  9. Linux-3.14.12内存管理笔记【构建内存管理框架(2)】

    前面构建内存管理框架,已经将内存管理node节点设置完毕,接下来将是管理区和页面管理的构建.此处代码实现主要在于setup_arch()下的一处钩子:x86_init.paging.pagetable ...

  10. LinuxVIM编辑器用法

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器. 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(la ...