C#语句_if语句

和自甴很熟 提交于 2020-01-25 21:57:11

C#关于if语句的定义

if 语句根据布尔表达式的值选择要执行的语句。

if-statement:
if ( boolean-expression ) embedded-statement
if ( boolean-expression ) embedded-statement else embedded-statement

else 部分与语法允许的、词法上最相近的上一个 if 语句相关联。因而,下列形式的 if 语句
if (x) if (y) F(); else G();
相当于

	if (x) {
		if (y) {
			F();
		}
		else {
			G();
		}
	}

从C#语言定义文档中我们可以看到,if语句拥有两种书写格式,一种是不带else的一种是带else的

不带else的if语句

if ( boolean-expression ) embedded-statement

语句分三部分

  1. if
    小写的if关键字
  2. ( boolean-expression )
    圆括号:并在这对圆括号里放入一个bool类型的表达式(bool类型表达式:就是如果你对这个值求值的话,得到的值是bool类型)
  3. embedded-statement
    嵌入式语句:
    注意事项不带elese的if语句这三个部分合起来是一条语句if ( boolean-expression ) embedded-statement,并且,在embedded-statement嵌入语句里,他可以嵌入一条语句(只能嵌入,嵌入语句不能嵌入其他语句,比如标签语句,或则声明语句),并且只能嵌入一条嵌入语句
    示例如下:
	if (true)Console.WriteLine("Hello");//圆括号后面只能嵌入一条嵌入语句.

如果需要在if里面实现复杂的逻辑怎么办呢?
这个时候就可以使用块语句{}包裹,用于实现if后面紧跟的逻辑
示例如下:

if (true) { Console.WriteLine("Hello"); Console.WriteLine("德玛西亚"); Console.WriteLine("艾欧尼亚"); }

带else的if语句

if ( boolean-expression ) embedded-statement else embedded-statement

首先任然是是if关键字,关键字后面跟着一对圆括号(括号里面跟着bool类型的表达式)后面接一条嵌入式语句,在这条嵌入式语句后面呢,需要跟上一个else而else关键字后面呢,需要再跟一条嵌入式语句
当if后面的括号里面的bool类型表达式得到的值是false时,便运行else后面的嵌入式语句,
示例如下

 if (false) Console.WriteLine("这是true的结果");else Console.WriteLine("这是else的结果");

很显然输出为
在这里插入图片描述因为块语句也是嵌入式语句所以可以在块语句里面放if语句来实现更加复杂的逻辑
示例如下
需求将一个班中80分以上的分一个阶段,60到79的分一个阶段,30到59的分一个阶段

	int? scores = 80;
	 if (scores!=null&&scores<=100&&scores>=0)
	 {
	     Console.WriteLine("错误");
	 }
	 else
	 {
	     if (scores >= 80)
	     {
	         Console.WriteLine("优");
	     }
	     else
	     {
	         if (scores >= 60 && scores < 80)
	         {
	             Console.WriteLine("良");
	         }
	         else
	         {
	             if (scores >= 30 && scores < 60)
	             {
	                 Console.WriteLine("中");
	             }
	             else
	             {
	                 Console.WriteLine("差");
	             }
	         }
	     }
	 }

因为if语句被编译器当作一条语句,所以我们可以舍弃else后面的{}

	int? scores = 80;
	 if (scores != null && scores <= 100 && scores >= 0)
	 {
	     Console.WriteLine("错误");
	 }
	 else if (scores >= 80)
	 {
	     Console.WriteLine("优");
	 }
	 else if (scores >= 60 && scores < 80)
	 {
	     Console.WriteLine("良");
	 }
	 else if (scores >= 30 && scores < 60)
	 {
	     Console.WriteLine("中");
	 }
	 else
	 {
	     Console.WriteLine("差");
	 }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!