- 相關(guān)推薦
java基本知識點總結(jié)
Java編程語言是面向?qū)ο蟮,處理的最小的完整單元為對象。而現(xiàn)實生活中具有共同特性的對象的抽象就稱之為類。以下是java基本知識點總結(jié),歡迎閱讀。
1.Java是什么?java的運行機制
Java 是由Sun Microsystems公司于1995年5月推出的高級程序設(shè)計語言。是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚,允許程序員以優(yōu)雅的思維方式進行復(fù)雜的 編程 。
Java具有簡單性、面向?qū)ο、分布式、健壯性、安全性、平臺的獨立與可移植性、多線程、動態(tài)性等特點 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
關(guān)于java名字的由來還有一個小趣聞,java創(chuàng)建之初的一天,幾位Java成員組的會員正在討論給這個新的語言取什么名字,當(dāng)時他們正在咖啡館喝著Java(爪哇)咖啡,有一個人靈機一動說就叫Java怎樣,這個提議得到了其他人的贊同,于是,Java這個名字就這樣傳開了。原來看SUN的JAVA標識沒去多想,現(xiàn)在看看,這不就是一杯正冒著熱氣的咖啡嗎?
JVM作為Java運行的基礎(chǔ),很難相信對于JVM一點都不了解的人可以把Java語言吃得很透。對于剛剛接觸Java的人來說,JVM相關(guān)的知識不一定需要理解很深,對此里面的概念有一些簡單的了解即可。不過對于一個有著3年以上Java經(jīng)驗的資深開發(fā)者來說,不會JVM幾乎是不可接受的。
在JVM這個大類中,我認為需要掌握的知識有:
1.JVM內(nèi)存模型和結(jié)構(gòu)
2.GC原理,性能調(diào)優(yōu)
3.調(diào)優(yōu):Thread Dump, 分析內(nèi)存結(jié)構(gòu)
4.class 二進制字節(jié)碼結(jié)構(gòu), class loader 體系 , class加載過程 , 實例創(chuàng)建過程
5.方法執(zhí)行過程
6.Java各個大版本更新提供的新特性(需要簡單了解)
2. java變量
在Java語言中,所有的變量在使用前必須聲明。聲明變量的基本格式如下:
Java語言支持的變量類型有:
類變量:獨立于方法之外的變量,用 static 修飾。
實例變量:獨立于方法之外的變量,不過沒有 static 修飾。
局部變量:類的方法中的變量。
3. 數(shù)據(jù)類型
這條沒有什么好多說的,無非就是Java中的基本類型和對象類型的掌握?梢栽倭私庖恍㎎DK如何自動轉(zhuǎn)換方面的知識,包括裝箱拆箱等,還要注意避免裝箱之后的類型相等的判斷
主要知識點:
基本類型: int, long, float, double, boolean
對應(yīng)的對象類型: Integer 等類型到基本類型的轉(zhuǎn)換, 裝箱和拆箱
Object類型: equals, hashcode
String 類型的特點
4. 運算符
Java的運算符,分為四類:
算數(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符。
算數(shù)運算符(9):+ - * / % ++ --
關(guān)系運算符(6):== != > >= < <=
邏輯運算符(6):&& || ! ^ & |
位運算符(7):& | ~ ^ >> << >>>
邏輯運算符除了 ! 外都是用于連接兩個boolean類型表達式。
5. 數(shù)據(jù)類型轉(zhuǎn)換
在實際的使用中,經(jīng)常需要在不同類型的值之間進行操作,這就需要一種新的語法來適應(yīng)這種需要,這個語法就是數(shù)據(jù)類型轉(zhuǎn)換。
Java 語言中的數(shù)據(jù)類型轉(zhuǎn)換有兩種:
自動類型轉(zhuǎn)換:編譯器自動完成類型轉(zhuǎn)換,不需要在程序中編寫代碼。
強制類型轉(zhuǎn)換:強制編譯器進行類型轉(zhuǎn)換,必須在程序中編寫代碼。
由于基本數(shù)據(jù)類型中 boolean 類型不是數(shù)字型,所以基本數(shù)據(jù)類型的轉(zhuǎn)換是出了 boolean 類型以外的其它 7 種類型之間的轉(zhuǎn)換。下面來具體介紹兩種類型轉(zhuǎn)換的規(guī)則、適用場合以及使用時需要注意的問題。
自動類型轉(zhuǎn)換
自動類型轉(zhuǎn)換,也稱為隱式類型轉(zhuǎn)換,是指不需要書寫代碼,由系統(tǒng)自動完成的類型轉(zhuǎn)換,由于實際開發(fā)中這種類型轉(zhuǎn)換很多,所以java語言在設(shè)計時,沒有為該操作設(shè)計語法,而是由JVM自動完成。
轉(zhuǎn)換規(guī)則:從存儲范圍小的類型到存儲范圍大的類型。
具體規(guī)則為:byte→short(char)→int→long→float→double
也就是說 byte 類型的變量可以自動轉(zhuǎn)換為 short 類型,示例代碼:
short sh = b;這里在賦值時,JVM 首先將 b 的值轉(zhuǎn)換為 short 類型,然后再賦值給 sh。
在類型轉(zhuǎn)換時可以跳躍。示例代碼:
注意問題: 在整數(shù)之間進行類型轉(zhuǎn)換時,數(shù)值不發(fā)生改變,而將整數(shù)類型,特別是比較大的整數(shù)類型轉(zhuǎn)換成小數(shù)類型時,由于存儲方式不同,有可能存在數(shù)據(jù)精度的損失。
強制類型轉(zhuǎn)換
強制類型轉(zhuǎn)換,也稱顯式類型轉(zhuǎn)換,是指必須書寫代碼才能完成的類型轉(zhuǎn)換。該類類型轉(zhuǎn)換很可能存在精度的損失,所以必須書寫相應(yīng)的代碼,并且能夠忍受該種損失時才進行該類型的轉(zhuǎn)換。
轉(zhuǎn)換規(guī)則:從存儲范圍大的類型到存儲范圍小的類型。
具體規(guī)則為:double→float→long→int→short(char)→byte
語法格式為:(轉(zhuǎn)換到的類型)需要轉(zhuǎn)換的值
示例代碼:
6. 條件結(jié)構(gòu)
(1)單獨的 if
顧名思義,if 的中文意思是"如果" 表示判斷;即有選擇、就會有判斷條件,所以由 if 組成的語句塊稱為條件結(jié)構(gòu)。
執(zhí)行原理:先判斷條件表達式是否為真(即是否成立),表達式為真則執(zhí)行花括號{ }之間的語句,否則不執(zhí)行。
細節(jié)注意:不管表達式如何復(fù)雜,其結(jié)果必須為boolean類型的值,即要么是true、要么是false,而不能是其他值
(2)if---else結(jié)構(gòu)
用于涉及兩個分支的選擇問題
執(zhí)行原理:先判斷表達式是否為true、為true則執(zhí)行 if 的語句體,否則就執(zhí)行else的語句體。
(3)條件結(jié)構(gòu)中的多分支選擇語句:switch-----case
執(zhí)行流程:先計算表達式的值,然后和case后面的常量匹配,如果相同,就執(zhí)行對應(yīng)的語句 否則執(zhí)行default控制的語句
注意事項:
判斷條件語句 無論簡單還是復(fù)雜 結(jié)果必須是boolean
7. 循環(huán)結(jié)構(gòu)
(1)do-while循環(huán)
執(zhí)行流程:
1. 執(zhí)行初始化語句
2. 執(zhí)行循環(huán)體語句
3. 執(zhí)行控制條件語句
4. 執(zhí)行判斷條件語句
如果是true 就繼續(xù)循環(huán)執(zhí)行
如果是false 就結(jié)束循環(huán)
5. 回到2繼續(xù)
(2). for循環(huán)
執(zhí)行流程:
1. 初始化語句
2. 判斷條件語句
true --> 循環(huán)體
false -->結(jié)束循環(huán)
3. 執(zhí)行循環(huán)體
4. 控制條件語句
5. 回到2繼續(xù)
注意事項:
循環(huán)體語句如果是一條語句,花括號可以省略,如果是多條語句,就不可以省略 建議永遠不要省略。
當(dāng)然,最重要的還是避免死循環(huán)。
8. 面向?qū)ο缶幊痰母拍?/strong>
這是一個Java的核心概念,對于任何Java開發(fā)者都需要熟練掌握。Java中很多特性或者說知識點都是和Java面向?qū)ο缶幊谈拍钕嚓P(guān)的。在我的理解,一個好的開發(fā)者不僅僅需要了解這些特性(知識點)本身,也更需要知道這些對象在Java的面向?qū)ο缶幊谈拍钪惺侨绾误w現(xiàn)出來的,這樣更有利于開發(fā)者掌握Java這門開發(fā)語言,以及其他面向?qū)ο缶幊痰恼Z言。在這里只是簡單羅列了一下,主要的知識點包括有:
面向?qū)ο笕筇匦裕悍庋b,繼承,多態(tài); 各自的定義概念,有哪些特性體現(xiàn)出來,各自的使用場景
靜態(tài)多分派,動態(tài)單分派的概念
重載的概念和使用
繼承:接口多實現(xiàn),基類單繼承
抽象,抽象類,接口
多態(tài):方法覆蓋的概念和使用
接口回調(diào)
9. 接口
接口是java語言中的一個引用類型,和類一樣,接口可以包含常量,方法簽名,默認方法,靜態(tài)方法和嵌套類型。含有方法主體的只有其中的默認方法和靜態(tài)方法。接口不能被實例化,它們只能被類實現(xiàn)或者被其他接口繼承。
接口的聲明部分包含修飾詞,關(guān)鍵詞interface,接口名稱,extends關(guān)鍵詞+由逗號分隔開的繼承接口名稱(可有可無),和一個接口主體,如下例所示:
以上也只是簡單介紹了下我對于這些Java基本知識點和技術(shù)點的一些看法和介紹, 這些內(nèi)容都源自于我這些年來使用Java的一些總結(jié), 希望給剛剛接觸Java, 或者打算從Java開發(fā)的人一些經(jīng)驗, 希望能夠更有效率地學(xué)習(xí)和使用Java, 避免走了彎路浪費了寶貴的時間。這當(dāng)中還有些內(nèi)容不夠完善的地方,會通過以后的文章再添加上。由于個人能力有限,當(dāng)然其中也會有些錯誤和疏漏,歡迎指正,一起討論,共同來把這篇文章再完善下,希望它可以真正幫助到有需要的人。
【java基本知識點總結(jié)】相關(guān)文章:
高中函數(shù)基本性質(zhì)知識點總結(jié)07-25
高中數(shù)學(xué)基本知識點總結(jié)06-19
股票的基本知識點有哪些07-02
android開發(fā)面試 主要問的java知識點?07-13
生物必修一細胞的基本結(jié)構(gòu)知識點06-22
會計基本知識點07-10
java實訓(xùn)總結(jié)11-18