21篇C#部落格的配套源碼
算術運算符
(+ 加 -減 * 乘 / 除 % 取模 ++ 自增 – 自減)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 運算符和表達式
{
class Program
{
static void Main(string[] args)
{
// + =
//先計算指派号的右側 将右側的計算結果儲存在變量中
int ret = + ;
Console.WriteLine(ret);
ret = - ;
Console.WriteLine(ret);
ret = / ;
Console.WriteLine(ret);
//整數除以整數 如果不能整除 計算結果将會是兩個整相除的商
ret = / ;
Console.WriteLine(ret);
//下面的結果也是正确,稍後講解
//取整操作 得到的是商
float retFloat = / ;
Console.WriteLine(retFloat);
Console.WriteLine("retFloat={0}", retFloat);
double retdouble = / ;
Console.WriteLine("retdouble={0}", retdouble);
/*
* 除法總結:
* 整數/整數 得到整數 如果不整除 那麼得到的是商
* float類型的浮點數/整數 得到float類型的浮點數
* double類型的浮點數/整數 得到double 類型的浮點數
*
*
*/
ret = * ;
Console.WriteLine(ret);
//取模操作 也就是得到餘數
ret = % ;
Console.WriteLine(ret);
Console.WriteLine("-----------------------------");
int num1 = ;
//num1++; // 同 num1 = num1 + 1;
num1 = num1 + ;
Console.WriteLine(num1);
Console.WriteLine("*******************************");
int num2 = ;
//++num2; // num2 = num2 + 1;
num2 = num2 + ;
Console.WriteLine(num2);
Console.WriteLine("****num3****");
int num3 = ;
//先列印num3的值 再進行加法運算
Console.WriteLine(num3++); // 10
Console.WriteLine("num3={0}",num3); //11
int num4 = ;
//先進行加法運算 然後再列印num4的值
Console.WriteLine(++num4);
Console.WriteLine("++++++++++++++++++++++++++++++++");
int num5 = ;
//下面的代碼等同于 Console.WriteLine(num5++);
Console.WriteLine(num5); //10
num5 = num5 + ;
int num6 = ;
//下面的代碼等同于 Console.WriteLine(++num6);
num6 = num6 + ;
Console.WriteLine(num6);
/*
* 總結 :i++ 是先使用i 的值 然後在進行i = i+1; 的運算
*
* ++i 是先進行i=i+1運算 在使用i的值
*/
}
}
}
指派運算符
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 指派運算
{
class Program
{
static void Main(string[] args)
{
int num1 = ;
int num2 = ;
int ret = num1 + num2;
Console.WriteLine(ret);
num1 += num2; //num1 = num1 + num2;
Console.WriteLine();
// 1+ 2 + 3 + 4 +5
int result = ;
result += ; // result = result + 1;
Console.WriteLine(result);
result += ; // result = result + 2;
Console.WriteLine(result);
result += ; // result = result + 3;
Console.WriteLine(result);
result += ; // result = result + 4;
Console.WriteLine(result);
result += ; // result = result + 5;
Console.WriteLine(result);
int num3 = ;
int num4 = ;
num3 *= num4; //num3 = num3 * num4;
Console.WriteLine(num3);
num3 = ;
num4 = ;
Console.WriteLine(num3%=num4);
}
}
}
位運算
Console.WriteLine(&);
Console.WriteLine(|);
Console.WriteLine(~);
Console.WriteLine(^);
Console.WriteLine(^);
Console.WriteLine(^);
//異或交換
int num1 = ;
int num2 = ;
//13 6 11
num1 = num1 ^ num2;
//6 13 11
num2 = num1 ^ num2;
//11 13 6
num1 = num1 ^ num2;
/*
* 位運算 總結:
* 按位與:全1才為1
* 按位或:全0才是0
* 按位非:-(數字+1)
* 按位異或:相同為0 不同為1
*
*
*/
bool ret1 = <= ;
Console.WriteLine(ret1);
算術運算符優先級
算術運算符有很多,我們隻需要記住複制号=的優先級最低 小括号的優先級最高()即可,在模棱兩可的時候,可以通過加()來避免代碼發生歧義