# if else语句相当于 条件表达式
![](https://box.kancloud.cn/374b90977685ada9e5034dda9479fdd1_676x412.png)
# switch
![](https://box.kancloud.cn/495facf78a4e5110b2f800aa7eab9318_674x485.jpg)
如上图。也可以写成
```
switch (str)
{
case "IBC":
case"ibc":
console.writeline("中国建设银行");
break
}
```
switch的每个case语句后面都必须有break。
## if与switch比较
![](https://box.kancloud.cn/fc3e60f0c6414da8abf16078c5ce0f8b_677x442.jpg)
if 主要针对关系表达式、逻辑表达式、bool类型(也就是,返回值为true false)。switch主要为整型、bool、string、char等类型
# while
如,求1-100的和
```
int i = 1;
int sum = 0;
while(i<=100)
{
sum += i;
i++;
}
console.writeline(sum);
console.readline();
```
![](https://box.kancloud.cn/c69a7d36485aa445967d28d132894792_651x340.jpg)
结果为5050。
# do while
先执行一次语句,再判断。比如在做登录功能的时候,要先执行输入功能,再判断是不是符合条件。至少执行1次。
```
do
{
sum +=i;
i++;
} while (i<=100);
```
![](https://box.kancloud.cn/d383c3ce2858ac0ff6e05cdd1bdc1704_616x380.jpg)
# for循环
操作从1-100的累计和:
```
for (i=1; i<=100; i++)
{
sum += i;
}
console.writeline(sum);
console.readline();
```
## for 变体
> 语句可以省略,但分号不能省略。
1. 省略第一个赋值,但需要初始化值。分号不能省略。
```
int i=1;
for(; i<=100;i++){}
```
for 语句后面没有分号; 不然输出结果为101。
2. 如果没有写第二条语句,可能死循环。
3. 但有时候人为造成死循环。比如不断要求输入用户名:
![](https://box.kancloud.cn/a4bf3a5563031e7f88dda58e4fa0aa73_706x429.jpg)
```
for(;;)
{
console.writeline("please enter your name:");
console.readline();
}
```
![](https://box.kancloud.cn/2954fb7c721ebbeb487ace0c7468bd4d_677x442.jpg)
在for语句中,表达式1与表达式3都可以用逗号连接多个条件,但表达式2不行,只能用&& 来连接
```
for (i = 1; i<=100 && i>0; i++)
{
sum +=i;
}
```
若写成 for (i = 1; i<=100,i>0; i++)则有错误提示
![](https://box.kancloud.cn/a3b4a6d8b2a9743bd0842e10a4c2641f_747x784.jpg)
## for打印9×9乘法表
定义一个行变量i,再定义一个列变量j
```
int i,j;
for(i=1; i<10; i++)
{
for(j=1; j<=i; j++)
{
console.write("{0}×{1} = {2}", i, j, i*j); //这里{0}是占位符的意思。
console.write(" "); //这里的意思是保证每个结果之间有间隙,不会挤一起
}
console.writeline(); //这里意思是一行完了以后就换行
}
console.readline();
```
![](https://box.kancloud.cn/7344e2dde4650eba5d724b4a775f22e5_676x427.jpg)
![](https://box.kancloud.cn/fc3e60f0c6414da8abf16078c5ce0f8b_677x442.jpg)
# 死循环操作
## break
用于跳出死循环,如`for(i=1; ; i++)`。可处理如下:
```
int i, sum;
for(i=1; ; i++)
{
if(i>100)
{
**break;**
}
sum += i;
}
```
## continue 一般与if语句搭配使用
比如,如果求2+4+6+8+……+100偶数之和,则可以用contin语句
```
int i, sum=0;
for(i=1;i<=100; i++)
{
if(i %% 2 == 1) // 意思就是,如果不是偶数,则跳过,继续CONTINUE
{
continue;
}
sum += i;
}
console.writeline(sum);
console.readline();
```
![](https://box.kancloud.cn/9d442f01976b775f1bb7bebc718f57c8_552x381.jpg)
## break 与 continue区别
遇到break以后,直接跳过while括号内的语句,不再执行。若遇到continue,则继续执行新一次while语句循环,直到条件满足,再继续。
break 需用在switch语句中,continue只能用在for循环语句中与if配套使用,不能单独用在if语句中。
```
if(i<10)
{
break;
}
```
则提示错误
- 帮助文档 microsoft helo viewer
- c#开发环境及visual studio安装注意事项
- c#程序基本结构-基本语法
- Q1: public static void main(String[] args) 是什么意思
- Q2: c#命名空间+Main方法
- Q3:注释+命名规则+代码规则
- Q4: c#语句 system => console
- Q5: 数据类型 .net
- Q5: 常用名字、变量、运算符
- Q6: 对话窗输入-属性
- Q7: 递归
- Q8:决策分支、条件判断语句 if 语句
- Q9:数组
- Q10:字符串
- Q11:对象、类、访问权限、静态动态函数
- Q12:方法及参数——继承于类
- Q13:构造函数
- Q14:继承——base 关键字
- Q15:多态、虚方法、接口
- Q16:创建窗体应用、控件
- Q17:Ado数据访问、连接 sqlserver 数据库
- Q18: 读取数据command + DataRead( )、DataSet + DateAdapter
- Q19: Entity Framwork、entity 与 ADO.net的区别
- Q20: 对话框、文件、文件夹
- Q21: 导入excel数据、更新到 dbo 数据库中
- Q26: 获取 excel 中每个 sheet 的表名
- Q22: 两个窗体之间数据+方法传递
- Q23: 数学对象
- Q24: c#网站编写
- Q25: visual studio2017如何查看帮助
- Q27: c# dictionary 字典对象
- Q28: 数组与dataTable互相转化