15.运算符-条件运算符
15.1 知识点
条件运算符的基本应用
比较运算符
条件运算符用于比较两个变量或常量,主要包括以下比较运算符:
- 大于(
>
) - 小于(
<
) - 等于(
==
) - 不等于(
!=
) - 大于等于(
>=
) - 小于等于(
<=
)
示例:
int a = 5;
int b = 10;
bool result;
result = a < b; // true
result = a >= b; // false
result = a <= b; // true
result = a == b; // false
result = a != b; // true
各种应用写法
条件运算符可以应用在不同的情况,包括变量和变量比较、变量和数值比较、数值和数值比较以及计算结果的比较。
示例:
int a = 5;
int b = 10;
bool result;
// 变量和变量比较
result = a < b; // true
// 变量和数值(常量)比较
result = a < 10; // true
result = b > 5; // true
// 数值和数值比较
result = 5 > 3; // true
result = 5 == 3; // false
result = 5 != 3; // true
// 计算结果比较
result = a + 3 > a - 2 + 3; // true
result = 3 + 3 < 5 - 1; // false
范围比较
在C#中,不能直接使用条件运算符进行范围比较,需要结合逻辑运算符来实现。
示例:
int a = 5;
// 错误的写法,不能直接进行范围比较
// result = 1 < a < 6;
// 正确的写法,结合逻辑运算符
result = 1 < a && a < 6;
不同类型之间的比较
不同数值类型之间可以随意进行条件运算符比较,但特殊类型(char
、string
、bool
)只能同类型进行==
和!=
比较。
示例:
int intV = 5;
float floatV = 1.2f;
double doubleV = 12.4;
short shortV = 2;
byte byteV = 20;
uint uintV = 222;
result = intV > floatV;
result = floatV < doubleV;
result = intV > byteV;
result = floatV > uintV;
result = uintV > doubleV;
string stringV = "123";
char charV = 'A';
bool boolV = true;
result = stringV == "234"; // false
result = stringV == "123"; // true
result = stringV != "123"; // false
result = charV == 'B'; // false
result = charV > 123; // false
result = charV > 'B'; // false
result = boolV == true; // true
15.2 知识点代码
using System;
namespace Lesson12_条件运算符
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("条件运算符");
#region 知识点一 条件运算符
// 用于比较两个变量或常量
// 是否大于 >
// 是否小于 <
// 是否等于 ==
// 是否不等于 !=
// 是否大于等于 >=
// 是否小于等于 <=
// 条件运算符 一定存在左右两边的内容
// 左边内容 条件运算符 右边内容
int a = 5;
int b = 10;
//a > b;//这就是一个条件运算符 但是直接这样写会报错且没有意义
//条件运算符 不能直接这样使用
//纯比较不用结果 那么对于我们来说 没有任何的意义
bool result = a > b;
// 比较的结果 返回的是 一个 bool 类型的值
// 可以把比较的结果用一个bool变量存起来
// true和false 如果比较的条件满足 那就返回true 不满足 就返回false
// 先算右边 再赋值给左边
Console.WriteLine(result);// false
result = a < b;
Console.WriteLine(result);// true
result = a >= b;
Console.WriteLine(result);// false
result = a <= b;
Console.WriteLine(result);// true
result = a == b;
Console.WriteLine(result);// false
result = a != b;
Console.WriteLine(result);// true
#endregion
#region 知识点二 各种应用写法
//变量和变量比较
a = 5;
b = 10;
result = a < b;// true
//变量和数值(常量)比较
result = a < 10;// true
result = b > 5;// true
//数值和数值比较
result = 5 > 3;//true
result = 5 == 3; // false
result = 5 != 3; // true;
//计算结果比较
//条件运算符的 优先级 低于算术运算符
// 8 > 6
// 先计算 再比较
result = a + 3 > a - 2 + 3;// true
result = 3 + 3 < 5 - 1;//false
//条件运算符的比较语法
//左边 条件运算符 右边
#endregion
#region 知识点三 不能进行范围比较
a = 5;
//判断是否在某两个值之间
// 1 < a < 6
//在C#都不能这样写 这样写会报错
//result = 1 < a < 6;
//要判断 一个变量是否在两个数之间 要结合 逻辑运算符的知识点
#endregion
#region 知识点四 不同类型之间的比较
//数值类型 不同数值类型之间 可以随意进行条件运算符比较
int intV = 5;
float floatV = 1.2f;
double doubleV = 12.4;
short shortV = 2;
byte byteV = 20;
uint uintV = 222;
//只要是数值 就能够进行条件运算符比较 比较大于小于等于等等
result = intV > floatV;
result = floatV < doubleV;
result = intV > byteV;
result = floatV > uintV;
result = uintV > doubleV;
//特殊类型 char string bool 只能同类型进行 == 和 != 比较
string stringV = "123";
char charV = 'A';
bool boolV = true;
result = stringV == "234";//false
result = stringV == "123";//true
result = stringV != "123";//false
//char类型变量不仅可以和自己类型进行 == != 还可以和数值类型进行比较
//还可以和 字符类型进行大小比较
//因为char变量可隐式转换成int类型 就比如'A'对应的ASCII码65再进行比较
result = charV == 'B';//false
result = charV > 123;//false
result = charV > 'B';//false
result = boolV == true;//true;
#endregion
}
}
}
15.3 练习题
请口答下列表达式的结果
// 我的年龄(18) > 你们的年龄(22) // false
// 兔子的速度(3m/s) < 乌龟的速度(0.3m/s) // false
// 狗的重量(50kg) < 兔子的重量(5kg) // false
// 我身上的Money(10元) == 你身上也有Money(10元) // true
Console.WriteLine(18 > 22); // false
Console.WriteLine(3.0 < 0.3); // false
Console.WriteLine(50 < 5); // false
Console.WriteLine(10 == 10); // true
打印结果是什么?
bool b = true;
Console.WriteLine(b != true); // false
Console.WriteLine(10 == 10); // true
Console.WriteLine(10 > 20); // false
Console.WriteLine(10 <= 20); // true
Console.WriteLine(10 <= 10); // true
请问打印结果是什么?
bool gameOver, startGame; // 是可以不初始化
int a = 10, b = 15;
gameOver = a > (b - 5); // false
startGame = gameOver == (b > (a + 5)); // true
Console.WriteLine("startGame = " + startGame); // startGame = True
15.4 练习题代码
using System;
namespace Lesson12_练习题
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("条件运算符练习题");
#region 练习题一
//请口答下列表达式的结果
//我的年龄(18) > 你们的年龄(22) // false
//兔子的速度(3m / s) < 乌龟的速度(0.3m / s) //false
//狗的重量(50kg) < 兔子的重量(5kg) //false
//我身上的Money(10元) == 你身上也有Money(10元) //true
#endregion
#region 练习题二
//求打印结果是什么?
//bool b = true;
//Console.WriteLine(b != true); //false
//Console.WriteLine(10 == 10); // true
//Console.WriteLine(10 > 20); // false
//Console.WriteLine(10 <= 20); // true
//Console.WriteLine(10 <= 10); // true
#endregion
#region 练习题三
//请问打印结果是什么?
bool gameOver, startGame; //是可以不初始化
int a = 10, b = 15;
// 10 > 10 false
gameOver = a > (b - 5); //false
//15 > 10 + 5 false
// false == false
startGame = gameOver == (b > (a + 5));// true
Console.WriteLine("startGame = " + startGame);//startGame = True
#endregion
}
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com