這回真的可以進入我們的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最基礎的知識
也是最基本用到的最小單位
至於像是我程式裡面加一減一的運算
就留到下一篇再說吧
下回見