前言:
為什么開始學JAVA了?當然是向全棧工程師努力啊,也是時候給自己準備一條后路了????初次接觸JAVA,寫的肯定有很多不對的地方,希望海涵并提出錯誤的地方,大家一起學習進步!簡而言之,只適合一起學習JAVA的童鞋看!
PS:因為本人是iOS工程師,同時也學過一段時間C語言,大概會以這兩個語言為基礎對比JAVA
一、初識JAVA
對iOSer目前最擔憂的問題可能就是iOS的封閉和OC語言的局限性,使得我們這一行的就業(yè)范圍很窄,再看看iOS系統(tǒng)最大的競爭者Android,由于Android的開源性,可以使得Android運用在很多硬件之上,羨慕ing(原諒我當初看上了iOS的高大上),而開發(fā)Android最便捷的語言是什么?--是JAVA。
JAVA能干什么?
- 大型網(wǎng)站,諸如淘寶、京東等
- 后臺系統(tǒng),各種后臺管理系統(tǒng)、信息化系統(tǒng)、應用系統(tǒng)等
- 嵌入式設備及消費類電子產(chǎn)品,Android相對于iOS最大優(yōu)勢就在這里了
- 游戲,個人最喜愛的游戲之一StarSector就是用JAVA開發(fā)的,一款制作精良的2D宇宙戰(zhàn)爭游戲
JAVA主要分成三個部分JAVA SE、JAVA EE和JAVA ME。具體的區(qū)別和聯(lián)系還是看知乎的問答吧---JAVA EE ,JAVA SE, JAVA ME 怎么區(qū)分?
如果你不想看直接看下文(侵刪):
- JAVA SE:JDK JVM 以及自帶的API合集的具體實現(xiàn)。(Android開發(fā)基于JAVA SE + 自身的SDK)
- JAVA EE:基于JAVA SE而發(fā)展出來的一套規(guī)范接口。請注意是規(guī)范,并不是實現(xiàn)。發(fā)行商自己去實現(xiàn)這些接口。
- JAVA ME:是一套運行專門為嵌入式設備設計的API接口規(guī)范。自從有了Android,這個幾乎沒人用了。
JVM與JDK
在對JAVA SE的解釋中提到了JDK與JVM,那么JDK、JVM是什么呢?
- JVM--JAVA Virtual Machine:JAVA虛擬機,是JAVA實現(xiàn)跨平臺的最核心的部分,不同的CPU架構和不同的系統(tǒng)對應不同的JVM,JVM能解釋.class文件。
- JDK--JAVA Development Kit:JAVA開發(fā)工具包,包含編譯器、常用類庫、JRE等
- JRE--JAVA Runtime Enviroment:JDK所包含的部分,JAVA運行環(huán)境,光有JVM還不能成class的執(zhí)行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib,JRE里包含JVM需要的類庫
通過對JDK、JVM、JRE的了解我們知道,JDK包含JRE,而JRE包含JVM,所以我們開發(fā)的時候只需要安裝一個JDK就可以了。
二、JAVA環(huán)境搭建
由于作者用Mac辦公,所以這里只介紹Mac的Java環(huán)境搭建,其實很簡單,打開官網(wǎng)Oracle

點擊 上方的Accept License Agreement后,選擇對應系統(tǒng)的JDK下載安裝就行了,安裝完成后終端里打開
open /Library/Java/JavaVirtualMachines/
看是不是你剛才安裝的JDK,比如我的

如果這個時候你打開
jdk1.8.0_172.jdk/Contents/Home/會發(fā)現(xiàn)下面有個jre文件夾。
三、開始編程
上文我們說過JDK中包含編譯器,如果在終端里輸入
open /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin

會發(fā)現(xiàn)有兩個可執(zhí)行文件,javac負責編譯文件,java負責運行文件。
我們在桌面新建一個.java文件,在終端里輸入
cd ~/Desktop/JavaDemo/Day01
touch HelloWorld.java
vim HelloWorld.java
在HelloWorld.java中輸入以下代碼
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
在終端里輸入
javac HelloWorld.java
這時候打開剛才新建的文件夾會發(fā)現(xiàn)多出了一個.class文件,javac命令編譯了.java文件,然后在終端
java HelloWorld
用java命令執(zhí)行.class文件,終端里會看到輸出,如圖:
總結:
今天對Java有了一個淺顯的認識,希望對一起正在學習Java的小伙伴有點幫助