C#的運算符有三種:一元運算,二元運算和三元運算。所謂二元運算就是參加運算的變量有兩個,其他兩種類推。
一. 數學運算
一元的包括:+,-,++和--。
如:int x=10; int x1=+x;int x2=-x;那麼x1=10;x2=-10.
這兩個運算比較簡單。二元運算:加、減、乘,除,取余、,對應的符號是+,-,*,/和%;其中前面4個我不想多說,小學就學過,基本上是:變量1=變量2(加減乘除)變量3的模式;主要學習取余運算。例如:x=42%10;結果x=2,其實取余運算和數學上是取模的原理是一樣的,就是第一個數字除以第二個數字得到的余數。int y=81%9;那麼y=0;這樣的運算在小學就回,這裡提問的方法不一樣。
另外加號+在字符串中的可以當作兩個字符串合並。請看下面的例子:
string str1 = "hello";
string str2 = "你好";
string str3 = str1 + str2;
Console.WriteLine("str1={0}",str1);
Console.WriteLine("str2={0}",str2);
Console.WriteLine("str3=str1+str2:{0}",str3);
Console.ReadKey();程序的其他部分省了。
其輸出結果是:
自增和自減運算:++,--
這兩個運算在後面的循環中有很大的作用,++的作用是自己的值+1,--就是自減1.但在賦值運算的過程 int a=10;
那麼:int b=++a;int c=a++;結果b和c是不相等的。
int a = 10;
int a1=a;
int b = ++a;
int c = a++;
Console.WriteLine("a原來的值a1{0}",a1);
Console.WriteLine("a後來的值{0}", a);
Console.WriteLine("b=++a{0}", b);
Console.WriteLine("c=a++{0}", c);
輸出的結果是:
解釋:在b=++a這裡,先是a自加+再賦給b;同時用 a1=a;來保存a原來的值。
此後經過a=a1;a的值又變成10;c=a++;這裡a先將值賦給c再自增1.
同樣++運算也是一樣的。總之,如果++或者—在前面,那麼就是先自增或者自減,再賦值,如果++和—在後面則是先賦值再自增自減。
二. 賦值運算符號
主要運算包括:=(賦值),+=,-=,*=,/=,%=。
賦值=運算很簡單,基本是把兩個類型一樣的變量的一個的值賦給另一個。
int x = 0; int y; y = x;剩下的四個運算原理都是一樣的,如下面的例題所示:
int x1, x2, x3;
x1 = 11; x2 = 12; x3 = x1;
x1 += x2;//x1=x1+x2;
x2 -= x3;//x2=x2-x3;和x2=x2-x1;一樣
Console.WriteLine("x1原來的值是{0}",x3);
Console.WriteLine("x1+=x2後x1的值{0}",x1);
Console.WriteLine("x2-=x1後x2的值{0}",x2);
Console.ReadKey();
結果是:
再看*=;
int x1, x2, x3;
x1 = 11; x2 = 33; x3 = x1;
x1 *= x2;//x1=x1*x2;
x2 /= x3;//x2=x2/x3;和x2=x2-x1;一樣
Console.WriteLine("x1原來的值是{0}",x3);
Console.WriteLine("x1*=x2後x1的值{0}",x1);
Console.WriteLine("x2/=x1後x2的值{0}",x2);
輸出的結果是:
剩下的結果請讀者自己編程體會。
這裡要說明的一個地方是:Console.WriteLine("x1*=x2後x1的值{0}",x1);中的{0},這個是使用指定的格式輸出,請看:
Console.WriteLine("x1的值是{0},x2的值是{1},x3的值是{2} ",x1,x2,x3);結果是: