目錄
Java語言概述
Java是什么
Java語言重要性
語言廣泛使用程度
工作領(lǐng)域
在校招中的崗位需求?編輯
Java語言發(fā)展簡史
Java語言特性
?編輯Java開發(fā)環(huán)境安裝
初識Java的main方法
main方法示例
運行Java程序
JDK、JRE、JVM之間的關(guān)系
注釋
基本規(guī)則
注釋規(guī)范
標識符
?編輯關(guān)鍵字
總結(jié)?
Java語言概述
Java是什么
Java是一種優(yōu)秀的程序設(shè)計語言,它具有令人賞心悅目的語法和易于理解的語義
不僅如此,Java還是一個有一系列計算機軟件和規(guī)范形成的技術(shù)體系,這個技術(shù)體系提供了完整的用于軟件開發(fā)和跨平臺部署的支持環(huán)境,并廣泛應(yīng)用于嵌入式系統(tǒng)、移動終端、企業(yè)服務(wù)器、大型機等各種場合
Java語言重要性
語言廣泛使用程度
下圖數(shù)據(jù)來自于TIOBE編程語言社區(qū)2017年12月和2018年10月最新的排行榜,常年占據(jù)語言排行榜榜首,是近些年最火的編程語言之一。
TIOBE 編程語言社區(qū)排行榜是編程語言流行趨勢的一個指標,每月更新,這份排行榜排名基于互聯(lián)網(wǎng)上有經(jīng)驗的程序員、 課程和第三方廠商的數(shù)量。排名使用著名的搜索引擎(諸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)進行計算
工作領(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)域、科學計算領(lǐng)域、嵌入式領(lǐng)域也有一定的應(yīng)用。因此學好Java,將來就業(yè)的選擇也會非常廣泛
在校招中的崗位需求
從上述位置需求中可以看出,由于應(yīng)屆生缺少實際工作經(jīng)驗,因此校招中企業(yè)更看重學生的基礎(chǔ),也就是:語言、數(shù)據(jù)結(jié)構(gòu)/算法、操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫等,其他的屬于加分項
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" 的口號
Java語言特性
以下Java語言特性來自于Java白皮書:
1. 簡單性
Java語法是C++語法的一個“純凈版本”,相當于對C++做了一個減法。這里沒有頭文件、指針運算(甚至指針語法)、結(jié)構(gòu)、聯(lián)合、操作符重載、虛基類等等。不僅如此,Java開發(fā)環(huán)境遠遠超出大多數(shù)其他編程語言的開發(fā)環(huán)境。
2. 面向?qū)ο?/strong>
什么是面向?qū)ο螅?/span>在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. 多線程
Java在當時很超前。它是第一個支持并發(fā)程序設(shè)計的主流語言。多線程可以帶來更好的交互響應(yīng)和實時行為。并發(fā)程序設(shè)計絕非易事,但是Java在這方面表現(xiàn)出色,可以很好的管理這個工作。
11. 動態(tài)性
Java與C/C++相比更加具有動態(tài)性。它能夠適應(yīng)不斷發(fā)展的環(huán)境。庫中可以自由的添加新方法和實例變量,而對客戶端沒有任何影響。在Java中找出運行時類型信息十分簡單(反射的特性,后續(xù)會學到)
Java開發(fā)環(huán)境安裝
Windows下最簡單的Java環(huán)境安裝指南 - 大博哥VV6 - 博客園 (cnblogs.com)
linux安裝jdk環(huán)境(多種方式)_蒙蒙的林先生的博客-CSDN博客
mac系統(tǒng)下安裝Java開發(fā)環(huán)境(一)——JDK安裝-百度經(jīng)驗 (baidu.com)
Java 軟件 https://pan.baidu.com/s/1X7zPb-YT11xR_UDqjN-oJw 提取碼:r471
初識Java的main方法
?main方法示例
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
如上展示的就是最簡單的一個Java程序,可能同學們看到后一頭霧水,可以說,Java的main方法應(yīng)該是當前主流編程語言中最“長”的。通過上述代碼,我們可以看到一個完整的Java程序的結(jié)構(gòu),Java程序的結(jié)構(gòu)由如下三個部分組成:
注意:在一個源文件中只能有一個public修飾的類,而且源文件名字必須與public修飾的類名字相同
運行Java程序
Java是一門半編譯型、半解釋型語言。先通過javac編譯程序把源文件進行編譯,編譯后生成的.class文件是由字節(jié)碼組成的平臺無關(guān)、面向JVM的文件。最后啟動java虛擬機來運行.class文件,此時JVM會將字節(jié)碼轉(zhuǎn)換成平臺能夠理解的形式來運行。
注意:在運行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代碼
編寫和運行第一個Java程序時,可能會遇到的一些錯誤:
1. 源文件名后綴不是.java
2. 類名與文件名不一致
3. main方法名字寫錯:mian
4. 類沒有使用public修飾
5. 方法中語句沒有以分號結(jié)尾
6. 中文格式的分號
7. JDK環(huán)境沒有配置好,操作系統(tǒng)不能識別javac或者java命令
注釋
注釋是為了讓代碼更容易被讀懂而附加的描述信息. 不參與編譯運行, 但是卻非常重要.時刻牢記! 代碼寫出來是為了給人看的, 更是為了給三個月后的你自己看的
基本規(guī)則
Java中的注釋主要分為以下三種
單行注釋:// 注釋內(nèi)容(用的最多)
多行注釋:/* 注釋內(nèi)容*/(不推薦)
文檔注釋: /** 文檔注釋 */(常見于方法和類之上描述方法和類的作用),可以被javadoc工具解析,生成一套以網(wǎng)頁文件形式體現(xiàn)的程序說明文檔
注意:
1. 多行注釋不能嵌套使用
2. 不論是單行還是多行注釋,都不參與編譯,即編譯之后生成的.class文件中不包含注釋信息。
/**
文檔注釋:
@version v1.0.0
@author will
作用HelloWorld類,入門第一個程序練習
*/
public class HelloWorld{
/*多行注釋:
1. main方法是Java程序的入口方法
2. main函數(shù)的格式是固定的,必須為public static void main(String[] args)
*/
/**
main方法是程序的入口函數(shù)
@param args 命令行參數(shù)。
*/
public static void main(String[] args){
// 單行注釋:System.out.println是Java中標準輸出,會將內(nèi)容輸出到控制臺
System.out.println("Hello World");
}
} -
-----------------------------------------------------------------------------------
// 在cmd中,使用javadoc工具從Java源碼中抽離出注釋
// -d 創(chuàng)建目錄 myHello為目錄名
// -author 顯示作者
// -version 顯示版本號
// -encoding UTF-8 -charset UTF-8 字符集修改為UTF-8
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
?注釋規(guī)范
1. 內(nèi)容準確: 注釋內(nèi)容要和代碼一致, 匹配, 并在代碼修改時及時更新.
2. 篇幅合理: 注釋既不應(yīng)該太精簡, 也不應(yīng)該長篇大論.
3. 使用中文: 一般中國公司都要求使用中文寫注釋, 外企另當別論.
4. 積極向上: 注釋中不要包含負能量(例如 領(lǐng)導(dǎo) SB 等)
標識符
在上述程序中,Test稱為類名,main稱為方法名,也可以將其稱為標識符,即:在程序中由用戶給類名、方法名或者變量所取的名字。
關(guān)鍵字
通過觀察上述程序可以發(fā)現(xiàn),public、class以及static等顏色會發(fā)生變化,將這些具有特殊含義的標識符稱為關(guān)鍵字。即:關(guān)鍵字是由Java語言提前定義好的,有特殊含義的標識符,或者保留字。
注意:用戶不能使用關(guān)鍵字定義標識符。在Java中關(guān)鍵字有很多,這里給大家列出來一部分,先了解下后序在逐一詳細解釋。
總結(jié)?
關(guān)于《初始java》就講解到這兒,歡迎各位留言交流以及批評指正,如果文章對您有幫助或者覺得作者寫的還不錯可以點一下關(guān)注,點贊,收藏支持一下。文章來源:http://www.zghlxwxcb.cn/news/detail-599477.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-599477.html
到了這里,關(guān)于【JavaSE】初識java的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!