须以\结束。当所有的\或者\if\后面的布尔表达式的值都为false时,就执行关键字\后面的块。 对于if/else if/else格式的语句,每次仅仅执行一个其中部分的语句 。
6.上面的例子中,布尔表达式 (myInt < 0 || myInt == 0)包含了条件OR (||)运算符。
对于常规OR (|)运算符和条件OR (||)运算符来说,只要有运算符两边的子表达式之一为真,整个布尔表达式的值就为真。两个运算符的区别在于:正规OR 运算符(|)每次都对运算符(|)两边的表达式进行计算。而条件运算符OR (||)只有当第一个子表达式的值为false时,才计算第二个子表达式的值。
7.布尔表达式 (myInt > 0 && myInt <= 10)包含了条件运算符AND。
对于常规AND (&) 运算符和条件AND (&&)运算符来说,只有当运算符两边的子表达式的值都为真时,整个布尔表达式的值为真。两种运算符的区别在于:正规AND (&)运算符每次都计算运算符两边的子表达式的值,但是对于条件AND
运算符来说,只有当第一个子表达式的值为真时,才计算第二个表达式的值。条件运算符(&& 和 ||) 通常称为运算优化的运算符,因为有时不需要计算整个表达式的值。这样就可以忽略掉不必要的逻辑表达式的计算,可以生成有效的代码。
同if/else if/else 格式的\语句类似,\语句的用法如下:
2.清单3-2. 分支选择语句: SwitchSelection.cs using System; class SwitchSelect { public static void Main() { string myInput; int myInt; begin: Console.Write(\enter a number between 1 and 3: \myInput = Console.ReadLine(); myInt = Int32.Parse(myInput); // switch with integer type switch (myInt) { case 1: Console.WriteLine(\break; case 2: Console.WriteLine(\break; case 3: Console.WriteLine(\break; default: Console.WriteLine(\3.\} decide: Console.Write(\\\\to go on or \\\to stop: \myInput = Console.ReadLine(); // switch with string type switch (myInput) { case \goto begin; case \Console.WriteLine(\break; default: Console.WriteLine(\myInput); goto decide; } } } 说明
1.清单3-2 演示了多分支选择语句switch的用法。
关键字\后面是switch 表达式。Switch表达式必须是以下类型中的一种: sbyte,byte,short,ushort, int,uint,long,ulong,char,string,或者enum类型。(enum类型将在后面的课程中加以介绍)。在清单3-2的第一个\语句中, switch 表达式计算的是整数类型的数据。
2.在switch表达式后面是个switch 块, 当Switch表达式的值同某一个case后面的常量表达式的值相匹配时,就执行此case后面的语句,直到遇到\语句或者\语句为止。每个分支以关键字\作为标号,其后为常量表达式,然后是分号(:)。本例子程序中,我们有\:\,\:\和\:\。
3.你可以在所有的分支选择的后面加上一个\分支。
如果没有匹配的常量表达式,就进入default分支,并执行该分支的语句。虽然default标号是可选的,我建议你加上该分支。这将有助于处理一些意外事件 ,使得你的程序能够捕捉和处理不可预见的事件,从而使得程序更加可靠。
4.每个\标号必须以\语句作为结束。
\语句将使得程序退出switch语句,并从switch块后面的一条语句开始执行。对于\标号来说,\语句是可选的,因为有\语句和没有\语句,其运行结果是一样的。如果你在switch块中放置了一个\语句,情况就不一样了。