黑马程序员————————C#基础知识之结构体(一)

 ----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ---------------------- 

l      判断结构if

l      判断结构if-else

l      判断结构if-else-if

l      判断结构switch-case

1.判断结构If结构:

基本语法:     if(条件)

                 语句1;

要求括号内的条件的运算值必须是bool类型,即只能是true或者false

执行过程:先判断条件,如果结果为true则执行语句1;如果括号内是bool值而非条件,则程序跳过该语句。如果条件为false,则跳过语句1;语句1可以是语句块,用一对儿大括号来组成,如下:

 {Console.WriteLine("您输入的账号或密码错误找回密码");Console.WriteLine("找回密码"); }

{语句1;语句2;......}

一般情况下即使只有一句语句,也加大括号,作为一种规范。

     执行过程如图:  

2.判断结构if -else 结构:

语法:

    If(条件)

 {语句块1};

else

  {语句块2};

执行过程:如果条件中bool判定值为true,则执行语句块1中的内容,完成之后跳过语句块2,;如果条件中bool判定值为false,则跳过语句块1,执行语句块2.  执行过程如图:

3.判断结构if-else if 结构:

 语法:    if(条件1)

{语句块1};

else if(条件2)

  {语句块2};

else if(条件3)

 {语句块3};

        else...

执行过程图:

只有true条件下的语句块才会执行,并且执行完该语句块后就会跳出if else 结构;否则继续往下寻找条件,而只有所有条件判定为假时才会输出最后else中的内容,如果最后没有else,则这段程序不会输出。

else与其上离其最近的if配对,有大括号圈起来除外。一定要记得写大括号,防止排版混乱发生错误。

例如:

           int age = 18;

           char sex = '';

           if (age < 18)

 

               if (sex == '')

                   Console.WriteLine("你还小");

 

           else

                   Console.WriteLine("你长大了");

 

错误的排版,什么都不输出。

正确的排版,输出“你长大了”。记得大括号。

           int age = 18;

           char sex = '';

           if (age < 18)

           {

               if (sex == '')

                   Console.WriteLine("你还小");

           }

           else

               Console.WriteLine("你长大了");

Ctrl+k+F  自动排版

5.Switch-case语法结构:

 基本语法:

 Switch(变量/表达式)

            {           

case变量值1:

  语句1

   break;

case变量值2:

  语句2

   break;

case变量值3:

  语句3

   break;

....

default:        

  报错语句!

  break;

      }

执行过程图如下:

   要求变量的值为定值(不是定值还是用if else类语句);default只有在上述case中找不到变量值时才会输出,与它所处的位置无关;case后的:和break为语句格式,不可丢失。

  Console.WriteLine("请输入您的评级!A-E");

                     string input = Console.ReadLine();

                     decimal salary = 5000m;

                     bool flag=false;

                     switch (input)

                     {  

                         case "A":

                             salary += 500;

                             break;

                         case "B":

                             salary += 200;

                             break;

                         case "C":

                             break;

                         case "D":

                             salary -= 200;

                             break;

                         case "E":

                             salary -= 500;

                             break;

                         default:

                             Console.WriteLine("您的输入有问题");

                             flag = true;

                             break;

                     }

                     if (flag == false)

 

                     { Console.WriteLine("您的工资为" + salary); }

上面代码中,定义了一个bool类型的变量flag,如果执行switch大括号中的内容,并且未曾找到需求的值,则执行default并且flag值被重新赋值为true,这个时候将不再执行switch外的语句;反之,如果找到,则跳出来执行最下边的语句。这种重新赋值的条件显示技巧经常用到,也一般定义bool类型的变量。

如果变量的某些值要求输出的语句块相同,则可以写成如下格式:

     case a: case b: case c:...

             语句块;

             break;              例如下:

                           Console.WriteLine("请输入您要查看的年份");

               int year = Convert.ToInt32(Console.ReadLine());

               Console.WriteLine("请输入您要查看的月份");

               int month = Convert.ToInt32(Console.ReadLine());

               switch (month)

               {

                   case 1:case 3:case 5:case 7:case 8:

                   case 10:case 12:

                       Console.WriteLine("31");

                       break;

                   case 2:

                       if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)

                       { Console.WriteLine("29"); }

                       else

                       { Console.WriteLine("28"); }

                       break;

                   case 4:

                   case 6:

                   case 9:

                   case 11:

                       Console.WriteLine("30");

                       break;

                   default:

                       Console.WriteLine("您输入的数字有误");

                       break;

6.switch if -else if  区别:

switch语法运行时要求括号内的变量有确定的值,而它的运行过程也可以理解为一个寻找过程;if-else if 语法括号内是条件,可以是运算后为某一确定的值,也可以是范围。简而言之:

switch   确定的值   if-else if  范围或者确定的值

补充:对于switch后面括号内的变量运算要活学活用,如下:

                     Console.WriteLine("请输入您的成绩");

                     int score = Convert.ToInt32(Console.ReadLine());

                     switch (score/10)

                      {

                         case 10:

                         case 9:

                             Console.WriteLine("A");

                             break;

                         case 8:

                             Console.WriteLine("B");

                             break;

                         case 7:

                             Console.WriteLine("C");

                             break;

                         case 6:

                             Console.WriteLine("D");

                             break;

                         default:

                             Console.WriteLine("E");

                             break;                                                         

                     }

此题中设定 90=<score<=100  A  80=<score<90  B...等等,虽然用if else if为一般思路,但是switch也可以编译出来。Console.WriteLine("请输入您的成绩");

                     int score= Convert.ToInt32(Console.ReadLine());

                     if(score>=90)

                        {Console.WriteLine("A");}

                     else if (score>=80)

                        {Console.WriteLine("B");}

                     else if (score>=70)

                        {Console.WriteLine("C");}

                     else if (score>= 60)

                        { Console.WriteLine("D"); }

                     else

                        { Console.WriteLine("E"); }

 

 对比之下依熟练度选择。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ---------------------- 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值