上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
实例015 求三个数中的最大值——三元运算符
【实例描述】
本实例主要介绍三元运算符“?:”的使用方法。该实例从控制台输入三个整数,然后对该三个数进行比较,输出三个数中较大的数,效果如图2-15所示。
图2-15 输出三个数中较大的数
【实现过程】
(1)创建一个名为Max的控制台应用程序。
(2)从控制台输入三个整数,在 main 函数中添加代码如下:
Console.WriteLine("请输入第一个数:"); int Number1 = int.Parse(Console.ReadLine()); //从控制台输入第一个数 Console.WriteLine("请输入第二个数:"); int Number2 = int.Parse(Console.ReadLine()); //从控制台输入第二个数 Console.WriteLine("请输入第三个数:"); int Number3 = int.Parse(Console.ReadLine()); //从控制台输入第三个数
(3)对三个数相互比较求出最大的数。
int max = Number1 > Number3 ? Number1 > Number2 ? Number1 : Number2 : Number3; >Number2?Number3:Number2; Console.WriteLine("{0} {1} {2}中最大值为{3}", Number1, Number2, Number3, max);
【代码解析】
实例代码中,先从控制台输入三个整数,然后用三元运算符“?:”求出三个数中最大的数。三元运算符“?:”也可称为条件运算符,其语法如下:
条件表达式 ? 表达式一 : 表达式二
其中条件表达式返回一个布尔值,如果条件为true,则返回表达式一的结果,如果为false,则返回表达式二的结果。这里要注意的是,表达式一和表达式二返回值的类型必须一致;条件运算符是右结合的运算符,看如下表达式:
a > b ? a : b > c ? b : c
等价于
a > b ? a : (b > c ? b : c)
而不是:
(a > b ? a : b > c) ? b : c