4.1
C # 将运算符分为三类 1. 一元运算符2.二元运算符 3. 三元运算符
4.2 使用初等表达式 是运算符的重要组成部分。
几种不同的初等表达式:
1:字面值 在C#中 直接使用硬编码的值。
比如 if (FirstName = ="Brain")
Brain 就输入直接使用硬编码
也可以这样 将其存入某个变量中,然后再进行比较。
string MyFirstName = "Brain";
if (FirstName == MyFirstName)
两个布尔型的字面值 true and false.
十进制 及 十六进制的字面值
int MyVariable = 125;
int MyVariable = 125U;U指 无符号类型的;智能调整大小。
int MyVariable = 125L; 说明是 long型的;
采用十六进制的时候,可以采用 A---F 及0---9,字母大小写均可。
实字面值 即 使用浮点值
数字+指数+数字
实字面值没指定的话认为是 double 否则:
float MyVariable = 7.5F ;说明为浮点值
double MyVariable = 7.5D;说明为double 类型的
decimal MyVariable = 7.5M;说明 是decimal类型的.
使用字符字面值 指定 字符的值:
char MyVariable = 'a';
使用字符串的字面值嵌入字符串:
string MyVariable = "Hello from C#";
使用空的字面值,是C#的一大特色。
object MyObject = null;
2 标识符:
C#中的编写的标识符是一些简单的表达式的实例。
如下 int MyVariable = 123;
标识符有类型,在声明标识符的时候必须指明类型。
3带括号的表达式:
带括号的表达式的值为括号内的表达式计算后的结果。
4成员访问:
调用对象的方法 表达式 如下: object.method 对象+点+方法
Myclass MyObject;
MyObject = new MyClass();
MyObject.Main();
5 调用表达式:
class MyClass
{
public static void Main()
{
MyClass myclass = new MyClass();
myclass.DoWork();
}
void DoWork()
{
// do work here
}
}
上面的例子中, Main()方法调用而来DoWork()方法。
6元素访问:
class MyClass
{
public static void Main()
{
int[] MyArray
MyClass myclass = new Myclass();
MyArray = new int[5];
MyArray[myclass.GetArrayIndex()] =123;
}
int GetArrayIndex()
{
return 0;
}
}
7 this 关键字: 当表达式中或函数中 含有类 或新定义的类时, 并出现this ,则this 代之 该类。
C#还定义了base 关键字 最初的base class 另外够造出的 derivaed class
8库访问
9后缀方式的增一 或减一:就是以前了解过的i++类似。
10new 运算符 前面已经用于创建数组,此外还可以 创建对象。
11 typeof 运算符 是C#的一个关键字。用于返回标量类型的信息。
12 checked and unchecked 运算符:
checked(Int1+Int2);
unchecked()表达式是默认的情况,表示为unchecked()的表达式不检验值的合法性,并且未检验的,无意义的值继续运行程序。
4.3 理解一元表达式
一元加法表达式
一元减法表达式
逻辑求返回运算符 即 感叹号! 将 true or false 求返的过程。
按位求返运算符 就是 将二进制 1 变为0, 0变为1 过程。按位求返时将波浪号
~ 放在表达式的前面。
例如:
Int1 = 123;
Int1 = ~Int1;
间接运算符
取地址运算符
前缀方式增1 或减1运算符 注意 使用前缀方式的运算表达式时候, 在求出表达式的值之前改变数值的大小;使用后缀的方式的运算符时,在求出表达式的值之后改变值的大小。
类型转换运算符
4.4 理解算数运算符
1 赋值运算符 可以一次给多个变量赋值
MyInteger = 3;
MyInteger =MyOtherInteger =3;
2 乘法运算符
3 除法运算符 除法运算符 得到的如果不为整数,则取商数。
4 加法运算符 字符相加的时候得到 链接的字符串
如下
string CombinedString = "Hello from" + "C#";
得到 CombinedString 的结果 Hello from C#
5 减法运算符
6 取余运算符
4.5 理解位移运算符
包括左位移运算符 及右 位移运算符
都是将数字转化为 二进制的数字,然后执行 移动。
关系型的运算符 允许 比较两个表达式的值 ,并得到一个布尔型的结果。
== 表示恒等运算符,来比较两个 值是否相等。
!= 不等运算符
< 小于运算符
> 大于运算符
<= 小于等于运算符
>= 大于等于运算符
上面这些应该都属于 比较运算符
4.6 理解整数逻辑运算符
AND & 运算符
MyInteger = 6 & 3;的结果为2
也就是 将 6 和3 都化为二进制后,相同且都为1 才不变,其余为0了
exclusive OR ^运算符
跟上面的意思差不多,就是 只有两个相同位置上都一样的情况下结果才为1.
OR | 运算符
只要两个相同位置上有至少一个为1 时候结果才是1.
4.7 理解条件逻辑运算符
条件与 conditonal AND &&
MyBoolean = true && false; 只有两者都是true 是才是true
conditional OR
MyBoolean = true || false;
只要一个为true 结构都为true .
条件逻辑conditional logic 唯一的三元表达式
MyInteger = (MyVariable == 123)? 3:5;
比较选择。
4.8 理解运算的次序
C#
初等表达式
一元运算符
乘除运算
加减运算符
移位运算符
关系运算符
相等不等运算符
逻辑与运算符
逻辑异或运算符
逻辑或运算符
条件与运算符
条件或运算符
条件三元运算符
赋值运算符