[心得] 又再次入門了 Java

作者: qrtt1 (有些事,有時候。。。)   2023-09-28 12:45:05
網頁好讀版本
https://qrtt1.medium.com/learning-java-basic-again-88391fd4e14e
https://imgur.com/a/qa5DlyH
(基本概念圖片支援)
近期搭著 ITHOME 鐵人賽 與 JCConf 2023 宣傳期的氣氛弄了個簡單的
Java 教學。 雖然自己已經離「初學」時期有一點久遠,但持續累積了
不少引導的經驗後,現在回頭看學習材料會驚覺,原來我習慣的表達方
式或學習策略,在經歷了多年後已經跟書上有著明顯的不同。
特別是基礎的「資料型別」的部分。
儘管現在較新的語言已經不太區分原生型別 primitive type 與其他自
訂型別,以 Java 來說就是 reference type 也就是類別。無論是何種
情況,入門用的書籍或是影音教材都會有教到這個單元。
我發現我自己傾向在介紹或是「傳遞知識」的時候,往往喜歡把它們一
起揉起來傳授。
原生型別 → 可以使用簡單運算子的型別在算式 (expression) 之內
+ - * / > < ==
https://openhome.cc/zh-tw/java/syntax-abc/operator/
在不考慮特殊的情況下,像是多數語言對 String 型別有特別的優待,
他即可以做 method call 也可以有基本的加法運算。這類的特例先不
納入討論的情況,當學習者拿到一個變數,心中的思考模式只要簡單
地判斷:
1. 它是一個原生型別嗎?
2. 如果它是一個原生型別,那我可以對它用的就是基本運算子。
3. 如果他不是一個原生到別,那我可以對它用「非原生型別的運算子」
那麼,麼是非原生型別的運算子呢?也就是我們有哪些選項可以對待它?
以 Java 來舉例,那就是 property access 或 method invoaction。
所謂的 access 就是 read 或 write。
例如,我們可以「讀取」foobar 變數的 field1 屬性:
foobar.field1
「寫入」與讀取的語言相近,只是多了「賦值」的動作:
foobar.field1 = "富爸";
除了 access 之外,就是呼叫方法 (method invocation):
foobar.method1();
呼叫方法跟 read 相似,但多了一對的小括弧 (),
而這小括弧內可以再放新的參數進去,這參數又是「原生型別」或
「非原生到別」的組合。
基於上述簡單的判斷策略,後來我在引導新手入門,
或引導自己入門新的語言,我大概都先去弄清楚這個基本的規則。
至於那些一個資料型別佔多少空間或合理的值域是什麼?
這些查表就有的事不太需要花費心力。
運用這些簡單的思路,自己體感減少了許多學習新的程式語言時的心理負擔。
有哪些東西也是大家在「經歷了多年後」反思過,
覺得用它來教別人會更有效率的思路呢?
相關連結
* ITHOME 鐵人賽觀賽看版 https://bit.ly/46dVxPZ
* Java 幼幼班播放清單 https://bit.ly/3Z98CHL
作者: brucetu (sec)   2023-09-28 18:34:00
看完覺得java好囉嗦 有人寫程式真的會思考是不是原生型別的問題嗎
作者: wsad50232 (阿豐)   2023-09-28 18:36:00
java suck
作者: x246libra (楓)   2023-09-28 18:37:00
只要我看好java好找工作,開發速度不差嗎?跟其他靜態語言相比的話只要typo,只有
作者: nh60211as   2023-09-28 19:06:00
就Java設計爛
作者: SHANGOYANYI (彥一)   2023-09-28 19:10:00
Java真的是滿滿古早味XD
作者: AxelGod (Axel)   2023-09-28 19:16:00
給你錢叫你寫什麼就什麼
作者: ohmylove347 (米特巴爾)   2023-09-28 19:38:00
可以用kotlin (誤
作者: FlowerKnight (美少女花騎士)   2023-09-28 20:49:00
有Kotlin還寫什麼Java
作者: alihue (wanda wanda)   2023-09-28 21:34:00
推推
作者: love99067333 (銅牌東巴)   2023-09-29 02:16:00
從入門到放棄
作者: keroro01 (PTT重度使用者)   2023-09-29 08:38:00
推個分享文
作者: pig0038 (顆顆)   2023-09-29 10:07:00
java suck, kotlin 比他好一百倍,考慮轉 go 了
作者: hegemon (hegemon)   2023-09-29 10:33:00
一樓程度這樣就不要說出來給人笑好嗎....
作者: sniper2824 (月夜)   2023-09-29 14:16:00
我覺得GO比較難搞..
作者: jobintan (Robin Artemstein)   2023-10-02 07:52:00
C#也差不了多少,不過大部分的遊戲開發者,就是愛用C#。
作者: wangshichen (阿璽..(單純))   2023-10-02 19:58:00
推個qrtt
作者: Csongs (西歌)   2023-10-03 19:05:00
批評java常常用囉嗦來形容
作者: s9041200 (小明阿)   2023-10-09 19:29:00
作者: BearFather (北極熊)   2023-10-30 14:43:00
嚴謹被說成囉嗦…嘖嘖

Links booklink

Contact Us: admin [ a t ] ucptt.com