C#學習回顧筆記三:變量是什麼,變量有什麼作用

1)變量是什麼?

變量是用於保存特定值的一種方式,通常對一個值進行處理時,有時候爲了能多處使用這個值,或者說這個值很複雜很長,那就可以用變量來保存。比如用變量a來保存一個很長的值,那麼之後要使用這個值時,直接對變量a進行處理即可,這樣更加方便。

變量可以理解爲一個抽屜。抽屜的作用是裝東西,那麼變量的作用就是裝【值】。既然強調了變量可以理解爲抽屜,這裏也引入一個觀念:每個抽屜都有一個不重複的編號,也就是這些抽屜的名字。所以變量的名字也不能重複。

2)爲什麼使用變量?

先來說說以前我們怎麼輸出的"HelloWorld",直接用Console.WriteLine("Hello World");就可以做到,但我們可以用更方便的方法來做這件事情:

class Program
    {
        static void Main(string[] args)
        {
            string s = "Hello World";
            Console.WriteLine(s);
            Console.ReadKey();
        }
    }

這樣能達到跟Console.WriteLine("Hello World");一樣的效果,但這樣做卻更好。如果需要在屏幕上輸出十句以上的Hello World,那麼Console.WriteLine(s);顯得比Console.WriteLine("Hello World");更加輕鬆。

之後的編程我們需要經常使用變量來代替這種直接性處理值的操作,因爲直接對值進行各種操作很麻煩,也不方便維護(不是說不可以直接對值進行操作)。

3)如何使用變量?

變量的聲明方式是:變量類型 變量名 = 值;比如:


變量的聲明基本遵照這種格式來。此時可以發現,前面的string、int、double又是什麼?這就是變量的類型。string表示這個變量的值必須是string類型(通常也叫字符串類型),int表示這個值必須是int類型(通常也叫整數類型),double表示這個值必須是double類型。變量類型嚴格決定了這個值必須是哪種類型,比如int num = 125;這一句,如果改成int num = 16.7;就絕對會報紅線的錯誤,因爲16.7是double類型的值,而int類型的值不允許出現有小數點。一門語言裏的變量類型有很多種,而且每個變量類型都有嚴格的取值範圍劃分。爲何要定義的那麼麻煩?實際上學到後面就會感覺到這樣做的好處。總而言之現在需要先確定好要聲明變量時,我們的值是什麼類型,然後再確定好要使用的變量類型。

變量名通常來講可以隨意取名,但要時刻記住:名字瞎起是扯淡!我們需要嚴格定義好自己變量的名字,一方面防止自己忘記這特麼寫的什麼鬼,另一方面也是方便其他人閱讀自己的代碼。在編寫代碼時,自己隨意使用什麼a、abc之類的命名方式,可能到後面自己都會忘記究竟在寫些什麼東西。既然可以隨意命名,爲何不寫的更加通俗易懂點?比如聲明一個變量保存手機號:string phoneNumber = "13121110156';這樣看到phoneNumber就可能想到這句話是什麼意思。

4)補充

接下來講幾個變量的常識:

1.變量類型有很多,現在需要注意的變量類型有兩大類:字符串類型和數值類型。之所以強調這個,因爲變量類型的不同,在程序中也會起到不同的作用。常見的字符串類型就是string類型,數值類型就是int、double類型等。比如聲明一個變量保存手機號,既然手機號是整數數字,肯定想的是“爲何不用int類型變量”,實際上,這涉及到變量類型的保存範圍,int類型的變量,如果值越大,對性能影響也就越大。對int類型變量來說,塞的值越大,壓力也就越大。所以這時候應該採用string類型,這種類型只是保存字符串,因爲手機號從不參與算術運算,所以根本不需要用int類型來保存。int和double類型的值主要是針對可能出現算術運算的值,比如年齡:int age = 12;,比如白菜價格:int price = 3;這些值都是可變化的。所以對於要聲明何種類型變量保存何種值,需要現在就養成學會判斷的情況。

2.變量相加會發生什麼?字符串類型變量相加,會形成新的一個字符串。比如:

class Program
    {
        static void Main(string[] args)
        {
            string str1 = "12";
            string str2 = "15";
            string str3 = str1 + str2;
            Console.WriteLine(str3);
            Console.ReadKey();
        }
    }
將會輸出1215,注意這裏並不是12和15相加,因爲是字符串類型,只是簡單地按照左右順序拼接在一起而已。那麼數值類型的值相加呢?比如:

class Program
    {
        static void Main(string[] args)
        {
            int num1 = 12;
            int num2 = 15;
            Console.WriteLine(num1 + num2);
            Console.ReadKey();
        }
    }

屏幕將會輸出的是27,所以這就是數值類型變量與字符串類型變量不一樣的地方。

3.變量類型的值變化問題。比如:

class Program
    {
        static void Main(string[] args)
        {
            string str1 = "Hello";
            str1 = "World";
            Console.WriteLine(str1);
            Console.ReadKey();
        }
    }
在聲明字符串變量str1並賦值爲"Hello"之後,又執行了str1 = "World";相當於把之前的值替代了,可以大概理解爲“Hello”消失不見了(實際上這個"Hello"在內存中還存在着,這裏不詳細講爲何),str1的值被新的值替代了。

4.變量類型推斷。類型推斷可以使用var關鍵字。編譯器會自動根據等號右邊的值判斷出是什麼變量類型。比如:var b = true;會自動識別這個b是bool類型的變量。var a = 12;會自動識別這個a是int類型變量。

5.特別強調程序裏等號“=”的作用。在程序裏的等號應該理解成“賦值給……”,比如int a = 12;就應該記成“聲明一個int類型的變量並賦值12”,也就是將等號右邊的值賦值給等號左邊,而不應該單純理解爲“理解爲a等於12”。在C#裏只有雙等號用於判斷兩個值是否相等(實際上還有一個equals(),這裏不詳細講)。

發佈了44 篇原創文章 · 獲贊 15 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章