05黑马程序员_if结构,switch

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------


if结构

基本语法:

if(条件)

  语句1;

执行过程:首先判断条件的结果,如果条件为true,则执行语句1.

                 如果条件为false,则跳过语句1.执行后边的语句.

(成立,程序结束)

注意:

1)if后面括号中的条件,要能计算成一个bool类型的值

2)没人呢情况下,if语句只能带1句话.即if语句有关系的语句只有语句1

在if语句中,如果想让if带多句话,则可以用{}把想让if带的多句话括起来组成语句块.

{

语句1;

语句2;

......

语句n

}

执行过程:如果条件为false,那么将跳过if所带的语句块中的所有语句.

要求:我们在写程序时,哪怕if语句只带一句话,也要把它写在大括号中

if-else结构

语法:

if(条件)
{语句块1;}

else

{语句块2;}

执行过程:

如果条件为true,则执行if带的语句块,并且跳过else带的语句块2

如果条件为false,则跳过if带的语句块1,执行else带的语句块2


在if-slse if语句中.只有当上一个条件不成立时,才会进入弦歌个if语句并进行if语句后面的条件判断.

一旦有一个if后面的条件为true,则执行此if所带的语句(块),语句(块)执行完成后,程序跳出if-else if结构.

如果所有的if条件都不成立,则如果最有有else则执行else所带的语句.否则什么都不执行.

(就是一直到成立才执行)

if-slse实例:

            string password;
            Console.WriteLine("请输入密码");
            password = Console.ReadLine();
            if (password == "888888")
            {
                Console.WriteLine("密码正确!");
            }
            else
            {
                Console.WriteLine("刚才输入的密码不正确,请再次输入密码?");
                password = Console.ReadLine();
                if (password == "888888")
                {
                    Console.WriteLine("密码正确!");
                }
                else
                {
                    Console.WriteLine("密码不正确");
                }
            }

            Console.ReadKey();



if与if-else的区别

switch-case语句

语法:

switch(表达式)

{

case值1:语句块1;

break;

case值2:语句块2;

break;

.......

default:语句块3;

break;

}

执行过程:首先计算表达式,然后根据计算结果与匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,知道break语句跳出switch-case.

如果所有case值都不匹配,那么有default则执行default后面的语句,直到break结束.

如果没有default.则跳出switch-case.什么都不执行.

实例

namespace test7
//7、 李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,
//如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元.
//设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.
{
    class Program
    {
       
        static void Main(string[] args)
        {
           
            //方法一,if  else
           #region
            //Console.WriteLine("请输入你对李四的评定等级(A-E)?");
            //string input = Console.ReadLine();
            //decimal salary = 5000;//李四的基础工资
            //bool flag = false;//设定假设条件是否成立.输出不正确则是提示错误

            //if (input == "A")
            //{
            //    salary += 500;
            //    //salary=salary+ 500;
            //}//评定a涨500,下边同理
            //else if (input == "B")
            //{
            //    salary += 200;
            //}
            //else if (input == "C")
            //{
           
            //}
            //else if (input == "D")
            //{
            //    salary -= 200;
            //}
            //else if (input == "E")
            //{
            //    salary -= 500;
            //}
            //else
            //{
            //    Console.WriteLine("输入有误,只能输入大写的abcde");
            //    flag = true;//输出错误.条件成立就输出上边这句话
            //}
            //if(flag ==false)//输出正确则计算工资
            //{
            //Console.WriteLine("李四的工资为:"+salary);
            //}
            #endregion

            //方法二
            //用switch-case实现上面的功能

            Console.WriteLine("请输入你对李四的评定等级(A-E)?");
            string input = Console.ReadLine();
            decimal salary = 5000;//李四的基础工资
            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("输入有误,只能输入大写的ABCDE");
                    flag = true;
                    break;
            }
            if (flag == false)
            {
                Console.WriteLine("李四的工资为:" + salary);
            }

            Console.ReadKey();
        }
    }
}

if-else if与switch的比较

相同点:

都可以实现多分之结构

不同点:

switch:一般只能用于等值比较

if-else if:可以处理范围



------- Windows Phone 7手机开发.Net培训、期待与您交流! -------


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值