0
点赞
收藏
分享

微信扫一扫

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


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

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

文章目录

  • ​​C#/.NET6期01C#基础_05选择结构文章目录​​
  • ​​1、选择结构-if​​
  • ​​if else​​
  • ​​==如果是单独的多个if,那么它们的逻辑是各自独立的==​​
  • ​​不加括号的话的if-else 注意,只会管下面的第一行代码​​
  • ​​if嵌套​​
  • ​​注意按Ctrl+F5启动​​
  • ​​== 和equals的区别​​
  • ​​值类型默认值是0 , 引用类型默认值是null​​
  • ​​随机数Random​​
  • ​​添加监视​​
  • ​​快速监视​​
  • ​​添加监视​​
  • ​​为什么要使用多重if选择结构​​
  • ​​类型转换1__最基础的:int.Parse、double.Parse,只有值类型能用​​
  • ​​switch case​​
  • ​​为什么要使用switch 结构​​
  • ​​c#和java中语法的差别​​
  • ​​switch-case的优缺点​​
  • ​​常见错误​​
  • ​​实际应用​​
  • ​​练习2​​
  • ​​练习3​​

1、选择结构-if

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


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

if else

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


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


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


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

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

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


后面没有else

语法上括号可以省

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


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

如下

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

加个括号就行了

同理else后面的括号也可以省略

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

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

如果是单独的多个if,那么它们的逻辑是各自独立的,比如你的语文老师说你的成绩超过80分,给你送一辆自行车

你的数学老师也有对应的奖励,如果你数学成绩超过85分送你一个小米平板

那么你是有可能全部得到的

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


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

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

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

if嵌套

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

注意按Ctrl+F5启动

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

== 和equals的区别

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

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

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

随机数Random

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


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

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

添加监视

快速监视

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

添加监视

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

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


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


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

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


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

java里面ius Ctr+鼠标左键去看源码

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

以上只用if的话就不行了

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


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

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

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

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


注意一下下面这种情况

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


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

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

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


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

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

switch case

为什么要使用switch 结构

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


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

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


但是,switch不会,switch会直接去找对应的

比如,下图会直接找到3

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


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

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


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

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

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


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

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

c#和java中语法的差别

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

switch-case的优缺点

优点:执行效率快

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

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


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

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

常见错误

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


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


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

实际应用

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

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

练习2

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

练习3

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


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

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;
}

效果

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


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

注意

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

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


举报

相关推荐

0 条评论