if语句中可以没有case

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了if语句中可以没有case相关的知识,希望对你有一定的参考价值。

if语句中可以没有case,简单的来说if语句与case语句的区别就是,if语句是在2个条件之间选择,不是这个就是那个;case语句可以在多个条件中进行选择,就是可以列出大于2种的可能性,然后进行判断选择。 参考技术A 不可以,case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束连续的两个case语句表示,这两个case是同一种情况 参考技术B 简单的来说if语句与case语句的区别就是,if语句是在2个条件之间选择,不是这个就是那个;case语句可以在多个条件中进行选择,就是可以列出大于2种的可能性,然后进行判断选择。 参考技术C 不可以
1.
不可以,case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
2.
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束连续的两个case语句表示,这两个case是同一种情况
参考技术D default当然可以省略,如果省略,状态由综合工具按有利于优化化简确定。 case不是完全组合的话,要写上default 综合出来的if是带优先级的电路,case是没有优先级的

分支语句 if...else switch..case...break

语句:
1、顺序语句
2、分支语句
3、循环语句

 

基本格式:
if(bool的表达式)
{
代码
}
else if(bool的表达式)
{
代码
}
else
{
Console.WriteLine("我没有想到的问题。") // 判断自己思路是否有遗漏。
}

else if 不可以写在 else 后面。

--------------------------------------------------------
if(...)
{}

if(...)
{}

if(...)
{}

这样的结构属于多组分支语句,计算机都会进行表达式判断,条件不可以出现重复。

--------------------------------------------------------
if(...)
{} //可以直接结束
else if(...)
{} //也可以直接结束

--------------------------------------------------------
习题:

1、判断学生成绩:
0-100之间才为正确的分数;// a<0 && a>100
60分以下,不及格! // a<60
60分以上,及格了! // a>=60 && a<90
90分以上,学的很棒! // a>=90 && a<100
100分,满分,好厉害! // a==100

            //接收用户输入的信息
            Console.Write("请输入成绩:");
            decimal b = Convert.ToDecimal(Console.ReadLine());

            //判断 得出结果 并输出结果
            if (b < 0 || b > 100)
            {
                Console.WriteLine("你输入的成绩有误!");
            }
            else if (b < 60)
            {
                Console.WriteLine("不及格!");
            }
            else if (b >= 60 && b < 90)
            {
                Console.WriteLine("及格了!");
            }
            else if (b >= 90 && b < 100)//也可以写作  else if (b >= 90 && b !=100)
            {
                Console.WriteLine("学的很棒!");
            }
            else if (b == 100)
            {
                Console.WriteLine("满分,好厉害!");
            }
Console.ReadLine();

2、猜拳:
请输入你的手势: 石头剪子布
用户手势:xxx
电脑手势:xxx
xxx赢了!

            //获得用户输入的手势
            Console.Write("请输入手势(1:石头,2:剪刀,3:布):");
            int c = Convert.ToInt32(Console.ReadLine());
            //获得用户输入的手势
            Random d = new Random();
            int e = d.Next(1, 4);
            
            //判断比较 得出结果
            //用户赢:1,2   2,3   3,1
            //电脑赢:1,3   2,1   3,2
            //用户赢: -1    -1    2
            //电脑赢: -2     1    1
            int jg = c - e;
            if (jg == -1 || jg == 2)
            {
                Console.WriteLine("用户赢了!");
            }
            else if (jg == -2 || jg == 1)
            {
                Console.WriteLine("电脑赢了!");
            }
            else
            {
                Console.WriteLine("平局!");
            }
            Console.ReadLine();

-------------------------------------------------------------

判断变量的值是什么,最后必须跟break,default有没有都可以。
swith (变量)
{
case 值:执行这里;(可以写很多执行代码) break;
case 值:执行这里;(可以写很多执行代码) break;
、、、、、、、、
default: 值 = 执行这里; (可以写很多执行代码)break;
}


---------------------------------------------------------------

习题:

1、

判断当前日期是一年中的第几天
请输入月份
请输入日期
输出:
XXX月XXX日是一年中的第xxx天。

            //接收用户输入的信息
            Console.Write("请输入月份:");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入日期:");
            int b = Convert.ToInt32(Console.ReadLine());
            int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31,
                m9 = 30, m10 = 31, m11 = 30;
            int c = 0;

            //判断输入的月份   日期是否正确
            if (a < 1 || a > 12)
            {
                Console.WriteLine("月份输入有误!");
            }
            else if ((b < 1 || b > 31) || (a == 2) && (b > 28)
                || (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) && (b > 31)
                || (a == 4 || a == 6 || a == 9 || a == 11) && (b > 30))
            {
                Console.WriteLine("日期输入有误!");
            }
            else
            {
                switch (a)
                {
                    case 1: c = b; break;
                    case 2: c = m1 + b; break;
                    case 3: c = m1 + m2 + b; break;
                    case 4: c = m1 + m2 + m3 + b; break;
                    case 5: c = m1 + m2 + m3 + m4 + b; break;
                    case 6: c = m1 + m2 + m3 + m4 + m5 + b; break;
                    case 7: c = m1 + m2 + m3 + m4 + m5 + m6 + b; break;
                    case 8: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + b; break;
                    case 9: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + b; break;
                    case 10: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + b; break;
                    case 11: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + b; break;
                    case 12: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + b; break;
                }
                    Console.WriteLine(a + "月" + b + "日是一年中的第" + c + "天。");
            }
            //打印输出
            Console.ReadLine();


2、

让用户随机输入3个数:
将这三个数,从大到小排列并打印出来。 

 

            //1、接收用户输入的三个数
            Console.Write("请输入第一个数:");
            decimal n1 = Convert.ToDecimal(Console.ReadLine());
            Console.Write("请输入第二个数:");
            decimal n2 = Convert.ToDecimal(Console.ReadLine());
            Console.Write("请输入第三个数:");
            decimal n3 = Convert.ToDecimal(Console.ReadLine());

            //2、比较大小并排序
            decimal zhong = 0;

            if (n1 < n2)
            {
                zhong = n1;
                n1 = n2;
                n2 = zhong;
            }

            if (n1 < n3)
            {
                zhong = n1;
                n1 = n3;
                n3 = zhong;
            }

            if (n2 < n3)
            {
                zhong = n2;
                n2 = n3;
                n3 = zhong;
            }

            //3、打印
            Console.WriteLine(n1 + "  " + n2 + "  " + n3);
            Console.ReadLine();

 

 

 

 

 

以上是关于if语句中可以没有case的主要内容,如果未能解决你的问题,请参考以下文章

选择,循环语句结构总结

P/L SQL 中 CASE 内的 IF 语句

Shell中的循环

java基础知识----分支结构和循环

if语句中可以没有case

java中那些情况使用if语句时可以不用else?