黑马程序员-------.net基础知识三
条件执行语句
if 语句
语法:
- if(条件)
- {
- 语句1;语句2;语句3;
- ···
- }
执行过程: 先判断条件是否为true ,如果为true则执行语句块中的内容。如果为false,则跳过语句块,执行下面代码。
注:if括号中的条件,要能计算成bool类型的值。默认情况下,if语句只能带一句话。在我们写程序时,即使if后只有一句话,也要用{}括起来,养成良好的书写格式。
if-else 语句
语法:
- if(条件)
- {
- 语句1;
- }
- else
- {
- 语句2;
- }
执行过程:先判断条件是否为true,如果为true,则执行语句1中的内容,并且跳过语句2.。如果为false,则跳过语句1,执行语句2中的内容。
if-else-if语句
语法:
- if(条件1)
- {
- 语句1;
- }
- else if(条件2)
- {
- 语句2;
- }
- else
- {
- 语句3;
- }
执行过程:判断条件1是否为true,如果为true,则执行语句1,并且跳过语句块2,和语句块3。如果条件为false,则跳过语句块1进行条件2的判断,如果条件2为true,则执行语句2,且跳过语句块1和3。如果条件2为false,则跳过语句2,执行语句3。
练习: //1)让用户输入一个整数n。2)如果接收的值n为正数,输出1~n间的全部整数。3)如果接收的值n为负值,用break或者return退出程序。
- {
- Console.WriteLine("请输入一个数字:");
- int n = Convert.ToInt32(Console.ReadLine());
- if (n > 0)
- {
- for (int i = 1; i <= n; i++) //利用for循环--如果接收的值n为正数,输出1~n间的全部整数
- {
- Console.WriteLine(i);
- }
- }
- else
- {
- return;
- }
- Console.ReadKey();
- }
switch 语句
语法:
- switch(表达式)
- {
- case 值1: 语句块1;
- break;
- case 值2: 语句块2;
- break;
- case 值3: 语句块3;
- break;
- default 值4: 语句块4;
- break;
- ···
- }
执行过程:首先计算表达式,根据表达式结果进行匹配case的值,如果有匹配项,则执行相应的后面的语句,直到后面break跳出switch语句。如果没有匹配项,有default就执行其后面的语句,如果没有default,则跳出switch语句,什么都不执行。
注:switch语句中不是必须有default的,有些弱类型语言是不用写的,但是为了程序更完整、更安全,建议写上default
例如:
- for (int i = 1; i < 6; i++)
- {
- switch (i)
- {
- case 2:
- Console.WriteLine("i={0}----在case2中", i);
- break;
- case 5:
- Console.WriteLine("i={0}----在case5中", i);
- break;
- default:
- Console.WriteLine("i={0}----在default中", i);
- break;
- }
- }
输出结果为:
i=1----在default中
i=2----在case2中
i=3----在default中
i=4----在default中
i=5----在case5中
关于if-else if和switch case 的区别:
相同点:都可以实现多分支结构
不同点:switch一般用于等值比较,if -else if 一般用于范围比较
循环语句
while语句
语法:
- while(条件) // 循环条件
- {
- 要循环执行的N调程序。 //循环体。
- }
执行过程:1先判断循环条件,如果为true,则跳向2,如果为false 则跳出循环,循环结束。
2执行循环体,循环体执行完后跳向1。
注意:在循环体中,一定要有那么一句话,改变循环条件中的某个变量的值。使循环条件终有一天成为false。如果没有这句话,这个循环将成为死循环。
do-while语句
语法:
do
{
循环体
}
while(条件);
执行过程:1执行循环体。
2判断条件是否成立,如果为true跳向1,如果为false 则跳出循环,循环结束。
while和do-while的区别
while:先循环,后执行。
do-while:先执行,后循环。
for语句
语法:
- for (表达式1;表达式2;表达式3)
- {
- 循环体;
- }
执行过程:1执行表达式1,转向2。
2判断表达式2,如果为true,则转向3。如果为false,则跳出循环。
3执行循环体。转向4。
4执行表达式3, 转向2。
注: for循环多用于已知循环次数。
跳转语句
break语句
用处:可以用于switch-case判断中,用于跳出switch。还可以用在循环中,用于跳出循环。
例:
- int x = 0;
- while (true)
- {
- x++;
- if (x >= 6)
- {
- break; //利用break,当x大于等于6时,跳出循环。
- }
- }
如果这道题没有break,则会陷入死循环。
注:break用于循环中时,跳出的是break所在的循环。
continue语句
用处:用于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不再执行循环体continue下面的语句)直接进行下一次循环。
对于do-while/while循环直接进行下一次循环条件的判断,如果条件成立,则再次进入循环。对于for循环,先执行表达式3,再判断循环条件是否成功。
例:
- for (int i = 0; i < 10; i++)
- {
- if (i<5)
- {
- continue;
- }
- Console.WriteLine("当i>5时,显示这句话。i={0}",i);
- }
- Console.ReadKey();
return语句
return 语句终止它出现在其中的方法的执行并将控制返回给调用方法。它还可以返回一个可选值。如果方法为void 类型,则可以省略 return 语句。
注意:return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!
- if()
- {
- }
- else
- {
- return;
- } //跳出if-else循环。
黑马程序员-------.net基础知识三的更多相关文章
- 黑马程序员-------.net基础知识二
变量 变量代表着一块内存空间,我们可以通过变量名称想内存存/取数据,有变量就不需要我们记忆复杂的内存地址. 向内存中申请一块内存空间的语法: 数据类型 变量名; 变量类型 变量类型 存储位置 自动 ...
- 黑马程序员-------.net基础知识一
一 初识.net .net是一种多语言的编程平台,可以用多达几十种的语言来进行开发,而C#就是基于.net平台的其中一种开发语言. 它的特点是: ⒈多平台:该系统可以在广泛的计算机上运行,包括从服务 ...
- 黑马程序员_JAVA基础知识总结3
------- android培训.java培训.期待与您交流! ---------- Java源文件的扩展名是.java,编译之后生成.class的文件.所有的类都有一个共同的继承祖先Object类 ...
- 黑马程序员_JAVA基础知识总结2
------- android培训.java培训.期待与您交流! ---------- IDE ---> Itegrity Development Environment Java EE --- ...
- 黑马程序员-------.net基础知识四
常量(静态常量------compile-time) 语法:const 类型 常量名 =常量值: 例: [csharp] view plaincopyprint? { const double PI= ...
- 黑马程序员-------.net基础知识五
方法(函数) 作用:用来重复代码,当我们在一个过程中反复的写了同样的代码,一般情况下,我们就可以把需要重复写的代码定义在方法中,用的时候只需调用即可 语法: [访问修饰符][static] 返回值类型 ...
- 黑马程序员+SQL基础(上)
黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...
- 黑马程序员+Winform基础(上)
黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...
- 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)
正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G QQ 1481135711 这是我总 ...
随机推荐
- Could not initialize class org.apache.log4j.LogManager 报错
部署项目的时候,在windows下一切正常,但是在centos下就发生如下错误 Caused by: java.lang.ExceptionInInitializerError at com.dsid ...
- 导入cocos2d-x samples android官方示例
导了一晚上samples android示例,查了一晚上资料,费了很大的劲,终于成功导入并运行成功,分享一下经验: 1.下载eclipse与ADT跟android SDK,相信大家都会装了吧. 2.下 ...
- js操纵cookie技术
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- asp.net下载的方法1
1. 首先新建一个用于进行下载处理的page页,如download.aspx,里面什么东西也没有. 2. 添加一个DownloadHandler类,它继承于IHttpHandler接口,可以用来自定义 ...
- maven项目转换成dynamic项目
由于maven项目不能直接运行调试需要转换成danamic web后,才能方便进行调试测试.以下是maven项目进行转换的过程 第一步,选择project faces,设置dynamic web版本. ...
- 简单的实现QQ通信功能(三)
第三部分:登陆界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)仿照QQ的登陆界面,右上角放了三个Label,用来做关闭.最小化和设置,使用了它们的Click事件当做按钮 ...
- Android 使用定时器在指定日期及时间执行任务
public class MainActivity extends Activity { private Handler handler = new Handler(){ @Override publ ...
- 创建本地RPM源之更新系统旧版软件mysql
事情起因 系统版本为Centos6.6 ,因为之前同事没有采用最小化选择性安装,所以系统安装好后自带有mysql5.1的三个安装包: [root@test ~]# rpm -qa | grep mys ...
- 百思不得其解—这些年做Web开发遇到的坑?
请教一个问题:Bootstrap 模态框modal里面的嵌入 iframe ,然后iframe 里面载入的是优酷的视频 ,现在的问题是:这个模态框在谷歌浏览器上面可以播放出视频,而在ff浏览器里面无 ...
- .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常)
.NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件, ...