[心得] 又再次入門了 Java

看板Soft_Job作者 (有些事,有時候。。。)時間7月前 (2023/09/28 12:45), 7月前編輯推噓6(719)
留言17則, 14人參與, 7月前最新討論串1/1
網頁好讀版本 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 accessmethod 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.161.193 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1695876308.A.A3C.html

09/28 18:34, 7月前 , 1F
看完覺得java好囉嗦 有人寫程式真的會思考是不是原生型別
09/28 18:34, 1F

09/28 18:34, 7月前 , 2F
的問題嗎
09/28 18:34, 2F

09/28 18:36, 7月前 , 3F
java suck
09/28 18:36, 3F

09/28 18:37, 7月前 , 4F
只要我看好java好找工作,開發速度不差嗎?跟其他靜態
09/28 18:37, 4F

09/28 18:37, 7月前 , 5F
語言相比的話
09/28 18:37, 5F

09/28 18:38, 7月前 , 6F
只要typo,只有
09/28 18:38, 6F

09/28 19:06, 7月前 , 7F
就Java設計爛
09/28 19:06, 7F

09/28 19:10, 7月前 , 8F
Java真的是滿滿古早味XD
09/28 19:10, 8F

09/28 19:16, 7月前 , 9F
給你錢叫你寫什麼就什麼
09/28 19:16, 9F
其實重點不是在原生型別本身, 而是先區分出哪些型態可以直接參與 expression 的運作呦。 因為初學者常常接到了一個值不知道如何是好,這是一個簡單的判斷思路。 在新的語言儘管沒等別弄出原生型別,但能參與基礎運作的部分熟悉了, 後續的應對方式都會相對簡單,可以迅速地減少認知負擔呦。 ※ 編輯: qrtt1 (118.167.161.193 臺灣), 09/28/2023 19:29:42 ※ 編輯: qrtt1 (118.167.161.193 臺灣), 09/28/2023 19:35:54

09/28 19:38, 7月前 , 10F
可以用kotlin (誤
09/28 19:38, 10F

09/28 20:49, 7月前 , 11F
有Kotlin還寫什麼Java
09/28 20:49, 11F

09/28 21:34, 7月前 , 12F
推推
09/28 21:34, 12F

09/29 02:16, 7月前 , 13F
從入門到放棄
09/29 02:16, 13F

09/29 08:38, 7月前 , 14F
推個分享文
09/29 08:38, 14F

09/29 10:07, 7月前 , 15F
java suck, kotlin 比他好一百倍,考慮轉 go 了
09/29 10:07, 15F

09/29 10:33, 7月前 , 16F
一樓程度這樣就不要說出來給人笑好嗎....
09/29 10:33, 16F

09/29 14:16, 7月前 , 17F
我覺得GO比較難搞..
09/29 14:16, 17F
文章代碼(AID): #1b5GJKey (Soft_Job)