1.表达式的定义
算法逻辑的最基本(最小)单元,表达一定的算法意图。因为操作符有优先级,所以表达式也有了优先级。
2.各类表达式概览
(1)C#语言中表达式的分类
a.能得到值的运算;表达式得到的数据类型称为表达式的类型。
b.一个变量
c.一个名称空间
d.一个类型
c.null值表达式
d.一个匿名方法
e.属性访问
f.对象事件访问
g.访问集合的成员(索引器)
h.Nothing.对返回值为void的方法的调用
(2)复合表达式求值
注意操作符的优先级和同优先级操作符的运算方向。
3.语句
(1)语句的定义
语句是高级语言的语法,语句等价于一个或一组有明显逻辑关系的指令(指令是针对低级语言对机器的可由机器执行的命令)。(由词成句)
C#语言的语句除了能够让程序员顺序的执行表达算法的思想,还能通过条件判断、跳转和循环循环等方法控制程序逻辑的走向。(语句是独立的)
简而言之:陈述算法思想、控制逻辑走向、完成有意义的工作(action)
C#语言的语法由分号结尾,但分号结尾的不一定都是语句
语句一定出现在方法体里。(判定标准)
(2)语句详解(大类)
a.标签语句,
b.声明语句。
c.嵌入式语句
(3)详解
a.声明语句
局部变量声明:声明方法:局部变量类型选哪个+本地变量声明器。
常量声明语句:常量在声明时必须加初始化器。方法是在前边加const。
b.表达式语句
语句表达式+;。语句表达式是可以当做语句使用的表达式。
c.块语句:用于在只允许单个语句的上下文中编写多条语句。块语句由一个扩在大括号内可选的语句列表。语句列表由一个或多个顺序编写的语句组成。编译器永远将一个块语句当做一条语句。块语句中可以使用任一语句(三种。)变量的作用域:在块之前声明的变量可以在块中使用,那个的变量出了块就不能被访问了。
d.选择语句:if语句:分为两种样式。一种是不带else的,包括if+圆括号(布尔类型的表达式)+嵌入式语句(一条)。带else语句由if+(布尔类型表达式)+嵌入式语句+else+嵌入式语句。switch语句选择一个要执行的语句列表,此列表具有一个相关联的switch标签,它对应于switch表达式的值。switch关键字+(特定表达式)+switch块。标签case对应数据类型应该是常量。。try语句:它提供一种机制,用于捕捉在块执行期间发生的各种异常。此外,它还能指定一个代码块,并保证当控制离开try语句时,总是先执行该代码。它有三种类型,一是try+块+catch子句,二是try+块+finally子句,三是try+块+catch(多)+finally。其目的是提高程序的容错率。throw关键字,转移异常将其交给调用它的方法。
e.迭代(循环)语句与跳转语句:(1)while语句:while+(布尔循环条件)+嵌入式语句。do while语句:do+循环体(块语句)+while+布尔类型的表达式。do语句至少执行一次。for循环:该语句计算一个初始化表达式序列,然后,当某个条件为真时,重复执行相关嵌入语句并计算一个迭代表达式序列。多用于计数循环(循环次数由循环变量控制,为固定值)。其构成包括for+(for循环初始化器(执行一次)+for循环执行条件(布尔)+每次循环体执行完进行执行的表达式)+循环体。foreach语句:用于枚举一个集合的元素(遍历一个集合),并对该集合中的每个元素执行一次相关的嵌入语句(循环体)。数组和泛型可以迭代IEnumerator。迭代器。Forech运距格式:关键字+(迭代变量in集合)循环体。(2)跳转语句:continue语句是放弃当前循环,立刻开始下一次的循环。Break语句结束循环语句,执行循环语句后的语句。对于多重循环,此两个语句仅管自己的一层。go to语句,throw语句,return语句:尽早return。如果返回值不是void类型,方法体中使用了选择语句,就必须保证每个选择分支中包含一个return。