关系运算符
> < = >= <= == !=
- 主要用于比较运算,比较的结果只有真假两种情况,结果值用bool类型变量存储
- 注意:判断两个数是否相等,用 == (双等号)
- 不能用0代表flasetrue,非0代表true
例:
public static void Main (string []args)
{
int a = 3;
int b = 5;
bool result = ( a >= b );
Console.WriteLine(result);//这里控制台输出 flase
a = 5;
result = ( a == b);//注意这里的双等号
Console.WriteLine(result);//这里控制台输出 true
}
逻辑运算符
&& 逻辑 与 (个人理解:并且)
逻辑与:当逻辑与运算两边的值都true的值,整个逻辑与表达式的值才为true,一假既假
例:
int num1 = 9 ,num2 = 7 ,num3 = 6;
//个人代码理解:num1 大于num2 并且 num1 大于num3
//两个条件都成立就返回true(真)
bool b = num1 > num2 && num1 > num3;
Console.WriteLine(b);//输出结果 true
|| 逻辑 或 (个人理解:或者)
逻辑或:当逻辑或运算符两边的值都是false的时候,整个逻辑或表达式的值才是false,否者结果为true,一真既真
例:
int num1 = 9 ,num2 = 7 ,num3 = 6;
//个人代码理解: num1 大于num2 或者 num2 大于 num3
//两个条件满足其中一项,或者都满足时,返回true(真),否则返回flase(假)
b = num1 > num2 || num2 > num3;
Console.WriteLine(b);//返输出结果true
! 逻辑 非 (个人理解:取反)
逻辑非:将表达式结果取反
例:
int num1 = 9 ,num2 = 7 ,num3 = 6;
b = num1 > num2 || num2 > num3;
Console.WriteLine(!b);//返输出结果flase
注意事项
- 注意逻辑 与 和 逻辑 或 的短现象
- &&----一假既假
- ||----一真既真
if语句
-
用 if 语句可以构成分支结构,它根据给的条件进行判定,以决定执行某个分支程序段。
-
C# 语言的 if 语句有三种基本形式。
if语句第一种形式
if (条件表达式)
{
语句1;
}
当条件表达式为真,执行语句1,否则,跳过语句1,继续执行下面的语句
=======================================================================
例:
int a = 10, b = 5;
if (a>b)
{
Console.WriteLine("a大于b");
}
if (a<b)
{
Console.WriteLine("a小于b");
}
执行结果 a大于b 因为 下面条件不满足 所以就没有执行
注意事项
if (条件表达式) {
语句1;
}
如果语句1只有一个语句的话,可以不要{},按习惯也加{}。 如果有两句以上,则必须要{}括起来;
注意上述代码表达式括号后面跟了’;',导致if语句为空语句,大括号内的语句跟if语句没有关系,无论条件真假都会执行语句1.
if语句第二种形式
if (条件表达式) {
语句1;
}else{
语句2;
}
当条件表达式为真时执行语句1,否则执行语句2。
======================================================
例:
int a = 2 , b = 7;
if (a > b)
{
Console.WriteLine("a大于b");
}else{
Console.WriteLine("a小于b");
}
执行结果 a小于b ,由于 a>b 的条件不成立所以就执行 else 语句
if语句第三种形式
- 语法形式(级联式)
if(条件表达式1){
语句1;
} else if(条件表达式2){
语句2;
} else {
语句3;
}
如果条件表达式1为真,执行语句1,如果条件表达式1为假,条件表达式2为真,执行语句2,如果条件表达式1与条件表达式2都为假,执行语句3;
===================================================================
例:
Console.WriteLine("请输入性别,男生请输入1,女生请输入0");
//获取一个字符 使用Console.Read() 来获取,使用一个int类型的变量名sex 来接收
int sex = Console.Read();
if (sex == 1)
{
Console.WriteLine("男生");
}
else if (sex == 0)
{
Console.WritrLine("女生");
}else{
Console.WriteLine("人妖");
}
执行结果(输入1 会输出 男生;输入0 会输出 女生;输入其他的会输出 人妖)
条件运算符
-
条件表达式?表达式 1 :表达式 2
-
如果条件表达式为真,整个表达式的值为表达式 1 的值
-
如果条件表达式为假,整个表达式的值为表达式 2 的值
-
例如: int c = a > b ? a : b;
public static void Main (string[] args)
{
int a = 3;
int b = 5;
int max = a > b ? a : b;
//上面的条件运算符语句其实就是下面条件语句的简写形式
if (a > b)
{
max = a;
} else {
max = b;
}
Console.WriteLine (max);//输出:5
}
switch语句
switch语法
switch(表达式){
case 值1:{语句1; break;}
case 值2:{语句2; break;}
...
case 值3:{语句n; break;}
default:{语句n + 1;break;}
}
=======================================================
例:
Console.WriteLine("请输入一数字来表示周几");
int i = Console.Read();
switch (i)
{
case '1':
Console.WriteLine("上课");
break;
case '2':
Console.WriteLine("还上课");
break;
case '3':
Console.WriteLine("继续上课");
break;
case '4':
Console.WriteLine("快放假了");
break;
case '5':
Console.WriteLine("快要休息了");
break;
case '6':
Console.WriteLine("自习");
break;
case '7':
Console.WriteLine("玩耍");
break;
}
-
多分支语句,通过判断表达式的值,来决定执行哪个分支。
-
switch 通常与 case 配合使用。
-
switch--- -开关
-
case ---- 情况
break
- break用在switch...case中用于结束某个case,然后执行switch之外的语句。
switch与if-else
- switch语句和if-else级联式比较,switch语句往往比级联式更容易阅读,更直观。
- switch—开关,case—情况,开关决定发生的情况
注意事项
- 整个default语句都可以舍掉,default语句只能有一个;
- switch(表达式)里面的表达式类型不能是浮点类型;
- case后边的标签只能是常量或者常量表达式,要有一个具体的值,不能用变量作为case的标签;
- case后面只要有语句,一定要加break,否则语法错误;
- 多个case可以运行一个语句块;
- case的位置可以是任意的;
总结
- if以及switch是实际开发最最常用的语法。
- if语句的 表达式通常是 关系表达式或者逻辑表达式。
- switch..case语句通常会有 break结束case语句的执行。