赞
踩
if 语句根据布尔表达式的值选择要执行的语句。
if-statement:
if ( boolean-expression ) embedded-statement
if ( boolean-expression ) embedded-statement else embedded-statement
else 部分与语法允许的、词法上最相近的上一个 if 语句相关联。因而,下列形式的 if 语句
if (x) if (y) F(); else G();
相当于
if (x) {
if (y) {
F();
}
else {
G();
}
}
从C#语言定义文档中我们可以看到,if语句拥有两种书写格式,一种是不带else的一种是带else的
if ( boolean-expression ) embedded-statement
语句分三部分
if (true)Console.WriteLine("Hello");//圆括号后面只能嵌入一条嵌入语句.
如果需要在if里面实现复杂的逻辑怎么办呢?
这个时候就可以使用块语句{}包裹,用于实现if后面紧跟的逻辑
示例如下:
if (true) { Console.WriteLine("Hello"); Console.WriteLine("德玛西亚"); Console.WriteLine("艾欧尼亚"); }
if ( boolean-expression ) embedded-statement else embedded-statement
首先任然是是if关键字,关键字后面跟着一对圆括号(括号里面跟着bool类型的表达式)后面接一条嵌入式语句,在这条嵌入式语句后面呢,需要跟上一个else而else关键字后面呢,需要再跟一条嵌入式语句
当if后面的括号里面的bool类型表达式得到的值是false时,便运行else后面的嵌入式语句,
示例如下
if (false) Console.WriteLine("这是true的结果");else Console.WriteLine("这是else的结果");
很显然输出为
因为块语句也是嵌入式语句所以可以在块语句里面放if语句来实现更加复杂的逻辑
示例如下
需求将一个班中80分以上的分一个阶段,60到79的分一个阶段,30到59的分一个阶段
int? scores = 80; if (scores!=null&&scores<=100&&scores>=0) { Console.WriteLine("错误"); } else { if (scores >= 80) { Console.WriteLine("优"); } else { if (scores >= 60 && scores < 80) { Console.WriteLine("良"); } else { if (scores >= 30 && scores < 60) { Console.WriteLine("中"); } else { Console.WriteLine("差"); } } } }
因为if语句被编译器当作一条语句,所以我们可以舍弃else后面的{}
int? scores = 80; if (scores != null && scores <= 100 && scores >= 0) { Console.WriteLine("错误"); } else if (scores >= 80) { Console.WriteLine("优"); } else if (scores >= 60 && scores < 80) { Console.WriteLine("良"); } else if (scores >= 30 && scores < 60) { Console.WriteLine("中"); } else { Console.WriteLine("差"); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。