原文地址:http://www.dingos.cn/index.php?topic=933.0
【示例】
为了判断一个数是偶数还是奇数,执行如下操作:
1. 接受一个数
2. 用这个数除以 2 后的余数
3. 根据余数判断:
余数为0 - 偶数
余数不为0 - 奇数
Csharp中常见的条件结构:
【if结构】
通过条件为“真”还是为“假”来决定
基本的if条件结构
表达式是要判断的条件,跟在后面的是一个或一组语句。
using System;
通过条件为“真”还是为“假”来决定
基本的if条件结构
程序代码:
if (表达式) {
//语句
}
//语句
}
表达式是要判断的条件,跟在后面的是一个或一组语句。
using System;
class Test {
public static void Main(){
int x, y;
char a = 'y';
x = y = 0;
if (a == 'y'){
x += 5;
Console.WriteLine("The numbers are {0} and /t{1}", x, y);
}
}
}
public static void Main(){
int x, y;
char a = 'y';
x = y = 0;
if (a == 'y'){
x += 5;
Console.WriteLine("The numbers are {0} and /t{1}", x, y);
}
}
}
if语句后面用大括号扩起来。如果if语句后面有多个语句,并且这些语句应当作一个语句来看待,应将它们用大括号括起来
【if-else结构】
if(条件){
//条件成立时执行
}else{
//条件不成立时执行
}
//条件成立时执行
}else{
//条件不成立时执行
}
如果 if 表达式的值为 true ,将执行 if 语句(一个或一组)后的语句块
如果 if 表达式的值不为 true ,那么控制权将交给 else 表达式后面的语句
else 语句是可选的。 仅当 if 表达式的值为 false 时,才会执行 else 后的语句或语句序列
【示例】显示一个数是偶数还是奇数
如果 if 表达式的值不为 true ,那么控制权将交给 else 表达式后面的语句
else 语句是可选的。 仅当 if 表达式的值为 false 时,才会执行 else 后的语句或语句序列
【示例】显示一个数是偶数还是奇数
using System;
class Test {
public static void Main(){
int num , res ;
Console.WriteLine("Enter a number :");
num = Convert.ToInt32(Console.ReadLine());
res = num % 2;
if (res == 0)
Console.WriteLine("Then number is Even");
else
Console.WriteLine("The number is Odd ");
}
}
public static void Main(){
int num , res ;
Console.WriteLine("Enter a number :");
num = Convert.ToInt32(Console.ReadLine());
res = num % 2;
if (res == 0)
Console.WriteLine("Then number is Even");
else
Console.WriteLine("The number is Odd ");
}
}
【if、if-else结构】
在if或if-else结构中,条件表达式的返回值为 bool值(true、false)。
当条件表达式由多个表达式组成时常用逻辑运算符连接,注意运算符的优先级,可以用 ()来控制运行顺序。
在条件满足或不满足时如果执行多条语句(大于一条语句)时必须用 {}括起来。
在执行的语句中可以把包含其他的if、if-else结构,称为 嵌套if结构。
可以使用 表达式1 ? 表达式2 : 表达式3三元运算符来代替简单的if-else结果。
表达式1:条件表达式
表达式2:表达式1成立时执行的语句
表达式3:表达式1不成立时执行的语句
在if或if-else结构中,条件表达式的返回值为 bool值(true、false)。
当条件表达式由多个表达式组成时常用逻辑运算符连接,注意运算符的优先级,可以用 ()来控制运行顺序。
在条件满足或不满足时如果执行多条语句(大于一条语句)时必须用 {}括起来。
在执行的语句中可以把包含其他的if、if-else结构,称为 嵌套if结构。
可以使用 表达式1 ? 表达式2 : 表达式3三元运算符来代替简单的if-else结果。
表达式1:条件表达式
表达式2:表达式1成立时执行的语句
表达式3:表达式1不成立时执行的语句
【if-else-if结构】多路分支结构
多重选择是以else-if 来扩充if-else结构,提供了两个语句外的选择
if (表达式)
【示例】
多重选择是以else-if 来扩充if-else结构,提供了两个语句外的选择
if (表达式)
语句;
else if (表达式)
语句;
else if (表达式)
语句;
…
else
语句;
if-else-if 语句也称为 if-else-if 台阶或if-else-if 阶梯,条件的计算是自顶向下的
else if (表达式)
语句;
else if (表达式)
语句;
…
else
语句;
【示例】
using System;
class Test {
public static void Main(){
int x;
x = 0;
Console.WriteLine("Enter Choice (1 - 3) :");
x = Convert.ToInt32(Console.ReadLine());
if (x == 1)
Console.WriteLine("/nChoice is 1");
else if ( x == 2)
Console.WriteLine("/nChoice is 2");
else if ( x == 3)
Console.WriteLine("/nChoice is 3");
else
Console.WriteLine("/nInvalid Choice ");
}
}
在if或else后的语句不止一个,应用大括号{}将他们组织起来。这样的组会称为“复合语句”或“一个块”
public static void Main(){
int x;
x = 0;
Console.WriteLine("Enter Choice (1 - 3) :");
x = Convert.ToInt32(Console.ReadLine());
if (x == 1)
Console.WriteLine("/nChoice is 1");
else if ( x == 2)
Console.WriteLine("/nChoice is 2");
else if ( x == 3)
Console.WriteLine("/nChoice is 3");
else
Console.WriteLine("/nInvalid Choice ");
}
}
【嵌套if语句】
嵌套的if语句就是在if或else语句中包含另一个if语句。在Csharp语言中,else语句通常与同一块中距离它最近且未与else关联的if语句相匹配。
if(表达式-1){
嵌套if执行
【示例】
嵌套的if语句就是在if或else语句中包含另一个if语句。在Csharp语言中,else语句通常与同一块中距离它最近且未与else关联的if语句相匹配。
if(表达式-1){
if (表达式-2)
语句-1;
if (表达式-3)
语句-2;
else
语句-3; /*与if(表达式-3)相匹配
}else
语句-4; /*与if (表达式-1)相匹配
语句-1;
if (表达式-3)
语句-2;
else
语句-3; /*与if(表达式-3)相匹配
}else
语句-4; /*与if (表达式-1)相匹配
嵌套if执行
【示例】
using System;
class Test {
public static void Main(){
int x, y;
x = y = 0;
Console.WriteLine("Enter Choice (1 - 3) :");
x = Convert.ToInt32(Console.ReadLine());
if (x == 1){
Console.WriteLine("/nEnter value for y (1 - 5) :");
y = Convert.ToInt32(Console.ReadLine());
if (y <= 5)
Console.WriteLine("/nThe value for y is : %d", y);
else
Console.WriteLine("/nThe value of y exceeds 5");
}else
Console.WriteLine("/nChoice entered was not 1");
}
}
public static void Main(){
int x, y;
x = y = 0;
Console.WriteLine("Enter Choice (1 - 3) :");
x = Convert.ToInt32(Console.ReadLine());
if (x == 1){
Console.WriteLine("/nEnter value for y (1 - 5) :");
y = Convert.ToInt32(Console.ReadLine());
if (y <= 5)
Console.WriteLine("/nThe value for y is : %d", y);
else
Console.WriteLine("/nThe value of y exceeds 5");
}else
Console.WriteLine("/nChoice entered was not 1");
}
}
【switch语句】
switch 语句是一种多路判定语句,它判断表达式的值是否与整数或字符常量列表中的某个值相匹配。若找到了相应的匹配,就会执行与常量关联的语句。
switch(int / char / string表达式){
执行顺序
示例
如果表达式与其中的一个case标记匹配,switch语句是很有用的。switch语句不能用来判断一个值是否在指定的范围内, 这种情况下还是使用if-else 语句
switch 语句是一种多路判定语句,它判断表达式的值是否与整数或字符常量列表中的某个值相匹配。若找到了相应的匹配,就会执行与常量关联的语句。
switch(int / char / string表达式){
case 常量1:
语句集
break; //必须有
case 常量2:
语句集
break; //必须有
……
default:
语句集
break; //必须有
}
switch、case、break和default都是关键字,语句可以是简单或复合语句。switch后的表达式需要用圆括号括起来,而且switch语句的主题用{ }括起来。计算表达式的数据类型要与指定的case常量的数据类型匹配。表达式不包含任何变量名,可以是常量。
语句集
break; //必须有
case 常量2:
语句集
break; //必须有
……
default:
语句集
break; //必须有
}
执行顺序
示例
using System;
class Test {
public static void Main(){
int basic;
Console.WriteLine("/n please enter your basic:");
basic = Convert.ToInt32(Console.ReadLine());
switch(basic){
case 200:
Console.WriteLine("/n Bonus is dollar {0}/n", 50);
break;
case 300:
Console.WriteLine("/n Bonus is dollar {0}/n", 125);
break;
case 400:
Console.WriteLine("/n Bonus is dollar {0}/n", 140);
break;
case 500:
Console.WriteLine("/n Bonus is dollar {0}/n", 175);
break;
default:
Console.WriteLine("/n Invalid entry");
break;
}
}
}
public static void Main(){
int basic;
Console.WriteLine("/n please enter your basic:");
basic = Convert.ToInt32(Console.ReadLine());
switch(basic){
case 200:
Console.WriteLine("/n Bonus is dollar {0}/n", 50);
break;
case 300:
Console.WriteLine("/n Bonus is dollar {0}/n", 125);
break;
case 400:
Console.WriteLine("/n Bonus is dollar {0}/n", 140);
break;
case 500:
Console.WriteLine("/n Bonus is dollar {0}/n", 175);
break;
default:
Console.WriteLine("/n Invalid entry");
break;
}
}
}
如果表达式与其中的一个case标记匹配,switch语句是很有用的。switch语句不能用来判断一个值是否在指定的范围内, 这种情况下还是使用if-else 语句
- if结构
- switch结构