++? --? 一元運(yùn)算符
++ / -- 在數(shù)字操作前氢惋,先進(jìn)行自加/自減俯邓,再做其他運(yùn)算
++ / -- 在數(shù)字操作后讲弄,先進(jìn)行操作检号,再進(jìn)行自加/自減
int a = 1;
a++; ? ? //a = a + 1;
a--; ? ? ? //a = a - 1;
float b = 1.0f;
b++; ? //b = b + 1;
b--; ? ? //b = b - 1;
int c = 3;
int d = c + a++; ? ? ?//a= 2? d= 4
int e = c + ++a; ? ? ?//a= 3? e= 6
Console.WriteLine ("{0}首懈、{1}、{2}",d,e,a);
三元運(yùn)算符 ??:
int a = 10,b = 9;
int c = a > b ? a : b; ? ? //判斷a>b,成立取a谨敛,否則為b
string a,b; ? //a與b比較
a.CompareTo (b) == 1 ? a : b;
int a = 3;
int b = 5;
int max = a > b ? a : b;
if (a > b) {
? ? ? ? ? ?max = a;
} else {
? ? ? ? ? ?max = b;
}
邏輯運(yùn)算符 與:&&? 或:||? 非:!(0選1 ?1選0)
短路機(jī)制
bool isRight = false;
Console.WriteLine ("{0}",!isRight); ? ? ?//? true
int a = 2, b = 3,c= 4;
&&
真? 假? 真? 假
假? 真? 真? 假
假? 假? 真? 假
if (a > 4 && b < 5) {
Console.WriteLine ("滿足條件");
}
||
真? 假? 真? 假
假? 真? 真? 假
真? 真? 真? 假
if( a>c || b
Console.WriteLine("滿足條件");
}
短路機(jī)制
if(a++ >=3||--c <=4){
Console.WriteLine ("a = {0},c = {1}",a,c);? // a=3,c=3
}
if(a++ >=2||--c <=4){
Console.WriteLine ("a = {0},c = {1}",a,c);? // a=3,c=4
}
if(a++ >2&&--c <=4){
Console.WriteLine ("a = {0},c = {1}",a,c);? // a=3,c=4
}
按位計(jì)算符
&? 按位與
1? 0? 1? 0
1? 1? 0? 0
1? 0? 0? 0
00101101 00110010
10010010 00100110
00000000 00100010
|? 按位或
1? 0? 1? 0
1? 1? 0? 0
1? 1? 1? 0
^? 按位異或
1? 0? 1? 0
1? 1? 0? 0
0? 1? 1? 0
~? 按位取反
int a = 15; ? //00001111? >> 00000011? 按位向右移動兩位
int b = 60; ? //00111100? << 11110000? 按位向左移動兩位
00001100? &
00111111? |
00110011? ^
11001100? ~
int c = a ^ b;
Console.WriteLine ("{0}",~c);
>> <<? 按位移動,空處補(bǔ)零
int d = a >> 2;
int e = b << 2;
Console.WriteLine ("{0}滤否、{1}",d,e); ?//d = 3? e = 240