[toc] ## 前言 你好, 本篇教學先前是為了給高中社課教學使用(2020/2021/2024)。 比較後面/進階的部分寫的不是非常好,因為裡面幾乎只有我自己會的東西,沒學好的自然就不太會寫了,請見諒。 如有任何問題請聯絡: - mailto:cubing@speedcubing.top ## Introduction ![1000003787](https://hackmd.io/_uploads/ByVqrf42a.png) ## Java 是什麼? - ~~一杯咖啡~~一門程式語言 - 簡單(助教表示: 你tm在公三小)(講師:屁!只有打字最難) - 跨平台 - 垃圾回收機制 - 物件導向 - 程式清晰易懂 ### 缺點 - 程式碼字元數跟其他語言相比可能有點多 - Memory Usage較多 - 跟C比起來, 性能開銷是有點多的。 ... ### 應用 Android Application Web Backend ~~Minecraft~~ ... --- ## JDK/JRE/JVM - JDK Java Development Kit, 包含編譯器、一些編譯工具、Library、JRE 主要目的為開發、把程式碼編譯為bytecode - JRE Java Runtime Environment, Java的執行環境,有了這個就可以執行Java程式。 - JVM Java Virtual Machine, 執行Java程式的時候, 會建立一個JVM, 把byte code轉成machine code並且執行 在不同的環境執行較方便 --- ### 編譯/執行流程 #### .java編譯成.class .java (Main.java) --JDK--> bytecode (Main.class) --JVM--> machine code (runtime) #### 多個.java(專案)編譯成.jar src --JDK--> bytecode(.jar) --JVM--> machine code (runtime) --- ### 只有Java這個程式語言編譯後能在JVM上運行嗎? 否。 例如Kotlin, Scala, Groovy... 編譯後的bytecode也能在JVM上運行 但這篇主要會講"Java程式語言"。 --- ## Installation ### 安裝 (跳過版本介紹) 基本上直接去Oracle/openjdk就有了 <!-- ### JAVA_HOME (補充) Windows內會有一個環境變數叫做JAVA_HOME, 值就是Java在電腦的位置 預設應該在C://Program Files/Java --> https://www.oracle.com/java/technologies/downloads/ 安裝好後, 看看有沒有java指令能用, 看看版本是對的嗎 ```shell java -version ``` ## IDE **Intellij IDEA** -> ***唯一推薦***, 有Community Edition可以用。 **Eclipse** -> 除非你沒有Intellij IDEA, 我是不喜歡啦。 **NetBeans** -> Why? **Visual Studio Code** -> 兄弟, 冷靜! ## Editor 既然想用editor開發, 那真的是能用都可以。 底下是我有在用的: **Notepad++** -> 有政治立場的文字編輯器。 **nano** **vi**