(原创)c#学习笔记04--流程控制03--分支02--if语句

4.3.2 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 or equal to 10";

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

    string resultString;

    if (myInteger < 10)

      resultString = "Less than 10";

    else

      resultString = "Greater than or equal to 10";

  这样的代码尽管比较冗长,但与三元运算符相比,更便于阅读和理解,也更加灵活。

  下面代码演示下if用法,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ch04Ex02
{
    class Program
    {
        static void Main(string[] args)
        {
            string comparison;
            Console.WriteLine("Enter a number");
            double var1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Enter another number:");
            double var2 = Convert.ToDouble(Console.ReadLine());
            if (var1 < var2)
            {
                comparison = "less than";
            }
            else
            {
                if (var1 == var2)
                {
                    comparison = "equal to";
                }
                else
                {
                    comparison = "greater than";
                }
            }
            Console.WriteLine("The first number is {0} the second number.", comparison);
            Console.ReadLine();
        }
    }
}

  运行结果如下:

  常见错误:常会错误地将诸如if (var1 == 3 ||var1 == 4)的条件写为if (var1 == 3 ||4)。由于运算符有优先级,因此先执行==运算符,接着用||运算符处理布尔和数值操作数,就会出现错误。

  上面的代码可以使用else if语句,如下:

       if (var1 < var2)
            {
                comparison = "less than";
            }
            else if (var1 == var2)
            {
                comparison = "equal to";
            }
            else
            {
                comparison = "greater than";
            }
时间: 2024-12-26 04:30:54

(原创)c#学习笔记04--流程控制03--分支02--if语句的相关文章

python学习笔记3—流程控制if、for、while

流程控制if if 语句 if expression: statement(s) else else语句: if 语句,else语句 if expression: statement(s) else: statement(s) elif语句: if expression1: statement1(s) elif expression2(s): statements2(s) else: statement2(s) 注:Python使用缩进作为其语法分组的方法,建议使用4个空格 逻辑值(bool)包

【原】Java学习笔记005 - 流程控制

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // 程序的流程控制(流程结构):顺序结构.选择结构.循环结构 6 7 // 顺序结构:从上向下,顺序执行 8 System.out.println("出生..."); 9 System.out.println("享受人生..."); 10 System.out.print

No2. 学习笔记_流程控制

1 import java.util.Scanner; 2 public class HelloForWhile { 3 4 /** 5 * 文档注释,程序名称:HelloForWhile 流程控制 开发时间:2016-03-07 作者:嘿嘿 6 * */ 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 System.out.println("test"); 10 int

JavaScript学习笔记——javascript流程控制

javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分支结构.条件结构) 根据给定的条件有选择的执行形相应的语句. (1) if else if else 1.单路分支 //条件可以是表达式也可以是任何的数据类型 //大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号 if(条件){ 条件成立执行的语句 } 2.双路分支 if(

(原创)c#学习笔记04--流程控制04--循环03--for循环

4.4.3 for循环 这类循环可以执行指定的次数,并维护它自己的计数器. 要定义for循环,需要下列信息: 初始化计数器变量的一个起始值. 继续循环的条件,它应涉及到计数器变量. 在每次循环的最后,对计数器变量执行一个操作. 例如,如果要在循环中,使计数器从1递增到10,递增量为1,则起始值为1,条件是计数器小于或等于10,在每次循环的最后,要执行的操作是给计数器加1. 这些信息必须放在for循环的结构中,如下所示: for (<initialization>; <condition&

(原创)c#学习笔记04--流程控制04--循环04--循环中断和无限循环

4.4.4  循环的中断 有时需要更精细地控制循环代码的处理.C#为此提供了4个命令,其中的3个已经在其他情形中介绍过了:?  break——立即终止循环.?  continue——立即终止当前的循环(继续执行下一次循环).?  goto——可以跳出循环,到已标记好的位置上(如果希望代码易于阅读和理解,最好不要使用该命令).?  return——跳出循环及其包含的函数(参见第6章).?  break命令可退出循环,继续执行循环后面的第一行代码 4.4.5  无限循环 可以通过编写错误代码或错误的

(原创)c#学习笔记04--流程控制03--分支03--switch语句

4.3.3 switch语句 switch 语句非常类似于if 语句,因为它也是根据测试的值来有条件地执行代码.但是,switch语句可以一次将测试变量与多个值进行比较,而不是仅测试一个条件.这种测试仅限于离散的值,而不是像“大于X”这样的子句,所以它的用法有点不同,但它仍是一种强大的技术. switch语句的基本结构如下: switch (<testVar>) { case <comparisonVal1>: <code to execute if <testVar&

(原创)c#学习笔记04--流程控制02--goto语句

4.2 goto语句 C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上.该语句优缺点并存.主要的优点是:这是控制什么时候执行哪些代码的一种简单方式.主要的缺点是:过多地使用这个技巧将使代码晦涩难懂. goto语句的用法如下: goto <labelName>; 标签用下述方式定义: <labelName>: 例如,下面的代码: int myInteger = 5; goto myLabel; myInteger += 10; myLabel: Consol

(原创)c#学习笔记04--流程控制03--分支01--三元运算符

4.3  分支 要跳转到的代码行由某个条件语句来控制.这个条件语句使用布尔逻辑,对测试值和一个或多个可能的值进行比较. 本节介绍C#中的3种分支技术: ?  三元运算符 ?  if语句 ?  switch语句 4.3.1  三元运算符 一元运算符有一个操作数,二元运算符有两个操作数,所以三元运算符有3个操作数.其语法如下: <test> ? <resultIfTrue>: <resultIfFalse> 其中,计算<test>可得到一个布尔值,运算符的结果根

【原】Java学习笔记007 - 流程控制

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // for循环 6 // 格式 7 // for (int i = 初始值; i < value; i++) { 8 // 9 // } 10 // 口诀:左初值.右步长.条件在中间.处理在内部 11 // 1.左初值:声明一个变量并给变量赋值 12 // 2.右步长:控制左边声明的变量的变化幅度,为