关系运算符,主要是为了判断两个操作值之间的关系。所以关系运算符大多数出现在if语句块中,或者包含判断逻辑的语句块,如for循环、while循环。
关系运算符最终结果只包含"真"(true) 或 "非真"(false)
关系运算符
"==",在C#中,一个等号是赋值,两个等号是用来判断符号两侧的值是否相等。如
if(1==2)
{
//if语句块中的内容
}
上述if语句,就是用来判断1和2是否相等,如果相等,则会执行if语句中的内容。显然是不相等的,所以if语句块不会被执行。
"!=",感叹号在关系运算符中,有取反和非的意思。当感叹号和等号组合时,可以理解为不等于判断。如
if(1 != 2)
{
//if语句块
}
上述示例,就是判断1是否不等于2,显然是不等于,那么条件成立返回Ture,则会执行if语句块。
">"大于符号,这个和在数学运用中一样,用来判断前者是否大于后者。
if(1 > 2)
{
//if语句块
}
显然,1不大于2,等式不成立,返回false。if语句块中的内容不会被执行。
"<"小于符号,和大于号相反的判断。用来判断前者是否小于后者。
if(1 < 2)
{
//if语句块
}
显然,1是小于2的,条件等式成立,返回true,if语句块中的内容会执行。
">="大于等于,大于号和等号组合,关系运算就变成了判断是否大于或等于了。
if(6 >= 6)
{
//if语句块
}
6虽然不大于6,但是6等于6。所以条件等式成立,返回ture。
"<="小于等于,和大于等于相反。
if(6 <= 6)
{
//if语句块
}
6虽然不小于6,但是6等于6。所以条件等式成立,返回ture。
关系运算符,一般用来判断数值类型,或者字符串类型。不会直接用于C#中类的比较,类的比较有其他的方式。
逻辑运算符
逻辑运算符,只有三个,很简单。
"&&",&这个符号是拉丁语,念的时候,发英文"and"的读音。表达的就是和的意思。因为我们中文表达的方式比较多,所以"&&"我们即可以表达"和",也可以叫做"且",并且的意思,还可以叫做"与"。这些词汇都有一个特点,就是往往代表着至少两个事物,"和"就是A和B,"且"就是A并且B,"与"就是A与B。
这个符号在横排数字键盘的7上面,需要按住键盘"Shift",再按数字7即可。"&&"使用时,必须两个同时出现且写在一起,中间没有空格。
编程中,我们使用"&&"来连接两组关系运算符。如:
int age = 21;
if(age > 18 && age < 30)
{
//青年人
}
上述例子,我定义了一个年龄变量age。然后判断age必须大于18且小于30。注意,这个例子同时使用了关系运算符(">"、"<")和逻辑运算符("&&"),此时程序会优先计算关系运符,然后再计算逻辑运算符。我们把逻辑运算符左侧的条件称呼为条件1,右侧的称呼为条件2。则程序在运行时,如果条件1不满足,则程序不会去验证条件2,因为这里的逻辑关系是"且"的关系,那么必须同时满足,如果条件1没有满足,自然不需要验证条件2了。
"||","或"运算符。我们在中文表达中会使用 "A | B"来表达二者选其一的意思,C#中,需要使用两个"|"来表达"或"的关系。若"||"的两边分别为条件1和条件2,则在程序中只需要满足其一即可。
这个符号在回车键的上面一个按键,也是需要在英文输入法下,按住"Shift"键,然后再按"|"对应的按键才可以录入。
编程中,我们使用"||"来连接两组关系运算符。如:
int gender = 1;//性别,1代表男,0代表女
int age = 18;//年龄
if(gender == 1 || age > 18)
{
//青年人
}
上述例子中,年龄18显然是等于18的,不是大于18的,所以条件2不满足,但是条件1是满足的,所以if语句的条件等式是成立的,还是会执行if语句块中的内容。"||"运算符,在程序中,如果条件1满足,条件2程序是不会去验证的,因为二者满足其一即可。
"!",感叹号在程序中用来"取反"。也表达"非"的意思。条件表达式中通常只有"true"真和"false"假两种。如果在其之间加上了感叹号,则最终结果会"取反"。
if(!(9>3))
{
//
}
上述代码中,9>3这个关系运算时,会返回true,然后我使用"()"号把他们包裹了起来, 并且在其之前加上了"!"号,他们该等式的最终结果会变成false。则语句块中的内容不会执行。
感叹号无法单独和数字进行组合,他只能对bool类型的结果(true和false)进行取反操作,所以需要使用一个小括号把9>3包裹起来,这个和数学公式是一样的,当有括号时,先计算括号里面的,在计算括号外面的。