---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
if结构
if (条件true/false)
单一语句;// 条件为true时,只执行这一句,后面如果还有语句,与if结构无关
即使只有单一语句需要执行,也建议加{}
if (条件true/false)
{
语句块...// 条件为true时,执行{}内所有语句,{}后面的语句,与if结构无关
}
if (条件true/false)
{
语句块...// 条件为true时,执行if{}内所有语句,else{}的语句不执行
}
else
{
语句块...// 条件为false时,不执行if{}内语句,执行else{}中的语句
}
关于条件语句
int a = 30;
//if (10 < a < 50) //错误 运算符“<”无法应用于“bool”和“int”类型的操作数
if (10 < a && a < 50)
{
Console.WriteLine("a的值在10和50之间");
}
Console.ReadKey();
if (条件1 true/false)
{
语句块...// 条件1为true时,执行if{}内所有语句,后面的语句不执行
}
else if (条件2 true/false)
{
语句块...// 条件1为false且条件2为true时,执行else if{}中的语句,不执行其它内语句
}
else
{
语句块...// 条件1和2都为false时,执行else{}中的语句,不执行其它内语句
}
switch-case语句
Console.WriteLine("请输入ABCDE:");
string input = Console.ReadLine();
//char input = Console.ReadLine();//错误 无法将类型“string”隐式转换为“char”
switch (input)
{
case "A":
Console.WriteLine("输入了A");
break;
case "B":
Console.WriteLine("输入了B");
break;
case "C":
Console.WriteLine("输入了C");
break;
case "D":
Console.WriteLine("输入了D");
break;
case "E":
Console.WriteLine("输入了E");
break;
default:
Console.WriteLine("输入有误,只能输入ABCDE");
break;
}
Console.ReadKey();
switch-case 与 if-else if 的区别:
相同点:都可以实现多分支结构;
不同点:switch-case 只能用于等值比较,if-else if 可以处理范围
//输入年和月,输出当月天数
Console.WriteLine("请输入年份:");
int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入月份:");
int month = Convert.ToInt32(Console.ReadLine());
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 9:
case 11:
Console.WriteLine("31天");
break;
case 2:
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
//是闰年
Console.WriteLine("29天");
}
else
{
Console.WriteLine("28天");
}
break;
default:
Console.WriteLine("30天");
break;
}
Console.ReadKey();
while循环
int i = 0;//定义循环变量
while (i < 5)//循环条件、循环次数
{
Console.WriteLine("重复做的事情");
i++;//改变循环变量的值,千万不要忘记写
}
do-while循环
int i = 0;
do
{
Console.WriteLine("循环{0}次",i+1);
i++;
} while (i<5); //当while条件值为true时,继续循环,直到其值为 false 值。
当while条件值为true时,继续循环, 直到其值为 false 时中止循环。
while循环 先判断,再循环。 先判断是否需要循环
do-while 先循环,再判断。 先执行一次后判断是否需要继续循环
for循环 明确知道需要循环,for循环都可以改成while循环形式
int a = 0, max = 0;
string s;
do
{
Console.WriteLine("请输入一个数:");
s = Console.ReadLine();
if (s == "end")
{
continue;
}
try
{
a = Convert.ToInt32(s);//假定不会输入数字和end以外的字符
//Console.WriteLine("in try");
}
catch
{
Console.WriteLine("只能输入数字或end");
//Console.WriteLine("in catch");
continue;
}
max = (max > a) ? max : a;
} while (s != "end");
Console.WriteLine("输入的最大数是"+max);
for循环与while循环对比:
int length = 10;
int i = 0;
while (i < length)
{
Console.WriteLine("while循环");
i++;
}
for (int j = 0; j < length; j++)
{
Console.WriteLine("for循环");
}
Console.ReadKey();
循环的嵌套
Console.WriteLine("九九乘法表");
for (int i = 1; i < 10; i++)
{
for (int j = 1; j <= i ; j++)// j<=i 保证每一行输出到相同数字相乘时就停止
{
//Console.Write(i+"*"+j+"="+i*j+"\t");
Console.Write("{0}*{1}={2}\t",i,j,i*j);//用Write()避免每个算式后都换行,插入Tab分隔算式
}
Console.WriteLine("");//一行Write()完,输出一个换行
}
Console.ReadKey();
跳转语句
break; 用于终止最近的封闭循环或它所在的 switch 语句,继续运行终止语句后面的语句(如果有的话)。
for (int i = 1; i <= 100; i++)
{
if (i == 5)
{
break; //当i==5成立时,循环中止并跳出,不会继续进行下次循环,i值不会再自增。
}
Console.WriteLine(i);
}
for (int x = 0; x < 10; x++) // 外层循环
{
Console.WriteLine("num = {0}", x);
for (int y = 0; y < 5; y++) // 内层循环
{
if (y == x)
{
break; // 中止并跳出内层循环,继续执行外层循环
}
Console.Write(" {0} ", y);
}
Console.WriteLine();
}
Console.ReadKey();
在switch-case中为固有语句。
continue;将控制权传递给它所在的封闭迭代语句的下一次迭代。
for (int i = 1; i <= 10; i++)
{
if (i < 9)
{
continue; //当i<9时,continue中止本次循环,跳过 continue 和 for 循环体末尾之间的语句,直接转到i++进入下一次循环。
}
Console.WriteLine(i);
}
goto; 不推荐使用,一般用于跳转到switch-case特定标签,或用于跳出深层嵌套
int cost = 0;
switch (n)
{
case 1:
cost += 25;
break;
case 2:
cost += 25;
goto case 1;
case 3:
cost += 50;
goto case 1;
default:
Console.WriteLine("Invalid selection.");
break;
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
if (array[i, j].Equals(myNumber))
{
goto Found;
}
}
}
Console.WriteLine("The number {0} was not found.", myNumber);
goto Finish;
Found:
Console.WriteLine("The number {0} is found.", myNumber);
Finish:
Console.WriteLine("End of search.");
三元运算符 ? :
(式1) ? (式2) : (式3)
(式1)为条件判断语句,值为bool值true或false,当值为true,整个表达式取(式2)的值,否则取(式3)的值。
int a = 5, b = 8;
int c = a >= b ? a : b ;
Console.WriteLine(c);
Console.ReadKey();
流程控制
分支语句
if 、 if-else 、 if-else if 、 switch-case 、 ?:
循环语句
while 、 do-while 、 for
跳转语句
break 、 continue 、 goto
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net