c#也算是半路出家了,基础不是很好,这几天重新学习了一下《C#入门经典》,算是打基础啦。前三章已经看完了,今天开始看第四章。
§1 C#简介
§2 编写C#程序
§3 变量和表达式
§4 流程控制
分支,循环
§4.1 布尔逻辑
布尔比较 关系运算符
=, !=, <, >, <=, >=
bool isLessThan10;
isLessThan10 = myVal < 10;
! 逻辑非
& 逻辑与
| 逻辑或
^ 逻辑异或
&&,|| 性能更好:先检查第一个操作数的值,第二个可能就不需要检查了
1.位运算符
&, | 这两个运算符可以用于对数值执行操作,实际上,他们处理的是存储在变量中的一系列位,而不是变量的值
^
~ 取反
>>,<< v1 = v2 >> v3; 把v2的二进制值向右移动v3位,就得到v1的值
2.布尔赋值运算符
&= 使用&而&&
|= 使用|而非||
^=
>>=
<<=
3.运算符的优先级更新
高 ++, --,(用于前缀); (); +, -(一元); !; ~
*, /, %
+, -
<<, >>
| <, >,<=, >=
| ==, !=
| &
| ^
|
&&
||
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=
低 ++,--(用作后缀)
4.goto语句
C#允许给语句加上标签
§4.2 分支
1.三元运算符
<test>?<resultIfTrue>:<resultIfFalse>
比较适合于简单的赋值语句,但不适合根据比较结果执行大量代码的情况
2.if语句
为了有条件的执行其他语句
if( )
{}
else if()
{}
else
{}
3.switch语句
switch语句非常类似于if语句,因为它也是根据测试的值来有条件地执行代码。但是,switch语句可以—次将测试变量与多个值进行比较,而不是仅测试一个条件。这种测试仅限于离散的值,而不是像“大于x”这样的子句,所以它的用法有点区别。
switch()
{
case : break;
case : break;
}
一个case语句处理完后,不能自由进入下一个case语句,但这个规则有一个例外。如果把
多个case语句放在一起(堆叠它们),其后加一行代码,实际上是一次检查多个条件。如果满足这些条件中的任何一个,就会执行代码。
§4.3 循环
1.do循环:至少要执行一次
do
{
}while( );
2.while循环
while( )
{
}
3.for循环
for(int i=1;i<=10;i++)
{
}
4.循环中断
break——立即终止循环
continue——立即终止当前的循环(继续执行下一次循环)
goto——可以跳出循环,到已标记好的位置上
return——跳出循环及其包含的函数
5.无限循环
§4.4 小结
本章介绍了可以在代码中使用的各种结构。
首先我们用一定的篇幅介绍了布尔逻辑,以及一些按位逻辑的知识*在学习了本章的其他
内容后,再回过头来看看这些逻辑,可以确信,在谈到执行程序中的分支和循环代码时,这个问题是非常重要的。熟悉本节讨论的操作和技术是根有必要的。
分支结构可以有条件地执行代码,当分文与循环一起使用时,pJ以在co代码4f创建出比
较复杂的结构。把循环嵌套起来,再放在if结构中,就会发现代码的缩进是非常有用的。如
果把所有的代码都放在屏幕的左端,就很难分析它们了,甚至更难调试。此时应确保代码的缩进——读者以后会赞赏它的!0K,vS为此做了大量的工作,但最好在输入代码时进行缩进。