小屋創作

日誌2018-08-28 17:03

宣告, 變數與基本資料類型

作者:播磨拳兒

這回真的可以進入我們的Java基礎了

對於電腦而言,他是啥都不懂

唯有「下指令」才能驅使電腦動作

每個動作你都必須講得非常詳盡

這邊開始就要先教所謂的「宣告」和「變數」

=======================宣告與變數=======================

宣告 這個行為是程式語言基礎中的基礎中的基礎中的........

因為你要告訴電腦:我要開一個記憶體來裝ABC的資料

就像你跟別人(電腦)説:請在桌上(電腦腦內)放一個裝ABC資料用的容器(記憶體)

而這個容器我們必須明確地說道他是裝什麼用的

這個行為我們稱之為「宣告」

在Java的世界中

宣告是可以事後給資料

給值的動作我們稱之為指派(assign)

也就是說你可以先向電腦要容器,容器裡面可以不用裝資料

這個容器我們稱之為「變數」或「常數」(變數與常數的差異之後會解釋)

但是沒有資料的容器如果使用它會導致程式直接跳錯唷

那我們要如何跟電腦說我們要一個容器?

口語化一點:請給我一個叫小白的容器裝數字123

而程式的表示方式就是 int 小白 = 123;

大概就是這種感覺吧



(黑色杯子我喜歡叫小白不行嗎= =)

當然,正式的Java程式裡面不會用中文當變數名

int是基本資料類型中的「整數」,稍後會解說

而「小白」就是我們給這個容器的名字

所以完整的宣告式為: 資料型態 變數名 = 資料;

空白一定要空,不然會被視為同一個單字

最後面的分號「;」代表這一行程式結束,不然我寫兩行、三行甚至一萬行都會在程式裡面視為一行

但是也是有一些程式語言沒有分號,像是IOS現在比較力推的Swift

不過這不在我們的討論範圍,知道一下就好

容器名字盡量取有意義點的名字(這也是程式設計師最頭痛的地方= =,常要想變數名....)

因為我們在程式設計時不是只有宣告出來裝資料,當然還要應用

就像你拿杯子裝水,不是澆花就是喝水



只是杯子現在是裝123,那我們當然就要拿來應用啊

像是這邊我就會命名為number

所以完整的宣告式大概就像這樣: int number = 123;

在電腦的記憶體世界裡,沒有容器裝的資料是沒辦法顯示的

就像我現在跟你說一個阿薩噗魯的東西,你的腦袋裡不會知道我說的阿薩噗魯是啥鬼吧?

電腦也是一樣

你現在已經知道一個杯子叫number, 而這個number的杯子裡面裝的是整數的數字123

其實國中時候所學的「代數」就有點這樣的概念

那時候學的連立方程式也是一樣

X = 2    Y = 1

請問X + Y = ?

另外提醒,特殊名稱不能取

像是前面說到的「int」, 這些單字我們稱之為保留字(或是關鍵字)

我看光是命名規則就又可以多開一篇囉= =,算啦,不想多打廢話

但像是「int_number」這樣的命名是可以的唷

沒有硬性規定名稱長短,方便閱讀即可


=======================基本資料類型=======================

基本資料類型在程式中是最基本的單位

就好比現實生活中「電子、質子、中子」是一個物質的最小單位

而程式的最小單位就是基本資料類型



略提char(因為真的不常用)

他主要是宣告一個字母或是一個字

像是「你」「我」「他」「H」「a」「P」等等的

而宣告的時候要配合單引號 ' '夾住你要的字

比方說



或是



當然,你打兩個字以上他就會馬上跳錯



而最常用的大概就屬「int」「double」「boolean」這三種

基本上你想得到的整數數字幾乎都可以用「int」來裝

除非到了一個天文數字才有可能用到「long」去裝(但是你應該不會用來計算才對= =)

就像前面的例子

int number = 123;

這就表示number是「整數」,而數值為「123」

我們可以做個小實驗

在程式裡面我們就把他的最大值宣告出來並且顯示到Console內



如果我們對number +1會怎麼樣?

答案會變成2147483648嗎?

答案是錯

會變成.....



變成最小的負數了耶

所以反之,負數



如果再減一的話???



這就是記憶體爆掉回到最大(或最小)範圍的例子


所以我們老師曾開玩笑的說

想要快速地賺大錢

首先你先欠銀行-21億4千7百48萬3648元

你再多欠1元,你就成為億萬富翁啦


別傻啦,寫銀行程式的怎麼可能會有那麼好心讓你成為富翁

像是上面這個例子

我們就真的需要這個天文數字怎麼辦?

我們就把「int」改成「long」就可以了




這樣即使數字再大都不會爆掉了


另外一個常用的就屬浮點數

而浮點數float和double比較常用double就是因為

你想得到的小數點, double都可以裝得下

除非你對記憶體管理很斤斤計較

用float來寫也不是不可以,當然也比較省記憶體

大概就像你去買房子,對方折扣你10元那種感覺吧....

有跟沒有根本都沒差啊= =a.....有比較省嗎?


最後再來提boolean

這傢伙真的沒啥好說的

「是或否」「Yes or No」「對或錯」

boolean只有兩種狀態「true和false」

就醬?.......對.....就醬....
=======================補充說明=======================
雖說是補充

業界中真的非常少應用

但也不能不知道

其中兩種基本資料類型「long」和「float」

為何還要提他們,我們直接看實際例子



有注意到嗎? 浮點數的float小數點後面加了「f」

而long的整數後面加了「L」,實測一下, 10億以上的數字開始就要加
(精確數字為int的最大值2147483647,再往上加一就要加L了, 下圖為證)





這表示他們各自需要用「float」和「long」表示

大小寫均可

只是真的實際應用非.....................常的少
(老實說,就是少到忘記他們的存在,所以我才補充說明= =)


=======================總結=======================

以上就是Java最基礎的知識

也是最基本用到的最小單位

至於像是我程式裡面加一減一的運算

就留到下一篇再說吧


下回見

3

5

LINE 分享

相關創作

Windows10 KB5037768 (系統組建 1904x.4412) 安全性更新

24.0514大型更新

Windows11 KB5037771 (系統組建 226x1.3593) 安全性更新

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】