zoukankan      html  css  js  c++  java
  • do while 有例句体会循环的真正原理

    do while

     语法:

    do

    {

     循环体;

    }

    While (条件); //记住有分号

    {

    }

    执行过程:

    1)执行循环体 执行完循环休息转向2

    2)判断条件是否成立,如果 条件为true.刚转向1 如果条件为False 则转向3

    3)跳出循环体 结束

    假如循环体一开始就不成立,对天while循环一次都不执行,对于do-while循环体会执行一次,所以do-while的循环体一般至少会执行一次,

    while 先判断后执行

    do while 先执行后判断


    例1:

    string answer;

    do
    {
    Console.WriteLine("小兰表演一遍舞蹈!");
    Console.WriteLine("老师你满意吗 (y / n)");  //循环体
    answer=Console.ReadLine();

    }while (answer!="y"); //循环条件

    Console.WriteLine("跳得不错。回家吧");

    Console.ReadKey();


    例2  嵌入了一个 while循环  (来限定只能输入y n)

    string answer;

    do
    {
    Console.WriteLine("小兰表演一遍舞蹈!");
    Console.WriteLine("老师你满意吗 (y / n)");
    answer=Console.ReadLine();
    while (answer!="y"&&answer!="n") //嵌入了一个while循环
    {
    Console.WriteLine("只能输入y或者n!");
    answer = Console.ReadLine();
    }

    }while (answer!="y");

    Console.WriteLine("跳得不错。回家吧");

    Console.ReadKey();


    int sum = 0;
    int i = 1;
    while (i<=100)
    {
    sum += i;
    i++;


    }
    Console.WriteLine(sum);
    Console.ReadKey();


    int a = 1, b = 100;
    int sum = 0;
    int i =1 ;
    while (i<=50)
    {
    sum =sum+(a+b); //如果此处改为sum=a+b  可以体会循环的真正用法  因为这样永远是a+b 而没有把每次相加后的结果累加起来.
    a++;
    b--;

    i++;


    }

    Console.WriteLine("{0}", sum);
    Console.ReadKey();


    2种写法

    string userName;
    string passWord;
    do
    {
    Console.WriteLine("请输入用户名");
    userName = Console.ReadLine();
    Console.WriteLine("请输入密码");
    passWord = Console.ReadLine();
    if (userName != "admin" || passWord != "888888")
    {
    Console.WriteLine("错误请重新输入");
    }


    } while (userName != "admin" || passWord != "888888");
    Console.WriteLine("输入正确");
    Console.ReadKey();

    string userName;
    string passWord;
    bool flag = false;
    do
    {
    flag = false;
    Console.WriteLine("请输入用户名");
    userName = Console.ReadLine();
    Console.WriteLine("请输入密码");
    passWord = Console.ReadLine();
    if (userName != "admin" || passWord != "888888")
    {
    Console.WriteLine("错误请重新输入");
    flag = true;
    }


    } while (flag);
    Console.WriteLine("输入正确");
    Console.ReadKey();



    string stuName;

    do
    {
    Console.WriteLine("请输入学生姓名");
    stuName = Console.ReadLine();

    } while (stuName != "q");
    {
    Console.WriteLine("程序结束");
    }


    Console.ReadKey();


    int number;
    bool flag = false;
    do
    {
    try
    {
    Console.WriteLine("请输入一个数字");
    number = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("{0}的2倍是:{1}", number, number *2);
    flag = true;
    }
    catch
    {
    flag = false;

    }

    }while (flag);
    {

    Console.WriteLine("程序结束");
    }

    Console.ReadKey();


    int number;
    string input;
    Console.WriteLine("请输入一个数字。(q)结束");
    input = Console.ReadLine();
    while (input != "q")
    {
    number = Convert.ToInt32(input);
    Console.WriteLine("{0}的双倍是:{1}",number,number*2);
    Console.WriteLine("请输入一个数字。(q)结束");
    input = Console.ReadLine();


    }

    Console.WriteLine("程序结束");
    Console.ReadKey();


    int max = 0;
    string input = "";
    int number = 0;

    do
    {
    try
    {
    Console.WriteLine("请输入一个数");
    input = Console.ReadLine();
    number = Convert.ToInt32(input);
    if (number > max)
    {
    max = number;
    }
    }
    catch
    {
    if (input != "end")
    {
    Console.WriteLine("输入非法数字!程序结束");
    input = "end";

    }

    }

    } while (input != "end");
    {

    }

    Console.WriteLine("最大值:{0}",max);

    Console.ReadKey();



    do
    {
    try
    {
    Console.WriteLine("请输入一个数");
    input = Console.ReadLine();
    number = Convert.ToInt32(input);
    if (number > max)
    {
    max = number;
    }
    }
    catch
    {
    if (input != "end")
    {
    Console.WriteLine("输入非法数字!程序结束");
    input = "end";

    }

    }

    } while (input != "end");
    {

    }

    Console.WriteLine("最大值:{0}", max);

    Console.ReadKey();

  • 相关阅读:
    SharePoint Workflow出了问题, 除了ULS log还可以看什么日志?
    Kernel Mode Debugging 初步 一
    一些debug常用的"魔法"数值
    SQL Block的初级排查
    [持续更新]一些有用的PowerShell收集
    关于斜杠(slash)和反斜杠(back slash)的小知识点
    如何安全地解放C盘剩余磁盘空间?
    返璞归真asp.net mvc 1.0(3) Controller/Action【转】
    关于Oxite的教训
    [翻译ASP.NET MVC]Contact Manager开发之旅之迭代2 修改样式,美化应用 【转】
  • 原文地址:https://www.cnblogs.com/swlq/p/5367501.html
Copyright © 2011-2022 走看看