一周学C#之第4天——语句
一周学C#_第4天
语句
1 语句
声明语句
表达式语句
块
是语句的一个无名集合
包含在{}之间
声明语句;//必须要有分号
表达式语句;//必须要有分号
{
语句;
语句;
...
}//不需要有分号
C#和C++、Java一样,都可以把声明语句当做普通语句。
换言之,你可以在任何地方使用声明语句,而不必在程序的开头。
一个块定义了一个范围,任何一个在块中声明的变量在块结束时,它就会消失了
2 throw语句
throw语句抛出错误
检查先前定义的条件时非常有用
表达式的类型必须是System.Exception或是它的派生类
string DaySuffix(int days)
{
if(days<0 || days>31)
{
throw new ArgumentOutOfRangeException(“days”);
}
}
3 return语句
return语句返回一个值
表达式必须匹配返回值的类型
最好一个函数只有一个return语句
使用ruturn;来结束一个void函数
string DaySuffix(int days)
{
string result;
...
return result;
}
一个函数通过return语句能够返回一个单值。
return语句中的表达式类型必须和函数声明的返回值的类型相同或可以隐式转换为返回值的类型。
如果你要从一个函数中返回多个值,那你可以使用以下方法:
l 你可以把返回值放在一个结构中;
l 你可以把返回值放在一个数组或集合类的对象中;
l 你可以使用在函数中使用out型参数
4 bool
bool是一个关键字
它是System.Boolean的别名
它的取值只能是true和false
bool love=true;
bool teeth=false;
//正确
System.Boolean love=true;
System.Boolean teeth=false;
//正确
using System;
...
Boolean love=true;
Boolean teeth=false;
//正确
5 布尔型操作符
1 赋值 =
2 等于 == !=
3 逻辑 ! && || ^ & |
int tens=(9*6)/13;
int units=(9*6)%13;
bool isFour=tens==4;
bool isTwo=units==2;
bool hhg;
hhg=isFour & isTwo;
hhg=!(isFour & isTwo);
hhg=!isFour | !isTwo;
hhg=!hhg;
6 if语句
string DaySuffix(int days)
{
string result;
if (days / 10 == 1)
result = "th";
else if (days % 10 == 1)
result = "st";
else if (days % 10 == 2)
result = "nd";
else if (days % 10 == 3)
result = "rd";
else
result = "th";
return result;
}
if语句的条件表达式必须是纯粹的bool型表达式。
C#要求所有的变量必须预先明确赋值后才能使用。
C#中,if语句中不能包含变量声明语句。
7 switch语句
用于整数类类型
case后的标志必须是编译时为常数
没有表示范围的缩略形式
string DaySuffix(int days)
{
string result = "th";
if(days/10!=1)
switch (days % 10)
{
case 1:
result = "st";
break;
case 2:
result="nd";
break;
case 3:
result="rd";
break;
default:
result = "th"; break;
}
return result;
}
case语句,可以对【整型】【字符串】或者【可以隐式转换为整数或字符串的用户自定义类型】使用switch语句。
C#没有VB中的is关键字,可用于case中。
C#中也没有范围比较符。
注意:每一个case段必须包含break语句,default语句也不例外。
8 while/do
int digit = 0;
while (digit != 10)
{
label2.Text += (digit + "/");
digit++;
}
int digit=0;
do
{
label3.Text += (digit + "/");
digit++;
} while (digit != 10);//此处有分号
9 for语句
for块中声明的变量是局部的,只在for块中有效
可以省略for语句中的任何一部分
for (int digit = 0; digit != 10; digit++)
{
label4.Text+=(digit+"/");
}
在for块中声明的变量只在for块中有效。
在for块中,多个声明的变量或者多个变化语句,可以用【逗号】分割
10 foreach
来源于VB、shell、PERL
用于任一集合,包括集合
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
foreach (string arg in args)
{
Console.Write("{0}", arg);
}
Console.WriteLine();
Console.ReadLine();
}
}
}
foreach用来遍历集合或数组中的元素。
11 foreach的几点注意事项
foreach(类型 标识符 in 表达式)
类型和标识符声明一个循环变量
循环变量隐含为readonly,不能有ref或out修饰
表达式是可列举的集合
要遍历的集合类型的定义规则:(假设集合的名字是C)
C必须定义一个公有函数GetEnumerator(),该函数的返回值是结构类型、类类型、接口类型之一。
返回值E的定义规则:
E包含一个公有函数MoveNext(),用来使E指向集合中的下一个元素;返回值的类型是bool。
E包含一个公有属性Current,用来读取当前值,这个属性的类型是集合元素的类型。
12 break/continue
break用来结束一个循环;
continue用来重新启动一个循环
转载于:https://www.cnblogs.com/lizunicon/archive/2009/01/29/1381340.html
一周学C#之第4天——语句相关推荐
- python能开发什么产品_三周学 Python ?不,三周做个产品
我的同事在看到毫无开发经验的我用三周时间,不但从零基础用上了 Python,还做出了一个客户关系管理系统,强烈邀请我分享经验.惶恐,因为我并没有出色的智商,也没有觉得三周学 Python 是一个体现自 ...
- 一周学C#第五天——命名空间
一周学C#_第5天 命名空间 1 问题 越大的程序包含的名字越多 越多的名字--越大的可能性导致命名冲突 你是怎样命名以反映结构 显示的前缀不是一个很好的解决方法 sealed cl ...
- 计算机基础教程 周学君 pdf,《计算机基础教程》自动化技术、计算机技术.pdf
文档介绍: 21 世纪高等学校信息类应用型系列教材 主编周学君 副主编韩芳邹大祥钟阿林熊发涯 编委毛喆龚本灿代红胡刚 杨青蒋正和周治钰姜敏 郭辉辉张蕊杨敏 内容提要 本教材包括计算机文化基础和计算机操 ...
- 一木.溪桥学Python-02: 数据类型、标识符、语句与缩进、变量常量、输入input、sep=“ “、end=“\n“
一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-02: 数据类型.标识符.语句与缩进.变量常量.输入input.sep=&qu ...
- python需要的基础_推荐收藏!小白不要怕!一周学全Python面试基础(2)
Python是一个广泛的领域,因此有必要保持最新状态.通过列出30个python面试问题和答案,本文涵盖在Python面试中经常问到的问题.如果您是该行业的新手,本基础篇将极大地帮助您.我们衷心希望这 ...
- 一周学python系列(7)——面向对象
先说一些废话,距离上次更新隔了九天,主要是自己假期时间要学车考驾照,所有每天只能抽一些支离破碎的时间用来学习,导致学习效率很慢(之前也说过了,本人是一个对学习有洁癖的人(含贬义 狗头))所以导致学的很 ...
- 如何两周学完操作系统?我是这样做的
非科班转码用考研书来学习操作系统真的高效又通俗易懂 (怕大家说我是营销号,我把书籍的机构给抹除了) 结合授课视频和辅导书真的能够快速学完操作系统,而且是高质量学完,视频能够讲解算法具体细节,以及相关操 ...
- 一周学完MyBatis源码,万字总结
点击下方"IT牧场",选择"设为星标" 之前,我给大家分享给很多MyBatis源码分析的一系列文章.今天,就自己的感受来做一个整体的总结. 众所周知,MyBat ...
- 《一周学完光线追踪》学习 十一点五 离焦模糊代码原理分析
蒙特卡洛光线追踪技术系列 见 蒙特卡洛光线追踪技术 首先分析一下生成随机Ray的程序: vec3 random_in_unit_disk() {vec3 p;do {p = 2.0*vec3(rand ...
最新文章
- 吴恩达deeplearning.ai最后一课上线,下一次得等多少年?
- input type类型_设备树下的input子系统
- SilverLight:基础控件使用(5)-TreeView控件-基本使用
- 【数码管/定时器/中断】一个定时器控制数码管显示
- shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表
- docker swarm 常用命令
- FreeSWITCH:WebRTC 配置
- c++函数如何返回一个vector_如何将Python的一个函数进行超时限制
- 《计算机网络》学习——第3章 数据链路层
- 【渝粤教育】电大中专沟通技巧_1作业 题库
- 中文编程语言实现:翻译器
- 《缠中说禅108课》96:无处不在的赌徒心理
- 海贼王剧场版:Z 剧情详解(附TS无字幕版地址)
- ORA-01790: expression must have same datatype as corresponding expression
- iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位
- 无线WiFi可以网络唤醒远程开机吗?WakeOnLan常见问题总结
- 实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
- opc ua 用哪种语言编写_OPC UA是什么 OPC UA简介
- app运营业绩统计管理框架模板
- 是未来所在还是昙花一现:共享汽车颠覆谁?
热门文章
- hdfs中与file数组类似的数组_EXCEL中数组的应用专题之十二:行列数相同数组的运算...
- html5 replace,js replace 与replaceall实例用法详解
- java获取文件地址吗_java获取文件所在服务器位置路径
- mysql 搜索正则表达式_mysql必知必会--用正则表达式 进行搜索
- php mysql 非空_PHP-为什么mysql接受非空字段为null
- java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...
- 电力系统服务器故障预案,电网预案推演系统及电网预案推演方法
- android 版本更新
- 广东中国科学院计算机网络信息中心,中国科学院
- 虚拟主机是设置在httpd-vhosts.conf还是vhosts.conf还是httpd.conf