後端工程師的第一堂課 (3) : 變數與資料型態

Johnliutw
JohnLiu 的軟體工程思維
7 min readMay 20, 2022

--

這是篇共 30 篇的後端領域入門系列文章,預計 1 -2 週新增 1 個新文章。
在後端領域有許多資源在告訴我們怎麼寫好 Python, Golang, Java, PHP … 等各種程式語言。但卻很少告訴我們怎麼學會 Web 後端領域 的知識。

希望你可以透過這篇文章,搭配你正熟悉中的某門任何程式語言,讓你順利入門 Web 後端 :)

【後端工程師的第一堂課】全系列: https://medium.com/@johnliutw/list/da301cc31b15

這篇文章中,我們會從最基本的程式邏輯開始講起,這些邏輯是貫穿所有程式語言,是所有軟體運行的邏輯基礎。

此系列示範程式碼語言會已 python, java 的混合虛擬語法風格為主,但寫法概念基本上全語言通用,未來如有使用其他語言情形,會再多說明。

變數

首先要提到的,是變數的概念,在電腦的世界中,有無數的資料需要被處理、運算。例如 計算機。

計算機在每次使用者點擊 + 、 = 等等運算符號時,螢幕上的數字,都會被暫時儲存起來,而儲存的地方,就是 變數

例如,現在電腦要運算我的 BMI 值(掩面 ),他需要有地方儲存我的體重和身高,那他就會在電子世界,建立兩個空間,一個命名 weight,一個命名 height ,並且在這個空間裡面放入兩個數字,65 和 175。

寫成程式呢,就會長得像這樣:

那電腦在計算的時候,就可以從這兩個儲存空間取出資料,
並做運算,還可以把算完的結果新存在 bmi 這個新的空間:

因此在撰寫程式時,我們需要先思考,我們有哪些不同種類的資料,要怎麼儲存並命名那些空間。

資料型態

在儲存這些資料的時候,我們的電腦,其實會針對被儲存的資料有一些特定的限制,電腦會設定這個空間,只能儲存 特定類別 的資料。

目前程式語言最常用的類別可以分為以下四種,左邊是類別名稱,右邊是該類別的範例:

1. 字串 → “頑童MJ116”
2. 整數 → 9487
3. 浮點數 → 9487.555
4. 布林值 → True

字串 ( String )
字串類別,是指該儲存空間只能儲存『文字』,例如上面舉例的 “頑童MJ116”,寫成程式碼:

這邊的程式碼意思為:『text』這個儲存空間裡面,儲存了『頑童MJ116』這個詞。

而最一開始有提到,電腦會限定該儲存空間的型態名稱,我們來看看實際可以運行的程式碼會長什麼樣子:

這邊就會看到,電腦會設定『text』這個是『字串(String)』類別的變數,
而且裡面儲存了 『“頑童MJ116” 』這個資料。

要特別注意的是,那段文字旁邊需要加上雙引號『””』,才會被判斷為字串喔!字串公定的名稱通常就是 String,而有些看到類似 CharText的相關名稱,也可以認知跟 String有類似的概念,但在不同情境下的意義仍有不同。

整數 ( Integer )
整數類別,是指該儲存空間只能儲存 整數的數字,像是上面的舉例: 9487,而要設定變數為整數類別,有些程式語言會使用 int 這個詞,但全名還是會用 Integer,比較完整

要注意的是,在限定類別的情況下,如果 number這個變數塞進了『頑童MJ116』這個詞,在部分程式語言的運行中,是會直接出錯,停止整個程式,因此去構思每個變數應使用的資料類別,是非常重要的事情。

浮點數 (float)
浮點數類別,是指說該儲存空間只能儲存 有小數點的數字,因此上面的例子9487.555,因為有小數點,才能被儲存進浮點數類別的變數裡。

下面的程式碼就是浮點數的設定:

而如果要儲存整數進這個變數裡,該整數會被加上 .0 ,因此 9487 會變成 9487.0

在某些語言裡也會有類似的類別叫做 double 和 decimal ,但就不在此贅述,有興趣的讀者歡迎可參考此文章對三者的比較:

布林值(boolean)
布林值類別,是對於一般正常人類來說最抽象混沌的概念,這個類別只有兩種值,TrueFalse,代表的意思,可以簡單成分別是 對的 錯的

在程式的世界裡會有非常多的判斷情境,例如:
1. 天線寶寶的智商大於 150 這件事是 對的,就跳出推薦天線寶寶動畫給小孩的廣告。
2. 現在瀏覽者如果是成年這件事是 錯的,就跳出詢問是否滿 18 歲的彈出式視窗(然後 99% 以上都按…)

針對第二個條件,程式碼可以寫成:

我們就可以根據 is_adult 這個變數的值,去做出更多的判斷變化!

Null
Null 是一個非常特別的值,但是也是非常重要需要知道的概念。

Null 指的是 空無,他跟 的意思不太一樣,就像一個邊緣人旁邊,看起來都是空的,因為沒有任何物體,但是至少還有空氣,代表空。

但是空無,就像真空的狀態,邊緣人旁邊連空氣都沒有的程度,這個就是『空無』的概念。

用程式寫起來,就會像這樣:

在程式面也會有個特色,字串會有一些功能,使用在空的值上,造成的效果是沒有任何效果,但放在空無,也就是 null 上,會變成 產生錯誤,可能會讓程式中止,所以在寫程式的時候,要很小心這件事。

另外在不同的程式語言中,Null 會特別是一個資料的類型,不會跟 string 有關聯性,例如在 Python 中,會被取代為名叫 None 的資料類型。

保留字
現在我們學會了如何宣告變數,並且可以根據個人語言的造詣,設定自己喜歡的變數名稱。

但在程式的世界裡有個特殊的規則,叫做 保留字。它的意思是,你不可以把變數命名為保留字的其中一個。

這些保留字通常是程式語言會用到的特殊語法,例如上面學到的 string , int, floatboolean。也就是說,你不能把變數命名為前述的其中一項。

讀者也不用擔心會被限制許多,或是要先了解所有的保留字,可以跟著我的脈絡,就能逐漸理解通常那些字會是保留字囉~~

--

--

Johnliutw
JohnLiu 的軟體工程思維

熱愛軟體全端技術開發,較為擅長 Web 領域,並有多年線上與線下授課經驗,專精軟體新手教學。 相關合作: johnliutw@hotmail.com