【Java】安裝開始、開發環境建立

閱讀時間約 3 分鐘
最近配合公司政策換了新電腦,重新回想起從頭建環境的惡夢。本篇文就來記錄一下如何開始踏入Java的第一步,方便起見也使用相對Eclipse、IntelliJ來說輕量不少的VScode作為編輯器。

安裝JDK

進入Oracle官網,目前最新的版本有Java20 及 Java 17可供下載。
依照個人電腦配備及作業系統做選擇,現行Java 17為LTS( Long Term Support)版本,因此各方面會是較為穩定的考量。

上圖三種方式以MSI(Microsoft Windows Installer)的安裝檔案最為單純,照著指示點擊下一步即可安裝完成,跟.exe檔案的安裝流程相比差異不大,而第一項為壓縮檔,再下載完成後需要自行配置環境變數。

測試安裝結果

開啟終端機,輸入以下指令,確認JDK安裝完成:
java --version

Jshell

Java 9提供了終端機上的交互式工具,可以做一些簡單的運算、功能的確認,實際開發上其實不常使用。

VScode配置

建立新的資料夾,用VScode作為Java專案開啟後,搜索並安裝Java的擴充套件包,你的開發體驗會在安裝完成後有了截然不同的開始...。

當然,如果第一個動作是直接建立.java檔案,VScode也會跳出安裝擴充套件的提示。

第一支Java程式

  1. 建立Hello.java
新建檔案
2. 選擇提供的snippet( 建立好的程式片段 )
建立類別
建立程式進入點
建立基本輸出
在終端機輸入Java + 檔名,即可得到結果

Bonus

環境變數

以前已經安裝過Java的人應該有發現,上面的過程並沒有進行這兩項步驟:
  1. 設置%JAVA_HOME%
  2. 把環境變數加入PATH

問題來了,我們的終端機從哪裡認得Java指令呢?打開編輯系統環境變數看一下內容,可以發現path多了在安裝時一起加上的項目。
也就是說,新版的Java把部分預設指令的執行檔一起放在javapath的資料夾中,在安裝時把資料夾路徑放入環境變數。當然,這或許是為了降低新手入門的門檻,日後如果遇到大型專案需要建置,還是建議遵循上述的配置,讓系統可以找到實際上JDK所在的資料夾位置。

編譯class檔

咦?網路上的教學不都是先Javac編譯出Hello.class,怎麼我上面沒有這麼做卻一樣有執行結果?

這方面跟go做了類似的事情,在背景編譯完後立刻執行檔案,讓你可以少了一個輸入指令的動作。
// 原本
javac Hello.java  -- 產生Hello.class
java Hello        -- 執行Hello
// 現在
java Hello.java
// 與go語言比較
go build hello.go  -- 產生hello.exe
./hello       -- 執行hello
go run hello.go   -- 執行hello

結語

以上就是這次的內容了,會考慮下班時間還用Java,完全是為了要準備自己摸索一下SpringBoot 3.0,在看了一下國外大神的快速Demo後才發現一件事情...
SpringBoot 3.0要求至少要JDK17以上!

11會員
55內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
迎新活動「方格新手村」:新格友註冊加入方格子,知名日料吃到飽餐券送給你! 👉 還不是 vocus 的會員嗎?點此註冊,參與新手村活動 👈 近期站上也出現了不少新格友,為了歡迎各位的加入,「方格新手村」隨之登場! 即日起,只要是新註冊帳號於活動期間內發佈 3 則文章,就有機會抽獎獲得知名日料吃到飽餐券。原格友也可以一起同樂,我們準備了小任
Thumbnail
2024-06-21
閱讀心得:展現自我的生活態度|成熟大人的說話課我們每天都在說話,但說出的話合適嗎? Sunny最近讀完一本有關溝通的書籍。 這是由世紀奧美公關的創辦人「丁菱娟」所寫的書,書的全名《丁菱娟的成熟大人說話課:如何說,才能得體又不傷人?反擊時,如何堅定又有力量?任何情境都可用的38個溝通之道》。 會找這本書來看,主要是因為Sunny 近期發
Thumbnail
2024-07-10
防曬產品係數測試報告彙整(2024年)從2014年起,自己對於市售防曬產品的效能產生了濃厚的興趣。因為當時候發現不少產品的防曬係數其實標示是有問題的,像是原本應該是人體測試的SPF與PA數值,實際上沒有做,只用機器測試的數據來充當,但這兩者卻有很大的差異。像是防曬係數其實有強度、廣度與平均度三個面向需要一起判斷,但多數廠商並沒有完整標示
Thumbnail
java程式碼 內容是九九乘法表public class MultiplicationTable { public static void main(String[] args) { int size = 9; // 設定九九乘法表的大小 // 雙層迴圈用於生成九九乘法表 f
Thumbnail
2023-05-18
Java Script自學經驗回顧來到學期2-3的階段,第一個作業就是打造餐廳清單。原本認為經過電影清單的學習經歷之後,對於打造餐廳清單應該也不會太過困難;沒想到我花了2個月的時間才把作業完整交出去。 在寫餐廳清單的初期,第一個碰到的問題就是首頁無法秀出餐廳評分這個選項。我試著參考其他同學的作品也改了版面的設計,卻始終無法出現餐廳評
2023-02-28
Java Bird Coffee|通化街六張犁商圈,小巧而溫馨禾雀咖啡工作室位在通化街尾端,靠近六張犁的禾雀咖啡工作室,質樸的感覺是一家適合假日早晨來待上好一會兒的好去處。 主打自家烘培手沖及義式咖啡,最大特色還有自家製的麵包、甜點輕食,最喜歡吃的莫過於他們的鮮奶吐司。曾經住在這裡好長一段時間,週末去搶個一包可以在家裡烤來吃,是相當幸福的感覺。 冰羅馬咖啡則是我喝過最喜歡的
Thumbnail
Java abstract class 與 interface 的差別abstract class = 抽象類別 interface = 介面 抽象類別與介面都無法建立物件。 1. 使用abstract關鍵字來建立抽象類別,interface關鍵字建立介面。 interface只能繼承interface,且可以繼承多個:
Thumbnail
2022-07-04
JAVA繼承篇繼承 在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新創建的類繼承該類。 利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。 繼承的特
Thumbnail
簡單理解Java的functional interface在學Java的人也許多少人會跟小的一樣不是很理解functional interface到底在幹嘛,也覺得語法很多此一舉。希望能夠在此拋磚引玉
Thumbnail
2021-06-26
Java 編譯成 WebAssembly 的工具古早的年代想在網頁內埋 Java 還有 Java applet 可以用,在 Java applet 式微後,找來找去比較可以的辦法大概就是編譯成 WebAssembly 了吧! 想要把 Java 編譯成 WebAssembly,有下面三個工具可以選用
Thumbnail
2021-06-22
Java abstract class和interface的使用時機Java abstract class和interface的使用時機
Thumbnail
2020-08-20
Java工程師:肉體的交易明細  給對想當Java工程師又興趣的人類,也許你是學生,又或是你正想轉職,我希望你們都不會因為未知而害怕,這條路沒有那麼困難。
Thumbnail
2020-07-19