柚子快報激活碼778899分享:開發(fā)語言 初識Java
柚子快報激活碼778899分享:開發(fā)語言 初識Java
?作者簡介:大家好,我是橘橙黃又青,一個想要與大家共同進步的男人??
?個人主頁:橘橙黃又青-CSDN博客
目標:
1. Java語言簡介、發(fā)展概述、語言優(yōu)勢、與C/C++區(qū)別
2. 初識Java程序入口之main方法
3. 注釋、標識符、關(guān)鍵字
1. Java語言概述?
1.1 Java是什么
Java是一種優(yōu)秀的程序設(shè)計語言,它具有令人賞心悅目的語法和易于理解的語義。
不僅如此,Java還是一個有一系列計算機軟件和規(guī)范形成的技術(shù)體系,這個技術(shù)體系提供了完整的用于軟件開發(fā)和 跨平臺部署的支持環(huán)境,并廣泛應(yīng)用于嵌入式系統(tǒng)、移動終端、企業(yè)服務(wù)器、大型機等各種場合。
1.2 Java語言重要性
1. 語言廣泛使用程度 下圖數(shù)據(jù)來自于TIOBE編程語言社區(qū)排行榜,常年占據(jù)語言排行榜榜首,是 近些年最火的編程語言之一。
TIOBE 編程語言社區(qū)排行榜是編程語言流行趨勢的一個指標,每月更新,這份排行榜排名基于互聯(lián)網(wǎng)上有經(jīng) 驗的程序員、 課程和第三方廠商的數(shù)量。排名使用著名的搜索引擎(諸如 Google、MSN、Yahoo!、 Wikipedia、YouTube 以及 Baidu 等)進行計算。
注意:上述排名不能說明那個語言好,那個語言不好,每門編程語言都有適應(yīng)自己的應(yīng)用場景。
?2. 工作領(lǐng)域
Java語言目前在IT領(lǐng)域的應(yīng)用是非常廣泛的,掌握Java語言可以從事不少IT行業(yè)的相關(guān)開發(fā)崗位,具體包括:
企業(yè)級系統(tǒng)
比如大型復(fù)雜的企業(yè)級軟件系統(tǒng),Java的安全機制以及跨平臺性的優(yōu)勢,其在分布式系統(tǒng)領(lǐng)域開發(fā)中有 廣泛應(yīng)用,涉及到金融、電信、交通、電子商務(wù)、ERP系統(tǒng)等。
Web開發(fā)領(lǐng)域
Java語言在設(shè)計初期,趕上了互聯(lián)網(wǎng)發(fā)展的風口,當時就瞄準了互聯(lián)網(wǎng)開發(fā),憑借穩(wěn)定的性能表現(xiàn)和較 好的擴展性,Java語言一直是大型互聯(lián)網(wǎng)平臺的重要解決方案。
android平臺應(yīng)用
Android是一種智能手機操作系統(tǒng),Java是一門非常流行的編程語言。Android上的應(yīng)用程序就是大多是 用Java編寫的,Android的SDK大部分就是直接將Java SDK翻譯過來的,所以具有Java基礎(chǔ),也可以快速 上手Android開發(fā)。
大數(shù)據(jù)平臺開發(fā)
大數(shù)據(jù)相關(guān)的各類框架,比如:Hadoop、spark、storm、flink等,以及各種中間件flume、kafka、 sqoop等,這些框架以及工具等大多數(shù)是用Java語言開發(fā)的,隨著大數(shù)據(jù)技術(shù)的落地應(yīng)用,Java在大數(shù) 據(jù)領(lǐng)域的應(yīng)用前景也是比較廣闊的。
除上述開發(fā)領(lǐng)域外,Java在游戲領(lǐng)域、人工智能領(lǐng)域、科學(xué)計算領(lǐng)域、嵌入式領(lǐng)域也有一定的應(yīng)用。因此學(xué)好 Java,將來就業(yè)的選擇也會非常廣泛。
3. 在校招中的崗位需求
從上述位置需求中可以看出,由于應(yīng)屆生缺少實際工作經(jīng)驗,因此校招中企業(yè)更看重學(xué)生的基礎(chǔ),也就是: 語言、數(shù)據(jù)結(jié)構(gòu)/算法、操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫等,其他的屬于加分項。
1.3 Java語言發(fā)展簡史
Java 語言源于 1991 年 4 月,Sun 公司 James Gosling博士 領(lǐng)導(dǎo)的綠色計劃(Green Project) 開始啟動,此計劃最 初的目標是開發(fā)一種能夠在各種消費性電子產(chǎn)品(如機頂盒、冰箱、收音機等)上運行的程序架構(gòu)。這個就是Java的 前身: Oak (得名與Java創(chuàng)始人James Gosling辦公室外的一棵橡樹),但由于這些智能化家電的市場需求沒有預(yù)期 的高,Sun公司放棄了該項計劃。隨著1995年代互聯(lián)網(wǎng)的發(fā)展,Sun公司看見Oak在互聯(lián)網(wǎng)上應(yīng)用的前景,于是改 造了Oak,于1995年5月以Java的名稱正式發(fā)布,并提出“Write once, Run anywhere" 的口號。
1.4 Java語言特性
以下Java語言特性來自于Java白皮書:
1. 簡單性
Java語法是C++語法的一個“純凈版本”,相當于對C++做了一個減法。這里沒有頭文件、指針運算(甚至指針 語法)、結(jié)構(gòu)、聯(lián)合、操作符重載、虛基類等等。不僅如此,Java開發(fā)環(huán)境遠遠超出大多數(shù)其他編程語言的開 發(fā)環(huán)境。
2. 面向?qū)ο?/p>
什么是面向?qū)ο螅?在Java的世界里,一切皆對象。比如:人、狗、手機、電腦等都是對象。所謂面相對象,就是依靠對象之間 的交互來完成事情,比如:人用手機網(wǎng)上購物,狗吃骨頭... Java的面向?qū)ο筇匦耘cC++旗鼓相當,與C++的主要不同點在于多重繼承。在Java中,取而代之的是更簡單的 接口概念。而且與C++相比,Java提供了更豐富的運行時自省功能。
3. 分布式(微服務(wù))
Java有豐富的例程庫,用于處理像HTTP和FTP之類的TCP/IP協(xié)議。Java應(yīng)用程序能夠通過URL打開和訪問網(wǎng)絡(luò) 上的對象,其便捷程度就好像訪問本地文件一樣。
4. 健壯性
Java與C++最大的不同在于Java采用的指針模型可以消除重寫內(nèi)存和損壞數(shù)據(jù)的可能性(對于曾經(jīng)花費幾個小 時來檢查由于指針bug而引起內(nèi)存沖突的人來說,一定很喜歡Java的這一特性)。不僅如此,Java編譯器能夠 檢測許多在其他語言中僅在運行時才能夠檢測出來的問題。
5. 安全性
Java適用于網(wǎng)絡(luò)/分布式環(huán)境。為了達到這個目標,在安全性方面投入了大量的精力。使用Java可以構(gòu)建防病 毒、防篡改的系統(tǒng) 從一開始,Java就設(shè)計成能夠防范常見的各種攻擊: 運行時堆棧溢出。蠕蟲和病毒常用的攻擊手段。 破壞自己進程空間之外的內(nèi)存。 未經(jīng)授權(quán)讀寫文件
6. 體系結(jié)構(gòu)中立
編譯器生成一個體系結(jié)構(gòu)中立的目標文件格式,按照該中規(guī)范生成的文件,只要有Java運行時系統(tǒng),這些編譯 后的代碼就可以在許多處理器上運行。Java編譯器通過生成與特定計算機體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令來實現(xiàn) 這一特性。精心設(shè)計的字節(jié)碼不僅可以很容易的在任何機器上解釋執(zhí)行,而且還可以動態(tài)地翻譯成本地機器 代碼。這就是為什么可以:“Wrice once,Run anywhere”。
而且其他語言編寫的程序,在編譯后如果能夠嚴格按照字節(jié)碼文件的規(guī)范生成.class文件,也可以在JVM上運 行。
7. 可移植性
與C/C++不同,Java規(guī)范中沒有“依賴具體實現(xiàn)的地方”。基本數(shù)據(jù)類型的大小以及有關(guān)運算都做了明確的說 明。例如,Java中的int永遠是32位的整數(shù),而在C/C++中,int可能是16位整數(shù)、32位整數(shù),也可能是編譯器 提供商指定的其他大小。在Java中,數(shù)據(jù)類型具有固定的大小,這消除了代碼移植時令人頭疼的主要問題。
8. 解釋性
Java為了實現(xiàn)與平臺無關(guān),自己維護了一套基于棧架構(gòu)的指令集,Java源代碼經(jīng)過編譯之后,字節(jié)碼文件中的 指令就是按照自己的指令集來組織的,但是在具體硬件環(huán)境中運行時,系統(tǒng)并不能識別,因為Java程序在執(zhí)行 時,Java解釋器會逐條的將字節(jié)碼文件中的指令翻譯成CPU的指令集。
9. 高性能
邊解釋邊執(zhí)行,垃圾會說等導(dǎo)致了Java代碼運行效率偏低,近年來JVM也在不斷的優(yōu)化,比如:JIT(即時編譯 器),熱點代碼探測,讓Java程序的執(zhí)行效率大幅提高,在有些場合不亞于C/C++。
10. 多線程
ava在當時很超前。它是第一個支持并發(fā)程序設(shè)計的主流語言。多線程可以帶來更好的交互響應(yīng)和實時行為。并發(fā) 程序設(shè)計絕非易事,但是Java在這方面表現(xiàn)出色,可以很好的管理這個工作。
11. 動態(tài)性
Java與C/C++相比更加具有動態(tài)性。它能夠適應(yīng)不斷發(fā)展的環(huán)境。庫中可以自由的添加新方法和實例變量,而 對客戶端沒有任何影響。在Java中找出運行時類型信息十分簡單(反射的特性,后續(xù)會學(xué)到)
因此:Java不僅僅是一門編程語言,也是一個由一些列計算機軟件和規(guī)范組成的技術(shù)體系。
2. 初識Java的main方法?
//java第一個程序
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
通過上述代碼,我們可以看到一個完整的Java程序的結(jié)構(gòu),Java程序的結(jié)構(gòu)由如下三個部分組成:?
源文件(擴展名為*.java):源文件帶有類的定義。類用來表示程序的一個組件,小程序或許只會有一個 類。類的內(nèi)容必須包含在花括號里面。類:類中帶有一個或多個方法。方法必須在類的內(nèi)部聲明。方法:在方法的花括號中編寫方法應(yīng)該執(zhí)行的語句。 總結(jié)一下:類存在于源文件里面;方法存在于類中;語句存在于方法中。
?注意:在一個源文件中只能有一個public修飾的類,而且源文件名字必須與public修飾的類名字相同。
?2.2 運行Java程序
Java是一門半編譯型、半解釋型語言。先通過javac編譯程序把源文件進行編譯,編譯后生成的.class文件是由字節(jié) 碼組成的平臺無關(guān)、面向JVM的文件。最后啟動java虛擬機來運行.class文件,此時JVM會將字節(jié)碼轉(zhuǎn)換成平臺能夠 理解的形式來運行。
我們來演示一遍:
創(chuàng)建文本文件,改名HelloWorld.java
編寫程序?
在這個文件目錄底下,輸入cmd指令
??
java是有?可移植性的,只要電腦有jdk就可以運行java程序。
注意:在運行Java程序前,必須先安裝好JDK(Java?Development Kit即Java開發(fā)工具包),JDK里面就包含了javac和 java工具,Java程序最終是在JVM(Java虛擬機)中運行的。
JDK、JRE、JVM之間的關(guān)系?
JDK(Java Development Kit):Java開發(fā)工具包,提供給Java程序員使用,包含了JRE,同時還包含了編譯 器javac與自帶的調(diào)試工具Jconsole、jstack等。JRE(Java Runtime Environment):Java運行時環(huán)境,包含了JVM,Java基礎(chǔ)類庫。是使用Java語言編寫程 序運行的所需環(huán)境。JVM:Java虛擬機,運行Java代碼。
? ? ? ? ? ? ? ??
3. 注釋?
注釋是為了讓代碼更容易被讀懂而附加的描述信息. 不參與編譯運行, 但是卻非常重要. 時刻牢記! 代碼寫出來是為了給人看的, 更是為了給三個月后的你自己看的。
3.1 基本規(guī)則
Java中的注釋主要分為以下三種:
單行注釋:// 注釋內(nèi)容(用的最多)
多行注釋:/* 注釋內(nèi)容*/(不推薦)
文檔注釋: /** 文檔注釋 */(常見于方法和類之上描述方法和類的作用),可以被javadoc工具解析,生 成一套以網(wǎng)頁文件形式體現(xiàn)的程序說明文檔
?多行注釋和c語言一樣,我們都了解過啦,說一下文檔注釋
寫上對args的解釋
?當然也可以在文本上運行。
3.2 注釋規(guī)范
1. 內(nèi)容準確: 注釋內(nèi)容要和代碼一致, 匹配, 并在代碼修改時及時更新.
2. 篇幅合理: 注釋既不應(yīng)該太精簡, 也不應(yīng)該長篇大論.
3. 使用中文: 一般中國公司都要求使用中文寫注釋, 外企另當別論.
4. 積極向上: 注釋中不要包含負能量(例如 領(lǐng)導(dǎo) SB 等).
4. 標識符?
【硬性規(guī)則】
標識符中可以包含:字母、數(shù)字以及 下劃線和 $ 符號等等。
注意:標識符不能以數(shù)字開頭,也不能是關(guān)鍵字,且嚴格區(qū)分大小寫。
下劃線一般用于分割。
【軟性建議】
類名:每個單詞的首字母大寫(大駝峰)
方法名:首字母小寫,后面每個單詞的首字母大寫(小駝峰)
變量名:與方法名規(guī)則相同
我們來做一道題
A:class
B:HelloWorld
C:main
D:123abc
E:ARRAY_SIZE
F: $name
G: name:jim
答案是B.C.E.F
可能有疑問的是c
沒有報錯哈哈。
5.關(guān)鍵字
這個不需要背后面做題鏈接即可。
好啦今天的分享就到這里了,感謝觀看。
柚子快報激活碼778899分享:開發(fā)語言 初識Java
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。