C#四部曲入门——条件分支语句和循环语句

一.条件分支语句

1.if语句

(1)作用

让顺序执行的代码出现分支

if语句是第一个可以让我们的程序产生逻辑变化的语句

(2)if语句

作用:条件满足时,可以额外执行代码块中的代码

语法:if(bool类型)

{

        满足条件要执行的代码

}

注意:

1.if语句不需要分号;但代码块中需要分号

2.if语句可以嵌套使用

if(true)
{
   Console.WriteLine("1");
}
Console.WriteLine("2");

if(false)
{
   Console.WriteLine("3");
}
Console.WriteLine("4");

if(true)
{
   Console.WriteLine("5");
    if(true)
    {
        Console.WriteLine("6");
    }
    if(false)
    {
        Console.WriteLine("7");
    }
}
Console.WriteLine("8");
//输出结果应该为
/*  1
    2
    4
    5
    6
    8   */

(3)if…else语句

作用:产生两条分支,满足条件做什么,不满足条件做什么

语法:

if(bool类型值)

{

        执行条件满足的代码

}

else

{

        执行条件不满足的代码

}

注意:

1.if…else语句不需要分号;但代码块中需要分号

2.if…else语句可以嵌套使用

if(true)
{
    Console.WriteLine("1");
    if(false)
    {
        Console.WriteLine("2");
    }
    else
    {
        Console.WriteLine("3");
    }
}
else
{
    Console.WriteLine("4");
}
//输出结果应该为
/*  1
    3  */

(4)if…else if … else语句

作用:产生n条分支,多条道路选择,最先满足其中的一个条件,就做什么

语法:

if(bool类型值)

{

        执行条件满足的代码

}

else if(bool类型值)

{

        执行条件满足的代码

}

else

{

        执行条件不满足的代码

}

注意:

1.同理不用写分号

2.可以嵌套

3.else可以省略

4.条件判断,从上到下执行,满足了第一个后,之后的都不执行了

internal class Program
{
    static void Judge(int i)
    {
        if(i >= 10)
        {
            Console.WriteLine("大于等于10");
        }
        else if(i >= 5)
        {
            Console.WriteLine("大于等于5并且小于10");
        }
        else if(i >= 0)
        {
            Console.WriteLine("大于等于0并且小于5");
        }
        else
        {
            Console.WriteLine("小于0");
        }
    }

    static void Main(string[] args)
    {
        Judge(11);
        Judge(4);
        Judge(-1);
    }
}

2.switch语句

(1)作用

让顺序执行的代码产生分支

(2)基本语法

switch(变量)

{

        case 常量:

                满足条件执行的代码逻辑;

                break;

        case 常量:

                满足条件执行的代码逻辑;

                break;

        default:

                上面的所有case都不满足,就是执行default中的代码;

                break;

}

case可以有很多个

注意:

常量!只能写一个值,不能写一个范围,也不能写条件运算符,逻辑运算符等等。

switch只能判断变量是否等于一个固定的值

int a = 3;
switch(a)
{
    case 1:
        Console.WriteLine("a的值等于1");
        break;
    case 2:
        Console.WriteLine("a的值等于2");
        break;
    case 3:
        Console.WriteLine("a的值等于3");
        break;
    default:
        Console.WriteLine("什么条件都不满足");
        break;
}

(3)default可省略

int a = 3;
switch(a)
{
    case 1:
        Console.WriteLine("a的值等于1");
        break;
    case 2:
        Console.WriteLine("a的值等于2");
        break;
    case 3:
        Console.WriteLine("a的值等于3");
        break;
    //default:
        //Console.WriteLine("什么条件都不满足");
        //break;
}

也可以运行,只不过当case的所有条件都不满足时,没有可运行的代码了

(4)可自定义常量

int a = 3;
//1.必须初始化;2.不可以修改
const int i = 3;
switch(a)
{
    
    case i:
        Console.WriteLine("a的值等于3");
        break;
    default:
        Console.WriteLine("a不等于3");
        break;
}

(5)贯穿

int i = 2;
switch(i)
{
    case 1:
    case 2:
    case 3:
        Console.WriteLine("i是个正数");
        break;
    case 0:
        Console.WriteLine("i是0");
        break;
    case -1:
    case -2:
    case -3:
        Console.WriteLine("i是个负数");
        break;
}

当满足某些条件时,所执行的代码是一样的时候,可以使用贯穿。

二.循环语句

1.while循环语句

(1)作用

让顺序执行的代码,可以不停的执行某一代码块的内容

条件分支语句是让代码产生分支

循环语句是让代码可以被重复执行

(2)语法相关

while(bool类型值)

{

        满足条件时,就执行while语句块中的内容

        当代码逻辑执行完,会回到while循环前,重新进行条件判断

}

死循环:就是不停的执行循环语句中的逻辑“直到死为止”

while(true)
{
    Console.WriteLine("********");
}

计算一个为0 的整型变量,让其不断的加1,一直循环加到10为止

int i = 0;
while(i < 10)
{
    ++i;
    Console.WriteLine(i);
}

(3)嵌套使用

不仅仅可以嵌套if switch还可以嵌套while

int a = 0, b = 10 , c = 5;
while(a < c)
{
    ++a;
    while(b > c)
    {    
        --b;
        Console.WriteLine("b="+ b);
    }
    Console.WriteLine("a="+ a);
}

Console.WriteLine("******************");

a = 0;
b = 10;
while(a < c)
{    
    ++a;
    if(b > c)
    {
        --b;
        Console.WriteLine("b="+ b);
    }
    Console.WriteLine("a="+ a);
}

(4)流程控制关键词

作用:控制循环逻辑的关键词

break:跳出循环

int i = 0;
while(true)
{
    Console.WriteLine(i);
    i++;
    if(i == 10)
    {
        break;
    }
}

break和switch中的break一样,只不过在switch的break是跳出switch语句

int a = 1;
while(true)
{
    switch(a)
    {    
        default:
            //这里的break跳出switch语句
            break;
    }    
    Console.WriteLine("*");
    //这里的break跳出while语句
    break;
}    

continue:回到循环开始,继续执行

//打印1到20的奇数
int i = 0;
while(i < 20)
{
    i++;
    if(i%2 ==0)
    {
        continue;
    }
    Console.WriteLine(i);
}

2.do…while循环语句

(1)基本语法

while循环是先判断条件再进行循环

do while 是先执行一次,再判断条件需不需要循环

注意最后的while要加上分号

(2)实际使用

do
{
    Console.WriteLine("执行一次");  
}while(false);

这就是和while语句的区别,会执行一次,最后判断bool值,是否需要循环,所以do while语句至少会执行一次。

int i = 2;
do
{
    Console.WriteLine(i);
    i++;
}while(i < 5);

(3)嵌套使用

可以嵌套使用if switch while do…while

do
{
    if (true)
    {
        Console.WriteLine("if语句代码块");
    }
    bool bo = true;
    while (bo)
    {
        Console.WriteLine("while语句代码块");
        bo = false;
    }
    int i = 1;
    switch (i)
    {
        default:
            Console.WriteLine("switch语句代码块");
            break;
    }
    do
    {
        Console.WriteLine("do while语句代码块");
    }while(false);
} while (false);

3.for循环语句

(1)基本语法

for(初始表达式;条件表达式;增量表达式)

{

        循环代码逻辑;

}

初始表达式:一般声明一个临时变量,用来计数

条件表达式:声明进入循环的条件,一个bool类型

增量表达式:初始表达式中声明的临时变量的自增减运算

第一次循环才会调用初始表达式
每次进入循环都会判断条件表达式,满足即进入循环
执行完循环代码最后才会执行增量表达式,再进入下一次循环

for(int i = 1;i < 10;i++)
{
    Console.WriteLine(i);
}

(2)支持嵌套

同样支持if 语句 switch语句 while语句和do while语句的嵌套

for(int i = 0;i < 5;i++)
{
    for(int j = 0;j < 5;j++)
    {
        Console.WriteLine(i + "_" + j);
    }
}

(3)特殊写法

死循环:

for( ; ; )
{
    Console.WriteLine("for循环的死循环");
}
int i = 0;
for( ; i < 10; )
{
    i++;
    Console.WriteLine(i);
}
for(int i = 0; ; ++i)
{
    Console.WriteLine(i);
    if(i > 10)
    {
        break;
    }
}

(4)对比while循环

for循环一般用于可以准确得到一个范围的数,即可以准确知道循环次数

for(int i = 1 ; i <=10 ; i++)
{
    //准确可以知道循环次数10次
}

//当然while也可以但是这样写会比较麻烦
int j = 1;
while(j <= 10)
{
    j++;
}
//所以当循环是这种已知循环次数,或者说是一个数字的范围是一般用for循环

//while循环可以用于不知道循环次数的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值