关于c#分支语句和分支嵌套还有变量的作用域。
分支语句: if....else if....else
必须以 if 开头 后面加括号写入需要判断的内容。
举个栗子说明一下
if (bool类型(比较表达式)) // 他会判断括号内的条件是否成立
{
如果上面的条件成立,那么会执行这里面的代码,输出结果
}
else if (bool类型 (比较表达式))// 如果上一个 if 的条件不成立会 向下判断这里的条件是否成立,如果上一条成立的则不会判断这一条。
{
走这里的代码
}
else //只要上面条件都不成立,那么必走else里的代码// 如果上面的条件都不成立会直接走这一条。else后面不能写条件
{
走这里的代码并输出结果
}
else 对应的是它上面的第一个 if , 就像下面这个
if (条件)// 这里判断条件
{
}
else if(条件)// 如果不满足上一条走这里
{
}
if (条件1)// 这是又一个条件
{
}
else// 这里else 对应的是上面条件1的 if ,就是如果不满足 条件1 ,就会来执行else。
{
}
如果第一个 if 满足了会跳过else if 但是遇到if 就会进行判断,如果不满足条件1,那么就会判断最后的else。
如果想让else判断第一个if和else if都不满足之后的条件,就要把 if(条件1)去掉或者放掉else if 的上面。
附上一个练习题
“请输入年份:”(1-9999)
“请输入月份:”(1-12)
“请输入日期:”(要判断大小月,判断闰年)
判断输入的时间日期是否正确
Console.Write("请输入年份:");
int nianfen = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入月份:");
int yuefen = Convert.ToInt32(Console.ReadLine()); Console.Write("请输入日期:");
int riqi = Convert.ToInt32(Console.ReadLine()); if ( <= nianfen && nianfen <= )//年份输入1-9999
{
if (nianfen % == && nianfen % != || nianfen % == )//如果是闰年
{
if (yuefen == )//若等是二月份
{
if (riqi >= && riqi <= )//如果有29号
{
Console.Write("正确");
}
else
{
Console.Write("错误");
}
}
else if (yuefen == || yuefen == || yuefen == || yuefen == )//如果是偶数月
{
if (riqi >= && riqi <= )
{
Console.Write("正确");
}
else
{
Console.Write("错误");
}
}
else//如果是奇数月
{
if (riqi >= && riqi <= )
{
Console.Write("正确");
}
else
{
Console.Write("错误");
}
} } else if (nianfen>=&&nianfen<=) //如果不是闰年,
{ if (yuefen == && riqi > )
{
Console.Write("错误");
}
if (yuefen == )//如果是二月
{ if (riqi >= && riqi <= )
{
Console.Write("正确");
}
}
else if (yuefen == || yuefen == || yuefen == || yuefen == )//如果是偶数月
{
if (riqi >= && riqi <= )
{
Console.Write("正确");
}
else
{
Console.Write("错误");
}
} else//如果是奇数月
{
if (riqi >= && riqi <= )
{
Console.Write("正确");
}
else
{
Console.Write("错误");
}
} } } else
{
if (yuefen < || yuefen > ||nianfen<||nianfen>||riqi<||riqi>)
{
Console.Write("NO");
}
} Console.ReadLine(); 这里再补充一个分支语句
switch(变量)
{
case 值:代码段;break;(break是跳出的意思)
case 值:代码段;break;
...
...
...
default:代码段;break;
(default可有可无,对应else)
}
这个分支语句比较小众,还是if····else···用得比较多。但是必须要认识。
关于c#分支语句和分支嵌套还有变量的作用域。的更多相关文章
- 【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域
语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...
- 分支语句 if的嵌套 循环语句
0930 今天学习内容做以下总结: 语句的分类:顺序语句,分支语句(选择,条件),循环语句 分支语句 格式1:if(表达式(要么是true 要么是false)){} 格式2:if(){}slse{} ...
- 【2017-2-21】C#分支语句,分支嵌套,变量的作用域
分支语句 句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束) if(bool型比较表达式) { 如果上面的条件成立,则执行这里面的代码 } else if(b ...
- C# 语句 分支语句 switch----case----.
第二种分支语句 switch..case. switch(一个变量){ case 值:要执行的代码段;break; case 值:要执行的代码段;break; ... ... ... default ...
- shell编程之case分支语句
shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 ...
- JS基础语法---分支语句之:switch-case语句---3个练习
switch-case语句---分支语句---多分支语句 语法: switch(表达式){ case 值1:代码1;break; case 值2:代码2;break; case 值3:代码3;brea ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- 语句:分支语句、switch case ——7月22日
语句的类型包括:声明语句.表达式语句.选择语句.循环语句.跳转语句.异常语句 1.声明语句引:入新的变量或常量. 变量声明可以选择为变量赋值. 在常量声明中必须赋值. 例如: int i = 0;// ...
- js部分---运算符,if分支语句,for循环;switch case 的用法;
------------------------------------------运算符---------------------------------------------------- *数 ...
随机推荐
- 逻辑斯蒂(logistic)回归深入理解、阐述与实现
第一节中说了,logistic 回归和线性回归的区别是:线性回归是根据样本X各个维度的Xi的线性叠加(线性叠加的权重系数wi就是模型的参数)来得到预测值的Y,然后最小化所有的样本预测值Y与真实值y'的 ...
- CentOS学习笔记(二):检查系统版本号及32位或64位系统
1.检查系统版本号 lsb_release -a 2.检查32位或64位系统 file /bin/ls
- js 读取json数据 挖坑
一般遇到后台给的json数据格式不对 比如key和value都是单引号. 但真正的json 的key和value都是双引号,必须双引号才能取值. 再来一个例子看看 var test = [{ &quo ...
- LeetCode OJ:Binary Tree Inorder Traversal(中序遍历二叉树)
Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...
- LeetCode OJ:Binary Tree Right Side View(右侧视角下的二叉树)
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- Zeroc Ice 发布订阅者之demo Icestorm之clock
刚刚在服务端(192.168.0.113)和客户端跑通(192.168.0.188),在这里记录,作为备忘. 第一步:读readme,先用vs2010生成subscriber.exe和publishe ...
- 在asp.net中使JQuery的Ajax用总结
自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些让人短时间内痛苦的问题.本文暂时总结一些在使用JQuery Ajax中应该注意的问题,如有不恰当或者不完善的地方 ...
- To Java程序员:切勿用普通for循环遍历LinkedList(转)
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- 日志管理系统ELK6.2.3
https://www.jianshu.com/p/88f2cbedcc2a 写在前面 刚毕业工作的时候,处理日志喜欢自己写脚本抓取数据分析日志,然后在zabbix上展示出来.但是开发要看日志的时候, ...
- Cortex-M0(+)内核的处理器架构简介
Cortex-M0(+)内核的处理器架构简介 2015年03月02日 16:51:12 阅读数:3158 系统架构 Cortex-M0处理器具有32位系统总线接口,以及32位地址线,即有4GB的地址空 ...