流程控制-分支-if语句
2009-03-12 00:25
411 查看
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语句。
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语句。
相关文章推荐
- JAVA 控制流程之分支语句 (if -else)
- 流程控制——分支结构之if语句
- 流程控制语句:分支语句-if
- 流程控制------if else分支语句
- (原创)c#学习笔记04--流程控制03--分支02--if语句
- 流程控制 if语句和switch语句详解
- python流程控制语句 ifelse - 1
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- C语言学习十流程控制的学习之分支语句
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- 流程控制的使用IF 语句
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- 黑马程序员----C#中的流程控制语句之分支语句
- 流程控制:if分支结构
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- (原创)c#学习笔记04--流程控制03--分支03--switch语句
- 程序的流程控制----if语句
- 流程控制语句——if选择结构语句