这是我一边学习一边写下的笔记,如果内容有错,恳请在下方留言跟我说,我会非常感谢的!!!
基本运算
一个运算式要由运算元与运算子组成
算术运算子
运算的结果会与变数型别有关係
int a = 5 / 2;a = 2 因为变数a的型别int是整数类,C# 会自动省略小数点之后,只留下整数的部分存进变数里面
string型别也适用于加法(只适用于加法)
string a = "Hello";string b = " World!";string c = a + b; 这时string c会储存Hello World!的字串
接下来要看一个特别的例子
这时的MessageBox会显示
关係运算子
条件逻辑运算子
只有一个的|还有&,在进行判断时,前后两个运算元都会评估。
两个的||和&&,在进行判断时,只有在必要时才会评估右边的运算元。
举例来说:
假 & 真:已经知道第一个是假了,&还是会求出前后运算元的值才进行判断
假 && 真:第一个已经是假了,结果必定为假,&&不用求出右边运算元的值就会进行判断
所以在进行判断时||跟&&是比较有效率的,比较重要的比较值就放前面啰~
複合指定运算子
要注意複合指定运算子不包刮递增(++)及递减(--)
下面的三个算式结果是一样的(只有在+1的时候第三条算式才会一样)
int a =1;a = a + 1;a += 1;a ++;
位元运算子(2进制)
元运算子运算之前要先把10位元转换成2位元
如果是11就是1011,11 = 8 (3次方) + 2(1次方) + 1(0次方)
再来就套用位元运算子
举例
5^3 = 0101 5 ^0011 3= 0110 6
左移右移
选择将位元左移"<<"或是右移">>"N位元移动后的值空的位置补0以31作範例 (11111)
int x = 31 << 3 就是31*2*2*2 = 248int x = 31 >> 3 就是31/2/2/2 = 3左移 1111 1000 = 248右移 0011 = 3
参考资料
Day08-C#运算式与运算子(+、-、*、/、>、<....等)-来用C#算数学吧!(上)
Day09-C#运算式与运算子(+、-、*、/、>、<....等)-来用C#算数学吧!(下)
C#基础