java語(yǔ)言編程基礎(chǔ)知識(shí)有哪些_Java語(yǔ)言基礎(chǔ)知識(shí) IT知識(shí)
電腦知識(shí) 由優(yōu)爾供稿學(xué)習(xí)Java要掌握不同數(shù)據(jù)類(lèi)型的變量定義與使用,掌握不同運(yùn)算符的運(yùn)算規(guī)則,掌握流程控制語(yǔ)句的執(zhí)行流程,編寫(xiě)方法的聲明與調(diào)用,創(chuàng)建數(shù)組并訪問(wèn)數(shù)組元素等知識(shí)。下面是9252兒童網(wǎng)小編為大家整理的java語(yǔ)言編程基礎(chǔ)知識(shí),希望對(duì)你們有幫助。
Java語(yǔ)言編程基礎(chǔ)知識(shí)
1) 注釋
在程序開(kāi)發(fā)工程中,用于解釋和說(shuō)明程序的文字我們稱(chēng)之為注釋?zhuān)琂ava中的注釋分為以下幾種:?jiǎn)涡凶⑨尅⒍嘈凶⑨尅⑽臋n注釋。
2) 關(guān)鍵字
了解Java關(guān)鍵字的含義及特點(diǎn),掌握關(guān)鍵字使用的注意事項(xiàng)。
3) 標(biāo)識(shí)符
了解什么是標(biāo)識(shí)符,標(biāo)識(shí)符的組成規(guī)則,以及標(biāo)識(shí)符使用時(shí)的注意事項(xiàng)。
4) 常量與變量
理解常量與變量的含義,并掌握常量與變量的區(qū)別、變量的定義格式以及變量的賦值。
5) 數(shù)據(jù)類(lèi)型
掌握J(rèn)ava語(yǔ)言的'數(shù)據(jù)類(lèi)型,如基本數(shù)據(jù)類(lèi)型:byte、short、int、long、float、double、char、boolean,以及引用類(lèi)型:類(lèi)、接口、數(shù)組。
6) 運(yùn)算符
熟練掌握J(rèn)ava中的運(yùn)算符:算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、三目運(yùn)算符。
7) 流程控制語(yǔ)句
了解什么是流程控制語(yǔ)句,掌握以下流程控制語(yǔ)句:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),并能夠通過(guò)流程控制語(yǔ)句實(shí)現(xiàn)特定的功能。
8) 方法
掌握方法的定義及格式,并能正確的調(diào)用方法,理解方法的調(diào)用過(guò)程,同時(shí)清楚方法的注意事項(xiàng);掌握方法重載及其特點(diǎn)。
9) 數(shù)組
了解數(shù)組的概念,掌握數(shù)組的定義格式、靜態(tài)初始化、動(dòng)態(tài)初始化,并能夠理解Java中數(shù)組的內(nèi)存圖解。熟練掌握數(shù)組的遍歷、獲取最值、數(shù)組元素逆序、數(shù)組元素查找、數(shù)組排序和二分查找,以及二維數(shù)組的定義格式及初始化。
Java語(yǔ)言基礎(chǔ)知識(shí)
1.JVM相關(guān)(包括了各個(gè)版本的特性)
對(duì)于剛剛接觸Java的人來(lái)說(shuō),JVM相關(guān)的知識(shí)不一定需要理解很深,對(duì)此里面的概念有一些簡(jiǎn)單的了解即可。不過(guò)對(duì)于一個(gè)有著3年以上Java經(jīng)驗(yàn)的資深開(kāi)發(fā)者來(lái)說(shuō),不會(huì)JVM幾乎是不可接受的。
JVM作為java運(yùn)行的基礎(chǔ),很難相信對(duì)于JVM一點(diǎn)都不了解的人可以把java語(yǔ)言吃得很透。我在面試有超過(guò)3年Java經(jīng)驗(yàn)的開(kāi)發(fā)者的時(shí)候,JVM幾乎就是一個(gè)必問(wèn)的問(wèn)題了。當(dāng)然JVM不是唯一決定技術(shù)能力好壞的面試問(wèn)題,但是可以佐證java開(kāi)發(fā)能力的高低。
在JVM這個(gè)大類(lèi)中,我認(rèn)為需要掌握的知識(shí)有:
JVM內(nèi)存模型和結(jié)構(gòu)GC原理,性能調(diào)優(yōu)調(diào)優(yōu):Thread Dump,分析內(nèi)存結(jié)構(gòu)。
class二進(jìn)制字節(jié)碼結(jié)構(gòu),class loader體系,class加載過(guò)程,實(shí)例創(chuàng)建過(guò)程。
方法執(zhí)行過(guò)程:Java各個(gè)大版本更新提供的新特性(需要簡(jiǎn)單了解)。
2.Java的運(yùn)行(基礎(chǔ)必備)
這條可能出看很簡(jiǎn)單,java程序的運(yùn)行誰(shuí)不會(huì)呢?不過(guò)很多時(shí)候,我們只是單純通過(guò)IDE去執(zhí)行java程序,底層IDE又是如何執(zhí)行java程序呢?很多人并不了解。
這個(gè)知識(shí)點(diǎn)是最最基本的java開(kāi)發(fā)者需要掌握的,初學(xué)java,第一個(gè)肯定是教你如何在命令行中執(zhí)行java程序,但是很多人一旦把java學(xué)完了,IDE用上了,就把這個(gè)都忘了。為什么強(qiáng)調(diào)要知道這個(gè)呢,知道了java最純粹的啟動(dòng)方式之后,你才能在啟動(dòng)出問(wèn)題的時(shí)候,去分析當(dāng)時(shí)啟動(dòng)的目錄多少,執(zhí)行命名如何,參數(shù)如何,是否有缺失等。這樣有利于你真正開(kāi)發(fā)中去解決那些奇奇怪怪的可能和環(huán)境相關(guān)的問(wèn)題。
在這里需要掌握的知識(shí)有:
javac編譯java文件為class文件java命令的使用,帶package的java類(lèi)如何在命令行中啟動(dòng)java程序涉及到的各個(gè)路徑(classpath,java。library。path,java運(yùn)行的主目錄等)。
3.數(shù)據(jù)類(lèi)型
這條沒(méi)有什么好多說(shuō)的,無(wú)非就是Java中的基本類(lèi)型和對(duì)象類(lèi)型的掌握??梢栽倭私庖恍㎎DK如何自動(dòng)轉(zhuǎn)換方面的知識(shí),包括裝箱拆箱等,還要注意避免裝箱之后的類(lèi)型相等的判斷。
主要知識(shí)點(diǎn):
基本類(lèi)型:int,long,float,double,boolean······
對(duì)應(yīng)的對(duì)象類(lèi)型:Integer等類(lèi)型到基本類(lèi)型的轉(zhuǎn)換,裝箱和拆箱Object類(lèi)型:equals,hashcodeString類(lèi)型的特點(diǎn)。
4.對(duì)象和實(shí)例,對(duì)象的創(chuàng)建
在這方面,開(kāi)發(fā)者需要了解class和instance的概念以及之間的差別,這是java面向?qū)ο筇匦缘囊粋€(gè)基礎(chǔ)。
主要知識(shí)點(diǎn)有:Class和Instance的概念;
Instance創(chuàng)建的過(guò)程:1.無(wú)繼承:分配內(nèi)存空間,初始化變量,調(diào)用構(gòu)造函數(shù);2.有繼承:處理靜態(tài)動(dòng)作,分配內(nèi)存空間,變量定義為初始值,從基類(lèi)->子類(lèi),處理定義處的初始化,執(zhí)行構(gòu)造方法;
需要注意的點(diǎn):靜態(tài)屬性等從基類(lèi)->子類(lèi)進(jìn)行初始化;默認(rèn)無(wú)參構(gòu)造方法相關(guān)的特性。
5.訪問(wèn)控制
這也是java封裝特性的一個(gè)基礎(chǔ)需要掌握的有:public protected default private對(duì)于class,method,field的修飾作用。
6.流程控制
Java流程控制的基礎(chǔ),雖然有些語(yǔ)法不一定很常用,但是都需要了解,并且在合適的地方使用它們。需要掌握的有:
if,switch,loop,for,while等流程控制的語(yǔ)法。
7.面向?qū)ο缶幊痰母拍?/p>
這是一個(gè)java的核心概念,對(duì)于任何java開(kāi)發(fā)者都需要熟練掌握。Java中很多特性或者說(shuō)知識(shí)點(diǎn)都是和java面向?qū)ο缶幊谈拍钕嚓P(guān)的。在我的理解,一個(gè)好的開(kāi)發(fā)者不僅僅需要了解這些特性(知識(shí)點(diǎn))本身,也更需要知道這些對(duì)象在java的面向?qū)ο缶幊谈拍钪惺侨绾误w現(xiàn)出來(lái)的,這樣更有利于開(kāi)發(fā)者掌握java這門(mén)開(kāi)發(fā)語(yǔ)言,以及其他面向?qū)ο缶幊痰恼Z(yǔ)言。
主要的知識(shí)點(diǎn)包括有:面向?qū)ο笕筇匦裕悍庋b,繼承,多態(tài);各自的定義概念,有哪些特性體現(xiàn)出來(lái),各自的使用場(chǎng)景靜態(tài)多分派,動(dòng)態(tài)單分派的概念重載的概念和使用繼承:接口多實(shí)現(xiàn),基類(lèi)單繼承抽象,抽象類(lèi),接口多態(tài):方法覆蓋的概念和使用接口回調(diào)。
8.Static
靜態(tài)屬性在java日常開(kāi)發(fā)中也是經(jīng)常使用,需要了解和static關(guān)鍵字相關(guān)的用法,還有和其他關(guān)鍵字的配合使用,如是否可以和abstract,final等關(guān)鍵字聯(lián)合使用。
主要需要掌握的有:靜態(tài)屬性的定義,使用,以及類(lèi)加載時(shí)如何初始化靜態(tài)方法的定義和使用靜態(tài)類(lèi)的定義和使用靜態(tài)代碼塊的定義和初始化時(shí)機(jī)。
9.基礎(chǔ)知識(shí)點(diǎn)
這里主要羅列一些散落的,沒(méi)有系統(tǒng)歸類(lèi)的一些java知識(shí)點(diǎn)。在日常的開(kāi)發(fā)中用到也不少。
暫時(shí)歸納包括有:
equals,hashcode,string/stringbuffer,final,finally,finalize
10.集合框架
這個(gè)是一個(gè)需要多加掌握的部分,做java開(kāi)發(fā),可以說(shuō)沒(méi)有不用到集合框架的,這很重要。但是這里的知識(shí)點(diǎn)并不難,但是對(duì)于集合最好要了解內(nèi)部的實(shí)現(xiàn)方式,因?yàn)檫@樣有助于你在各個(gè)不同的場(chǎng)景選擇適合的框架來(lái)解決問(wèn)題,比如有1W個(gè)元素的集合,經(jīng)常要進(jìn)行contains判斷操作,知道了集合的特性或者內(nèi)部實(shí)現(xiàn),就很容易做出正確的選擇。
這里包括了如下內(nèi)容(并發(fā)相關(guān)不包含在內(nèi)):集合框架的體系:基礎(chǔ)Collection,Map具體集合實(shí)現(xiàn)的內(nèi)容,List,Set,Map具體的實(shí)現(xiàn),內(nèi)部結(jié)構(gòu),特殊的方法,適用場(chǎng)景等集合相關(guān)的工具類(lèi)Collections等的用法。
java語(yǔ)言特點(diǎn)
1.簡(jiǎn)單性
Java看起來(lái)設(shè)計(jì)得很像C++,但是為了使語(yǔ)言小和容易熟悉,設(shè)計(jì)者們把C++語(yǔ)言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。例如,Java不支持goto語(yǔ)句,代之以提供break和continue語(yǔ)句以及異常處理。Java還剔除了C++的操作符過(guò)載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒(méi)有結(jié)構(gòu),數(shù)組和串都是對(duì)象,所以不需要指針。Java能夠自動(dòng)處理對(duì)象的引用和間接引用,實(shí)現(xiàn)自動(dòng)的無(wú)用單元收集,使用戶不必為存儲(chǔ)管理問(wèn)題煩惱,能更多的時(shí)間和精力花在研發(fā)上。
2.面向?qū)ο?/p>
Java是一個(gè)面向?qū)ο蟮恼Z(yǔ)言。對(duì)程序員來(lái)說(shuō),這意味著要注意其中的數(shù)據(jù)和操縱數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過(guò)程來(lái)思考。在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(lèi)(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對(duì)象(object)的狀態(tài)和行為。每一對(duì)象是其狀態(tài)和行為的封裝。類(lèi)是按一定體系和層次安排的,使得子類(lèi)可以從超類(lèi)繼承行為。在這個(gè)類(lèi)層次體系中有一個(gè)根類(lèi),它是具有一般行為的類(lèi)。Java程序是用類(lèi)來(lái)組織的。
Java還包括一個(gè)類(lèi)的擴(kuò)展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產(chǎn)生圖形用戶接口部件的類(lèi)(java.awt包),這里awt是抽象窗口工具集(abstract windowing toolkit)的縮寫(xiě),處理輸入輸出的類(lèi)(java.io包)和支持網(wǎng)絡(luò)功能的類(lèi)(java.net包)。
3.分布性
Java設(shè)計(jì)成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語(yǔ)言。Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類(lèi)支持可靠的流(stream)網(wǎng)絡(luò)連接,所以用戶可以產(chǎn)生分布式的客戶機(jī)和服務(wù)器。
網(wǎng)絡(luò)變成軟件應(yīng)用的分布運(yùn)載工具。Java程序只要編寫(xiě)一次,就可到處運(yùn)行。
4.編譯和解釋性
Java編譯程序生成字節(jié)碼(byte-code),而不是通常的機(jī)器碼。Java字節(jié)碼提供對(duì)體系結(jié)構(gòu)中性的目標(biāo)文件格式,代碼設(shè)計(jì)成可有效地傳送程序到多個(gè)平臺(tái)。Java程序可以在任何實(shí)現(xiàn)了Java解釋程序和運(yùn)行系統(tǒng)(run-time system)的系統(tǒng)上運(yùn)行。
在一個(gè)解釋性的環(huán)境中,程序開(kāi)發(fā)的標(biāo)準(zhǔn)“鏈接”階段大大消失了。如果說(shuō)Java還有一個(gè)鏈接階段,它只是把新類(lèi)裝進(jìn)環(huán)境的過(guò)程,它是增量式的、輕量級(jí)的過(guò)程。因此,Java支持快速原型和容易試驗(yàn),它將導(dǎo)致快速程序開(kāi)發(fā)。這是一個(gè)與傳統(tǒng)的、耗時(shí)的“編譯、鏈接和測(cè)試”形成鮮明對(duì)比的精巧的開(kāi)發(fā)過(guò)程。
5.穩(wěn)健性
Java原來(lái)是用作編寫(xiě)消費(fèi)類(lèi)家用電子產(chǎn)品軟件的語(yǔ)言,所以它是被設(shè)計(jì)成寫(xiě)高可靠和穩(wěn)健軟件的。Java消除了某些編程錯(cuò)誤,使得用它寫(xiě)可靠軟件相當(dāng)容易。
Java是一個(gè)強(qiáng)類(lèi)型語(yǔ)言,它允許擴(kuò)展編譯時(shí)檢查潛在類(lèi)型不匹配問(wèn)題的功能。Java要求顯式的方法聲明,它不支持C風(fēng)格的隱式聲明。這些嚴(yán)格的要求保證編譯程序能捕捉調(diào)用錯(cuò)誤,這就導(dǎo)致更可靠的程序。
可靠性方面最重要的增強(qiáng)之一是Java的存儲(chǔ)模型。Java不支持指針,它消除重寫(xiě)存儲(chǔ)和訛誤數(shù)據(jù)的可能性。類(lèi)似地,Java自動(dòng)的“無(wú)用單元收集”預(yù)防存儲(chǔ)漏泄和其它有關(guān)動(dòng)態(tài)存儲(chǔ)分配和解除分配的有害錯(cuò)誤。Java解釋程序也執(zhí)行許多運(yùn)行時(shí)的檢查,諸如驗(yàn)證所有數(shù)組和串訪問(wèn)是否在界限之內(nèi)。
異常處理是Java中使得程序更穩(wěn)健的另一個(gè)特征。異常是某種類(lèi)似于錯(cuò)誤的異常條件出現(xiàn)的信號(hào)。使用try/catch/finally語(yǔ)句,程序員可以找到出錯(cuò)的處理代碼,這就簡(jiǎn)化了出錯(cuò)處理和恢復(fù)的任務(wù)。
6.安全性
Java的存儲(chǔ)分配模型是它防御惡意代碼的主要方法之一。Java沒(méi)有指針,所以程序員不能得到隱蔽起來(lái)的內(nèi)幕和偽造指針去指向存儲(chǔ)器。更重要的是,Java編譯程序不處理存儲(chǔ)安排決策,所以程序員不能通過(guò)查看聲明去猜測(cè)類(lèi)的實(shí)際存儲(chǔ)安排。編譯的Java代碼中的存儲(chǔ)引用在運(yùn)行時(shí)由Java解釋程序決定實(shí)際存儲(chǔ)地址。
Java運(yùn)行系統(tǒng)使用字節(jié)碼驗(yàn)證過(guò)程來(lái)保證裝載到網(wǎng)絡(luò)上的代碼不違背任何Java語(yǔ)言限制。這個(gè)安全機(jī)制部分包括類(lèi)如何從網(wǎng)上裝載。例如,裝載的類(lèi)是放在分開(kāi)的名字空間而不是局部類(lèi),預(yù)防惡意的小應(yīng)用程序用它自己的版本來(lái)代替標(biāo)準(zhǔn)Java類(lèi)。
7.可移植性
Java使得語(yǔ)言聲明不依賴(lài)于實(shí)現(xiàn)的方面。例如,Java顯式說(shuō)明每個(gè)基本數(shù)據(jù)類(lèi)型的大小和它的運(yùn)算行為(這些數(shù)據(jù)類(lèi)型由Java語(yǔ)法描述)。
Java環(huán)境本身對(duì)新的硬件平臺(tái)和操作系統(tǒng)是可移植的。Java編譯程序也用Java編寫(xiě),而Java運(yùn)行系統(tǒng)用ANSIC語(yǔ)言編寫(xiě)。
8.高性能
Java是一種先編譯后解釋的語(yǔ)言,所以它不如全編譯性語(yǔ)言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設(shè)計(jì)者制作了“及時(shí)”編譯程序,它能在運(yùn)行時(shí)把Java字節(jié)碼翻譯成特定CPU(中央處理器)的機(jī)器代碼,也就是實(shí)現(xiàn)全編譯了。
Java字節(jié)碼格式設(shè)計(jì)時(shí)考慮到這些“及時(shí)”編譯程序的需要,所以生成機(jī)器代碼的過(guò)程相當(dāng)簡(jiǎn)單,它能產(chǎn)生相當(dāng)好的代碼。
9.多線程性
Java是多線程語(yǔ)言,它提供支持多線程的執(zhí)行(也稱(chēng)為輕便過(guò)程),能處理不同任務(wù),使具有線索的程序設(shè)計(jì)很容易。Java的lang包提供一個(gè)Thread類(lèi),它支持開(kāi)始線索、運(yùn)行線索、停止線索和檢查線索狀態(tài)的方法。
Java的線索支持也包括一組同步原語(yǔ)。這些原語(yǔ)是基于監(jiān)督程序和條件變量風(fēng)范,由C.A.R.Haore開(kāi)發(fā)的廣泛使用的同步化方案。用關(guān)鍵詞synchronized,程序員可以說(shuō)明某些方法在一個(gè)類(lèi)中不能并發(fā)地運(yùn)行。這些方法在監(jiān)督程序控制之下,確保變量維持在一個(gè)一致的狀態(tài)。
10.動(dòng)態(tài)性
Java語(yǔ)言設(shè)計(jì)成適應(yīng)于變化的環(huán)境,它是一個(gè)動(dòng)態(tài)的語(yǔ)言。例如,Java中的類(lèi)是根據(jù)需要載入的,甚至有些是通過(guò)網(wǎng)絡(luò)獲取的。
- Java語(yǔ)法基本知識(shí)有哪些_java語(yǔ)法基本編程
- java基本知識(shí)有哪些_Java語(yǔ)言的特點(diǎn)
- URI和URL的區(qū)別有哪些_URI的格式
- 大數(shù)據(jù)的概念及趨勢(shì)_大數(shù)據(jù)的特點(diǎn)
- c語(yǔ)言的應(yīng)用及注意事項(xiàng)_C語(yǔ)言編譯器gcc命令
- C語(yǔ)言的用法及特點(diǎn)_C語(yǔ)言怎樣輸出菱形
- it入門(mén)基礎(chǔ)常識(shí)有哪些_IT英文縮寫(xiě)
- IT技術(shù)知識(shí)有哪些_IT互聯(lián)網(wǎng)基礎(chǔ)知識(shí)術(shù)語(yǔ)
- 電腦鍵盤(pán)功能基礎(chǔ)知識(shí)有哪些_鍵盤(pán)按鍵的入
- c語(yǔ)言入門(mén)基礎(chǔ)常識(shí)有哪些_C程序的生成過(guò)程
- it必須學(xué)的基礎(chǔ)知識(shí)有哪些_IT英文縮寫(xiě)
- 計(jì)算機(jī)組裝維護(hù)知識(shí)有哪些_計(jì)算機(jī)應(yīng)用