iT邦幫忙

7

何謂變數、變量、變數名稱?

  • 分享至 

  • twitterImage
  •  

其實在程式語言中有太多"專有名詞",我們一般上網在找尋時候,往往可能會看到不同稱呼讓一堆初學者在一開始時後容易混淆
(還是只有我會XD!!!!!!!!!!!!!?)

那麼標題所說這麼多其實總結來說他們都是同一種東西,只是可能所在地區不同會有不同說法罷了

那我們來深入了解它吧!!!!

變數(英語:Variable)

我們來舉個實際例子讓大家更能深入去了解它

首先呢!!

我們用個程式碼舉個例子

String computerA = null;

好的,當我們看到上方String後面有個computerA時,它就是所謂變數
(廢話但是我還是不懂啊!!!!)

好的好的~沒關係!!我們來畫個圖案吧~~~讓大家更深入了解一下
我們現在有一台電腦,我們希望有個東西可以去控制這台電腦那會是什麼呢??
沒錯!!就是我們滑鼠!!!

那我們再來假設一下

我現在有一台電腦,但是桌上有五個滑鼠只有其中一個連接這台電腦,只有它能去操控這台電腦而且螢幕上正在倒數炸彈時間,而您不能碰觸別的滑鼠!!!!否則一樣會爆炸!!!!
天啊!!!滑鼠都一樣情況下這分明要我去死嘛!!!
看到沒!!這就是沒有變數名稱下場!!!
那麼怎麼辦呢???
好在我們一開始就很聰明,先設定好了給予每個滑鼠一個"變數名稱",讓我們可以去分辨清楚~
請看以下範例圖
https://ithelp.ithome.com.tw/upload/images/20200608/2012770428BVtyXX1H.jpg

但是看完了這張圖,還是沒用阿!!因為我們computerA~computerE的"變數名稱"都沒指向這台電腦阿!!!!
我要怎麼去控制它,剩十分鐘了!!!
這個時候跳出一個人

https://ithelp.ithome.com.tw/upload/images/20200608/20127704nBsU0m8xJ2.jpg

它....是這麼說道...
I want to play a game,我把computerA的"變數名稱"指向了"電腦A"
去吧!!把炸彈解除您就可活命!!
哈哈哈哈.........

那麼當它說完這句話,程式碼中會怎樣去呈現呢?讓我們來看一下.

//宣告一個叫computerA變數名稱
String computerA = null;
//再把computerA指向了一個為"電腦A"記憶體空間中.
computerA = "電腦A";

那麼呢根據上述胡說八道一番後,我們大概了解了"變數"大概是什麼
讓我們總結一下吧

"變數"就有點像是一個滑鼠或是您可以拿遙控器來去想像它是一個什麼樣東西,它可以幫我們指向"記憶體"中的一個位置
然後來去對它進行操控,當然啦!!這不再有"型別"情況下也不是只要是變數名稱就可亂指來亂指去,所以不要誤會大了!!!

那是什麼意思呢? 我們還是拿剛剛例子來舉例:

一般情況下,我們電腦標配一定是鍵盤滑鼠標準配備,對吧!!!
(不要跟我說筆電的觸控板!!!!!)
好的總而言之呢,在正常情況下確實如此
那麼我們會拿著"電視遙控器"去遙控你的電腦嗎?
就算會好了 你也控制不了它XD
你更不會拿你家鐵門遙控器等等跟他無關東西去指向它,並且想盡辦法控制它,對嗎?
(拜託說對)

那我們就可以把電腦舉例成為一個"型別",它在你的家佔有一席之地"記憶體空間"
所以只能用相同對應東西去指向它,滑鼠這就是所謂"變數名稱"

我們用java來做程式碼上舉例吧~~~

//我們先找一個地方new出一個字串,這個字串會放在記憶體某個地方
"HelloWorld";

//再來我們給它一個可操控它的變數名稱
str = "HelloWorld";

//再來它是什麼樣型別呢?是String對吧!!那我們把它加上去

String str = "HelloWorld";

這樣大家清楚明白什麼是變數了嗎?

好的,到這邊謝謝大家耐心看完我的胡說八道,如果覺得有什麼不對,或是可以改善地方也歡迎多多指教.
謝謝各位~~~~~


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

2

很有創意的比喻哦~
我覺得你能夠用自己的話理解還蠻棒的呢~
/images/emoticon/emoticon12.gif/images/emoticon/emoticon12.gif

謝謝大大鼓勵XD!!!
我會繼續加油的!!!

不明 檢舉
【**此則訊息已被站方移除**】
0
iT邦新手 4 級 ‧ 2020-06-11 13:05:05

/images/emoticon/emoticon12.gif
很有趣

哈哈哈~謝謝

我要留言

立即登入留言