C#/.NET6期01C#基础_0506选择结构:if else和switch case注意按Ctrl+F5启动== 和equals的区别值类型默认是0引用类型默认是null随机数Random

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#/.NET6期01C#基础_0506选择结构:if else和switch case注意按Ctrl+F5启动== 和equals的区别值类型默认是0引用类型默认是null随机数Random相关的知识,希望对你有一定的参考价值。

C#/.NET6期01C#基础_05选择结构文章目录

选择结构就是给程序加上一定的逻辑判断

文章目录

1、选择结构-if


if else




注意上图,if 后面的那个大括号是可以省略的,但是只有一条语句时不建议省略

后面没有else
语法上括号可以省

但是要是不止一行代码,并且 有else那就不能省了
如下

加个括号就行了
同理else后面的括号也可以省略

如果是单独的多个if,那么它们的逻辑是各自独立的

如果是单独的多个if,那么它们的逻辑是各自独立的,比如你的语文老师说你的成绩超过80分,给你送一辆自行车
你的数学老师也有对应的奖励,如果你数学成绩超过85分送你一个小米平板
那么你是有可能全部得到的

要注意 if-if 和 if-else if - else 的区别

不加括号的话的if-else 注意,只会管下面的第一行代码

if嵌套

注意按Ctrl+F5启动

注意控制台应用程序按Ctrl+F5启动这样会比较好调试

== 和equals的区别

== 是判断内存地址0…相等,equals是判断字符串内容是否相等

值类型默认值是0 , 引用类型默认值是null

随机数Random


注意上面的意思是1-3之间的随机数(不包含1和3),我们可以调大一点

添加监视

快速监视

添加监视

我们还可以添加对变量的监视


只要没有超出作用域,,就可以一直对这个变量进行监视

Ctr+鼠标左键 跟 按F12是一样的效果 看代码的定义或者源码
java里面ius Ctr+鼠标左键去看源码

为什么要使用多重if选择结构

以上只用if的话就不行了

加了else之后就没有这个问题了

所以是必须要使用多重 if 选择结构

注意一下下面这种情况

这里要注意一下在这个结构下,else if 和 else 都是可以省略不写的

类型转换1__最基础的:int.Parse、double.Parse,只有值类型能用


除此之外,还有一种数据类型转换的方式,我们也可以了解一下

switch case

为什么要使用switch 结构


说白了就是if-else有个缺点,如下,会一行一行代码去判断,
第一个不满足就去找第二个,第二个不满足就会去找第三个,这样一直往下找


但是,switch不会,switch会直接去找对应的
比如,下图会直接找到3

打断点看一下就知道,是直接匹配到3的

=所以等值判断,官方建议是使用switch

如果是下图这种,建议用if,因为性能也差不多,if 反而语法更加简单

c#和java中语法的差别

switch-case的优缺点

优点:执行效率快
缺点: if 可以做这种(a>5 )范围判断,而switch不能做这种范围判断,switch只能做定值判断

注意
1、switch case 注意结构要记一下,结构错了(比如没有用break终止)不一定会报错,但是会不按我们的思路来
2、switch结构其实也可以用if-else结构替代,只是说有些场景switch结构就更加清晰简单,所以这两种选择结构都要很熟悉
3、一般我们用switch也只用String类型和int类型的定值判断

常见错误



实际应用

练习2

练习3


            Console.WriteLine("1、登录系统");
            Console.WriteLine("2、退出");
            Console.WriteLine("请输入1 或者 2");

            String result = Console.ReadLine();

            switch (result)
            
                case "1":
                    Console.WriteLine("登录成功");
                    Console.WriteLine("1、客户信息管理");
                    Console.WriteLine("2、购物结算");
                    Console.WriteLine("3、真情回馈");
                    Console.WriteLine("4、注销");
                    Console.WriteLine("请输入");
                    String r = Console.ReadLine();
                    switch (r)
                    
                        case "1":
                            Console.WriteLine("1、显示所有客户信息");
                            Console.WriteLine("2、添加客户信息");
                            Console.WriteLine("3、修改客户信息");
                            Console.WriteLine("4、查询客户信息");
                            break;
                        case "2":
                            break;
                        case "3":
                            Console.WriteLine("1、幸运大放送");
                            Console.WriteLine("2、幸运抽奖");
                            Console.WriteLine("3、生日问候");
                            break;
                        case "4":
                            break;
                        default:
                            break;
                    

                    break;
                case "2":
                    Console.WriteLine("你已经退出");
                    break; ;
                default:
                    Console.WriteLine("输入有误");
                    break;
            

效果

注意
ppt上面的作业本和练习作业必须要做

以上是关于C#/.NET6期01C#基础_0506选择结构:if else和switch case注意按Ctrl+F5启动== 和equals的区别值类型默认是0引用类型默认是null随机数Random的主要内容,如果未能解决你的问题,请参考以下文章

C#/.NET6期01C#基础_070809_:4种循环结构 whilefor循环等F9快速打断点Ctrl+shift+F9 清除所有断点for循环执行顺序

C#/.NET6期01C#基础_070809_:4种循环结构 whilefor循环等F9快速打断点Ctrl+shift+F9 清除所有断点for循环执行顺序

C#/.NET6期01C#基础_070809_:4种循环结构 whilefor循环等F9快速打断点Ctrl+shift+F9 清除所有断点for循环执行顺序

C#/.NET6期01C#基础_04占位符变量和常量单行注释多行注释

C#/.NET6期01C#基础_04占位符变量和常量单行注释多行注释

C#/.NET6期01C#基础_10_11_12数组声明引用类型如果没有赋值的话则默认值为null