天天看點

C#程式設計入門_表達式和運算符_3

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);
           
C#程式設計入門_表達式和運算符_3
C#程式設計入門_表達式和運算符_3
C#程式設計入門_表達式和運算符_3
C#程式設計入門_表達式和運算符_3

算術運算符優先級

算術運算符有很多,我們隻需要記住複制号=的優先級最低 小括号的優先級最高()即可,在模棱兩可的時候,可以通過加()來避免代碼發生歧義