01-C#入门(分支控制语句)
说实话,《C#入门经典》这本书对入门的同学来说真的太棒了,先不说内容如何,就作者先以控制台(命令行)调试程序的方法,就能够最大限度地让你关注学习的内容,而不是花哨的界面调试。
现在学习是下载的电子书,无论是复习还是整理笔记,都不方便。如果,自己能坚持写笔记的方式学习完前7章,那我就去亚马逊把这本书买了。
- 三元运算符:?
很多语言中都有这个运算符,原理都是一样的,区别可能就在于书写的格式上。习惯了excel的方式,总想把多个表达式用 , 号隔开,呵呵。在C#的三元运算符 ? 中,返回的两个表达式之间,使用 : 号隔开,而不是 , 号,注意了:
string h = (k<10) ? "k小于10":"k大于或等于10";
当然,这种表达式适合简单的比较后返回值处理,但对于根据比较结果而执行大量的代码就不太适用了。
- IF语句
IF语句没有返回值(不像 ? ),而且可以执行复杂的语句代码块,使用 { } 号包围起来就OK了。和其它的语言差不多:if……elseif……else……,还是举个例子吧,看看编译的效果:
string msg;
double i, j;
Console.WriteLine("请输入第1个数的值:");
i = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入第2个数的值:");
j = Convert.ToDouble(Console.ReadLine());
if (i>j)
{
msg = "大于";
}else if (i == j)
{
msg = "等于";
}else
{
msg = "小于";
}
Console.WriteLine("第一个操作数 {0} 第二个操作数", msg);
Console.ReadKey();
这个例子比较简单,但是却从中看出一个编程思想。换作以前,自己肯写会在每个if语句块中加入Console.WriteLine来输出结果,而这儿就精简到只需要一条输出语句。以后要在这方面多注意。
- switch语句
IF语句虽然好用,但是遇到离散的值,用IF来比较,就会显得很不好读。另外,switch是将表达式的值与可选项进行匹配,而不是类似if的条件判断(>、<)。被匹配的值必须是常数值,可以为字面值(1、2、3),或者是常量:
const string myName = "karli";
const string sexyName = "angelina";
const string sillyName = "ploppy";
string name;
Console.WriteLine("请输入你的姓名:");
name = Console.ReadLine();
switch(name.ToLower())
{
case myName:
Console.WriteLine("你和我有相同的名字,{0}", myName);
break;
case sexyName:
Console.WriteLine("哇~,{0}名字好性感哦。", sexyName);
break;
case sillyName:
case "h":
{
Console.WriteLine("{0}这名字真是太漂了~~", sillyName);
Console.WriteLine("那当然~");
break;
}
default:
Console.WriteLine("hello {0}", name);
break;
}
Console.ReadKey();
每个case执行后的语句,都需要放置一个break,包括default也需要。另外,case也可以多个堆叠,只要其中一个满足条件,就会执行后面的语句。而在case后,也可以使用 {} 把语句块包围起来,执行多条语句。
- 结语
其实在学习过程中,示例的编写、调试通过是很重要的,不止加深了印象,还会引发你的思考。当然,要是有一些小的程序练练手,是非常不错的哈,大家有需求或想法的话可以联系我哈。
01-C#入门(分支控制语句)的更多相关文章
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- 01 Linux入门介绍
一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...
- java SE 入门之控制语句&方法&递归算法(第五篇)
一 控制语句(选择结构) 在学习控制语句之前,我们要先明确两件事情,什么是顺序结构(也叫做顺序执行),什么是选择结构 (分支结构或分支执行或选择执行),我们的代码执行是分为先后顺序的,就像我们之前写的 ...
- SpringMVC札集(01)——SpringMVC入门完整详细示例(上)
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- Python入门-分支循环结构
编写代码的过程中,除了基本的变量,数据类型,在实际开发中,大量代码是根据判断条件,进而选择不同的的向前运行方式. 这些向前的运行方式基本分为两种:分支结构,循环结构 1.分支结构 if单分支结构 # ...
- 01.Bootstrap入门
Bootstrap介绍: Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...
- 01.Hibernate入门
前言:本文用一个简单的Hibernate应用程序例子来引领初学者入门,让初学者对Hibernate的使用有一个大致的认识.本文例子使用了MySQL数据库.Maven管理工具.Eclipse开发工具,创 ...
- git入门-分支
1. git分支简介 使用分支可以让你从开发主线上分离开来,然后在新的分支上解决特定问题,同时不会影响主线.像其它的一些版本控制系统,创建分支需要创建整个源代码目录的副本.而Git 的分支是很轻量级的 ...
- 01.Nodejs入门之Helloworld
说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...
随机推荐
- system占用80端口的问题
80端口被占用的问题 首先可以看看是不是iis占用了.如果是的话.修改为其他端口即可. 如果不是.. 在cmd中输入命令netstat -ano 查看是不是system占用了80端口? 如果是syst ...
- 关于java中static的应用及一种常见错误
JAVA中的static的应用 在web项目的开发中,遇到了类中的static方法不奏效. 在开发过程中,我定义了一个静态方法初始化数组,但是在创建类的对象后,访问该数组是全为null.我一直以为st ...
- PHP MVC
学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就 是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职 ...
- win32 wndproc 返回值
LRESULT CALLBACK WndProc(...) { case WM_CREATE: .... return 0; case WM_DESTROY: PostQuitMessage (0) ...
- CE 内存申请
char ch_ReadByte='H'; char *ptr_OneLineData; unsigned ); if ((ptr_OneLineData = (char *)malloc(bufsi ...
- c# CLI托管工程开启调试c++库工程代码
启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging
- ie7中ul不能嵌套div和li平级
我要讲一个忧伤的故事,本以为清晰的层次结构,ul里不能嵌套div和li平级,不然会乱乱乱! 代码: <ul class="catshow"> ...
- win10 localhost 解析为 ipv6地址 ::1 的解决办法
今天遇到个奇怪的问题,localhost 访问时提示 not found 404,但是有127.0.0.1可以访问.最后找到原因,是因为 windows 把 localhost 解析为 ipv6 地址 ...
- ecs CentOS 7 安装 mysql (mariadb)
检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ...
- Centos 6.5 rsync+inotify 两台服务器文件实时同步
rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...