前面我们介绍了简单的条件逻辑运算符,现在我们来看一下另外一种条件判断 ———— if.
在前面的判断一个数是否在 0 到 5 之间,我们通过 “between0And5” 的输出是否为 TRUE 来判断这个数是否在 0 到 5 之间。我们可以使用 if 改写这个程序,让程序之间输出这个数是否在 0 到 5 之间:
using System;
namespace Operator3
{
class Program
{
static void Main(string[] args)
{
int myNum;
Console.WriteLine("Please type a number:");
myNum = Convert.ToInt32(Console.ReadLine());
if ((0 <= myNum) && (myNum <= 5))
Console.WriteLine("The number is between 0 and 5");
}
}
}
运算结果:
但如果我输入的数不是一个 0 到 5 之间的数,会怎么样:
没有任何返回结果,为了防止出现这种情况,我们还需要加一个分支:
using System;
namespace Operator3
{
class Program
{
static void Main(string[] args)
{
int myNum;
Console.WriteLine("Please type a number:");
myNum = Convert.ToInt32(Console.ReadLine());
if ((0 <= myNum) && (myNum <= 5))
Console.WriteLine("The number is between 0 and 5");
else
Console.WriteLine("The number isn't between 0 and 5");
}
}
}
再次运行这个程序,现在输入一个不在 0 到 5之间的数:
上面的示例表现了两个分支的情况,但在某些情况下,我们需要的不止两个分支,需要三个,甚至更多:
using System;
namespace Operator3
{
class Program
{
static void Main(string[] args)
{
int myNum;
Console.WriteLine("1. This is Active Directory.");
Console.WriteLine("2. This is Hyper-v.");
Console.WriteLine("3. This is DHCP.");
Console.WriteLine("4. This is DNS.");
Console.WriteLine( "");
Console.WriteLine("Select a service you want to maintenance");
myNum = Convert.ToInt32(Console.ReadLine());
if (myNum == 1)
Console.WriteLine("The service you want to maintenance is Active Directory.");
else if (myNum == 2)
Console.WriteLine("The service you want to maintenance is Hyper-v.");
else if (myNum == 3)
Console.WriteLine("The service you want to maintenance is DHCP.");
else if (myNum == 4)
Console.WriteLine("The service you want to maintenance is DNS.");
else
Console.WriteLine("input error.");
}
}
}
运行结果:
对于上面的示例,我们还可以通过 switch 的方式来写:
using System;
namespace Operator3
{
class Program
{
static void Main(string[] args)
{
int myNum;
Console.WriteLine("1. This is Active Directory.");
Console.WriteLine("2. This is Hyper-v.");
Console.WriteLine("3. This is DHCP.");
Console.WriteLine("4. This is DNS.");
Console.WriteLine( "");
Console.WriteLine("Select a service you want to maintenance");
myNum = Convert.ToInt32(Console.ReadLine());
switch ( myNum )
{
case 1:
Console.WriteLine("The service you want to maintenance is Active Directory.");
break;
case 2:
Console.WriteLine("The service you want to maintenance is Hyper-v.");
break;
case 3:
Console.WriteLine("The service you want to maintenance is DHCP.");
break;
case 4:
Console.WriteLine("The service you want to maintenance is DNS.");
break;
default:
Console.WriteLine("input error.");
break;
}
}
}
}
运算结果:
小贴士:
在 switch 语句中,没个分支中的 break 是必须的,不然会挨个执行所有分支,有兴趣的可以自己尝试一下,删除 break,然后执行程序。关于 break 的更多内容,我们会在后面讲循环时讲到。
经过了一个月的尝试,我们大致上已经掌握了能够自己实现非常基础的 Ruby VM 的能力。虽然在铁人赛...
5.亮度 常见使用夜间模式的一个原因,也不是因为健康与否,只是因为觉得白底有点太亮了 确实亮度也一直...
TP-LINK ARCHER C60及TL-WR841N有线接WAN的AP模式和有线桥接差在那? 主...
前言 铁人赛进入第十八天,今天原本是要开始讲网页前端的部分 没想到碰到自己挖的坑...所以这篇变成踩...
今天要来介绍这个主题最後一个单元了,废话不多说就直接进入正题吧! 抽象(Abstract)类别与方法...