流程控制-分支-if语句

    if语句的功能比较多,是进行决策的有效方式。与?:语句不同的是,if语句没有结果(所以不在赋值语句中使用它),使用该语句是为了有条件的执行其他语句。

    if语句最简单的语法如下:

     if(<test>)

          <code executed if <test> is true>;

    先执行<test>(其计算结果必须是一个布尔值,这样代码才能编译),如果<test>的计算结果是true,就执行该语句下面的代码。在这段代码执行完毕后,或者因为<test>的计算结果是false,而没有执行这段代码,将继续执行后面的代码行。

    也可以将else语句和if语句合并使用,指定其他的代码。如果<test>的计算结果是false,就执行else语句:

     if(<test>)

          <code executed if <test> is true>;

     else

          <code executed if <test> is false>;

    这两段代码可以使用成对的花括号,放在多个代码行上:

     if(<test>)

     {

          <code executed if <test> is true>

     }

     else

     {

          <code executed if <test> is false>;

     }

    例如,重新编写上一节使用三元运算符的代码:

     string resultString = (myInteger < 10) ? "Less than 10";"Greater than 10";

    因为if语句的结果不能赋予一个变量,所以要单独把值赋给变量:

     string resultString;

     if(myInteger < 10)

          resultString = "Less than 10";

     else

          resultString = "Greater than or equal to 10";

    虽然这样的代码比较长,但与三元运算符相比,更容易阅读和理解,其灵活性也比较大。

    新手请做一下这个例子,代码如下:

 

using  System;
using  System.Collections.Generic;
using  System.Text;

namespace  ConsoleApplication5
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {
            
string  comparison;

            Console.WriteLine(
" 输入一个数字: " );
            
double  var1  =  Convert.ToDouble(Console.ReadLine());

            Console.WriteLine(
" 输入第二个数字: " );
            
double  var2  =  Convert.ToDouble(Console.ReadLine());

            
if  (var1  <  var2)
            {
                comparison 
=   " 小于 " ;
            }
            
else
            {
                
if  (var1  ==  var2)
                {
                    comparison 
=   " 等于 " ;
                }
                
else
                {
                    comparison 
=   " 大于 " ;
                }
            }

            Console.WriteLine(
" 第一个数字{0}第二个数字 " ,comparison);
            Console.ReadKey();
        }
    }
}

 

使用if语句判断更多的条件

    在上面的例子中,有3个条件涉及到var1的值,包括了这个变量所有可能的值。有时要检查特定的值,例如var1是否等于1,2,3,或4等。使用上面那样的代码会得到很多讨厌的嵌套,例如:

     if(var1 == 1)

     {

          //dou something

     }

     else

     {

          if(var1 == 2)

          {

               //dou something else

          }

          else

          {

               if(var1 == 3 || var1 == 4)

               {

                    //do something else

               }

               else

               {

                    //do something else

               }

          }

     }

    在这种情况下,就要使用略有不同的缩进模式,缩短else代码块(即在else块的后面使用一行代码,而不是一个代码块),这样就得到else if语句结构。

     if(var1 == 1)

     {

          //do something

     }

     else if (var1 == 2)

     {

          //dou something else

     }

     else if (var1 == 3 || var1 == 4)

     {

          //do something else

     }

     else

     {

          //do something else

     }

    这些else if语句实际上是两个独立的语句,它们的功能与上述代码相同。但是这样代码会更易于阅读。

    像这样进行多个比较的操作,应考虑使用另一种分支结构:switch语句。

转载于:https://www.cnblogs.com/ta-bky/archive/2009/03/12/1409246.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值