前言
由于博客篇幅太长,所以分成了3篇博客来总结这一周学到的东西,希望大家不要见怪。
如果有兴趣阅读上两篇博客请点击:C#视频—C#基础(一)数据类型
C#视频—C#基础(二)量的定义
这次接着来介绍C#中的运算符和三大结构。
运算符
运算符分为:算术运算符、关系运算符和逻辑运算符。
算术运算符
1.一元运算符:只需一个操作数就可以自行运算。
// ++ --
2.二元运算符:需要两个操作数才能进行运算
// + - * / %
运算规则和数学上的规则相同:先算括号、再乘除、后加减,同级别从左到右计算。
3.符合赋值运算符
赋值运算符在所有的运算符里是优先级最低的。
// += -= *= /= %=
★ number = number + 10 和 number += 10 在内存上有什么区别?
前者是先把 number 这个变量取出来加10再放进去,而后者直接是在变量所在的内存空间中加10。所以我觉得以后还是尽量用后者比较好。
关系运算符
// > < >= <= == !=
逻辑运算符
// ! && ||
运算符之间的优先级
★小疑问:逻辑与(&) 和 条件与(&&) 的区别?
逻辑与是按位与运算符,可以对两个数的位进行按位与操作,结果还是一个数。当然它也可以进行条件与,但是与 && 仍有区别。下面来看一个例子:
class BitwiseAnd
{
static void Main()
{
// The following two statements perform logical ANDs.
Console.WriteLine(true & false);
Console.WriteLine(true & true);
// The following line performs a bitwise AND of F8 (1111 1000) and
// 3F (0011 1111).
// 1111 1000
// 0011 1111
// ---------
// 0011 1000 or 38
Console.WriteLine("0x{0:x}", 0xf8 & 0x3f);
}
}
// Output:
// False
// True
// 0x38
而条件与是对两个表达式的结果进行比较,最后得出真假,返回 bool 类型的值。
★当 & 参与条件比较时和 && 的区别?
&& 对两个表达式进行比较时,会进行“短路”运算,比如:false && true,会直接输出 false ,而不再去比较后面的表达式。
而 & 会对它两边的表达式都比较一样。
同理,| 和 || 也一样。
三大结构
相信大家已经对三大结构了如执掌了,所以本人只简单的总结一下。
选择结构
//if
//if……else
//if……else if
//switch (用于多分支语句结构)
循环结构
//while (先判断,再执行)
//do……while (先执行一次,再判断条件)
//for (明确知道一个循环的次数)