JAVA學(xué)習(xí)筆記(一)

前言:

為什么開(kāi)始學(xué)JAVA了?當(dāng)然是向全棧工程師努力啊,也是時(shí)候給自己準(zhǔn)備一條后路了????初次接觸JAVA,寫(xiě)的肯定有很多不對(duì)的地方,希望海涵并提出錯(cuò)誤的地方,大家一起學(xué)習(xí)進(jìn)步!簡(jiǎn)而言之,只適合一起學(xué)習(xí)JAVA的童鞋看!
PS:因?yàn)楸救耸莍OS工程師,同時(shí)也學(xué)過(guò)一段時(shí)間C語(yǔ)言,大概會(huì)以這兩個(gè)語(yǔ)言為基礎(chǔ)對(duì)比JAVA

一、初識(shí)JAVA

對(duì)iOSer目前最擔(dān)憂的問(wèn)題可能就是iOS的封閉和OC語(yǔ)言的局限性,使得我們這一行的就業(yè)范圍很窄,再看看iOS系統(tǒng)最大的競(jìng)爭(zhēng)者Android,由于Android的開(kāi)源性,可以使得Android運(yùn)用在很多硬件之上,羨慕ing(原諒我當(dāng)初看上了iOS的高大上),而開(kāi)發(fā)Android最便捷的語(yǔ)言是什么?--是JAVA。

JAVA能干什么?

  • 大型網(wǎng)站,諸如淘寶、京東等
  • 后臺(tái)系統(tǒng),各種后臺(tái)管理系統(tǒng)、信息化系統(tǒng)、應(yīng)用系統(tǒng)等
  • 嵌入式設(shè)備及消費(fèi)類電子產(chǎn)品,Android相對(duì)于iOS最大優(yōu)勢(shì)就在這里了
  • 游戲,個(gè)人最喜愛(ài)的游戲之一StarSector就是用JAVA開(kāi)發(fā)的,一款制作精良的2D宇宙戰(zhàn)爭(zhēng)游戲

JAVA主要分成三個(gè)部分JAVA SE、JAVA EE和JAVA ME。具體的區(qū)別和聯(lián)系還是看知乎的問(wèn)答吧---JAVA EE ,JAVA SE, JAVA ME 怎么區(qū)分?
如果你不想看直接看下文(侵刪):

  • JAVA SE:JDK JVM 以及自帶的API合集的具體實(shí)現(xiàn)。(Android開(kāi)發(fā)基于JAVA SE + 自身的SDK)
  • JAVA EE:基于JAVA SE而發(fā)展出來(lái)的一套規(guī)范接口。請(qǐng)注意是規(guī)范,并不是實(shí)現(xiàn)。發(fā)行商自己去實(shí)現(xiàn)這些接口。
  • JAVA ME:是一套運(yùn)行專門(mén)為嵌入式設(shè)備設(shè)計(jì)的API接口規(guī)范。自從有了Android,這個(gè)幾乎沒(méi)人用了。

JVM與JDK

在對(duì)JAVA SE的解釋中提到了JDK與JVM,那么JDK、JVM是什么呢?

  • JVM--JAVA Virtual Machine:JAVA虛擬機(jī),是JAVA實(shí)現(xiàn)跨平臺(tái)的最核心的部分,不同的CPU架構(gòu)和不同的系統(tǒng)對(duì)應(yīng)不同的JVM,JVM能解釋.class文件。
  • JDK--JAVA Development Kit:JAVA開(kāi)發(fā)工具包,包含編譯器、常用類庫(kù)、JRE等
  • JRE--JAVA Runtime Enviroment:JDK所包含的部分,JAVA運(yùn)行環(huán)境,光有JVM還不能成class的執(zhí)行,因?yàn)樵诮忉宑lass的時(shí)候JVM需要調(diào)用解釋所需要的類庫(kù)lib,JRE里包含JVM需要的類庫(kù)
    通過(guò)對(duì)JDK、JVM、JRE的了解我們知道,JDK包含JRE,而JRE包含JVM,所以我們開(kāi)發(fā)的時(shí)候只需要安裝一個(gè)JDK就可以了。

二、JAVA環(huán)境搭建

由于作者用Mac辦公,所以這里只介紹Mac的Java環(huán)境搭建,其實(shí)很簡(jiǎn)單,打開(kāi)官網(wǎng)Oracle


點(diǎn)擊 上方的Accept License Agreement后,選擇對(duì)應(yīng)系統(tǒng)的JDK下載安裝就行了,安裝完成后終端里打開(kāi)

open /Library/Java/JavaVirtualMachines/

看是不是你剛才安裝的JDK,比如我的


如果這個(gè)時(shí)候你打開(kāi)jdk1.8.0_172.jdk/Contents/Home/會(huì)發(fā)現(xiàn)下面有個(gè)jre文件夾。

三、開(kāi)始編程

上文我們說(shuō)過(guò)JDK中包含編譯器,如果在終端里輸入

open /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin

會(huì)發(fā)現(xiàn)有兩個(gè)可執(zhí)行文件,javac負(fù)責(zé)編譯文件,java負(fù)責(zé)運(yùn)行文件。
我們?cè)谧烂嫘陆ㄒ粋€(gè).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

這時(shí)候打開(kāi)剛才新建的文件夾會(huì)發(fā)現(xiàn)多出了一個(gè).class文件,javac命令編譯了.java文件,然后在終端

java HelloWorld

用java命令執(zhí)行.class文件,終端里會(huì)看到輸出,如圖:

總結(jié):

今天對(duì)Java有了一個(gè)淺顯的認(rèn)識(shí),希望對(duì)一起正在學(xué)習(xí)Java的小伙伴有點(diǎn)幫助

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.Java跨平臺(tái)的原理: 1)編譯之后會(huì)生成與平臺(tái)無(wú)關(guān)的字節(jié)碼文件2)得依賴不同平臺(tái)的虛擬機(jī)(JVM)JVM是不...
    寒橋閱讀 414評(píng)論 0 1
  • 1.JAVA具有跨平臺(tái)性,JAVA語(yǔ)言編寫(xiě)的系統(tǒng)程序可以在不同的系統(tǒng)平臺(tái)上進(jìn)行運(yùn)行(是因?yàn)樽约河歇?dú)立的能解析jav...
    晨星資源閱讀 287評(píng)論 0 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評(píng)論 25 708
  • 字符集的三個(gè)要素 字符表:要顯示的字符的集合(例如所有的英文字符、所有的漢字) 字符編碼:字符表中的字符對(duì)應(yīng)的二進(jìn)...
    IamShuhao閱讀 1,901評(píng)論 2 3
  • 冬日樹(shù)站立的姿態(tài)很挺拔優(yōu)美!
    詩(shī)詞狂人閱讀 353評(píng)論 0 3

友情鏈接更多精彩內(nèi)容