java學習筆記
這是我一個學霸朋友學習java時一點一點積累下來的筆記,分享給大家,希望能幫到剛學java或是想學java的你。絕不是什么網(wǎng)上復制粘貼下來的,內(nèi)容都是很基礎很重要的知識點!
一、基礎知識:
1、JVM、JRE和JDK的區(qū)別:
JVM(Java Virtual Machine):java虛擬機,用于保證java的跨平臺的特性。
java語言是跨平臺,jvm不是跨平臺的。
JRE(Java Runtime Environment):java的運行環(huán)境,包括jvm+java的核心類庫。
JDK(Java Development Kit):java的開發(fā)工具,包括jre+開發(fā)工具
鳳臺網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
2、環(huán)境變量path和classpath的作用是什么?
(1)path是配置Windows可執(zhí)行文件的搜索路徑,即擴展名為.exe的程序文件所在的目錄,
用于指定DOS窗口命令的路徑。
(2)Classpath是配置class文件所在的目錄,用于指定類搜索路徑,JVM就是通過它來尋找該類的class類文件的。
3、變量有什么用?為什么要定義變量?什么時候用?
答:變量的作用:用來存儲數(shù)據(jù)。
為什么要定義變量:用來不斷的存放同一類型的常量,并可以重復使用
4、&和&&的區(qū)別?
答:(1)&&會出現(xiàn)短路,如果可以通過第一個表達式判斷出整個表達式的結(jié)果,則不繼續(xù)后面表達式的運算;
只能操作boolean類型數(shù)據(jù);
(2)&不會出現(xiàn)短路,將整個表達式都運算。既可以操作boolean數(shù)據(jù)還可以操作數(shù)。
5、標示符命名規(guī)則:
由數(shù)字(0-9),大小寫英文字母,以及_和$組成。
不能以數(shù)字開頭。
不能使用關鍵字來自定義命名。
6、數(shù)據(jù)類型:
(1)基本數(shù)據(jù)類型(4類8種):
整數(shù)類型:byte、short、int、long
浮點數(shù)類型:float、double
字符類型:char
布爾類型:boolean(ture false)
(2)引用數(shù)據(jù)類型:
類
接口
數(shù)組
7、類型轉(zhuǎn)換
精度從高到低 double float long int short(char) byte
(1)自動類型轉(zhuǎn)換 將一個低精度---?高精度
(2)強制類型轉(zhuǎn)換 將一個高精度---?低精度(精度會下降)
8、java語言的三種技術架構(gòu)
J2EE:企業(yè)版
是為開發(fā)企業(yè)環(huán)境下的應用程序提供的一套解決方案。
該技術體系中包含的技術如 Servlet、Jsp等,主要針對于Web應用程序開發(fā)。
J2SE:標準版
是為開發(fā)普通桌面和商務應用程序提供的解決方案。
該技術體系是其他兩者的基礎,可以完成一些桌面應用程序的開發(fā)。
比如Java版的掃雷。
J2ME:小型版
是為開發(fā)電子消費產(chǎn)品和嵌入式設備提供的解決方案。
該技術體系主要應用于小型電子消費類產(chǎn)品,如手機中的應用程序等。
9、java的跨平臺性:
通過Java語言編寫的應用程序在不同的系統(tǒng)平臺上都可以運行。
跨平臺的原因:
只要在需要運行java應用程序的操作系統(tǒng)上,先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。
由JVM來負責Java程序在該系統(tǒng)中的運行。
10、有符號數(shù)據(jù)的表示法(次重點)
原碼,反碼(原碼取反),補碼(反碼+1)。
11、函數(shù)
定義:函數(shù)就是定義在類中的具有特定功能的一段獨立小程序。
特點:
定義函數(shù)可以將功能代碼進行封裝
便于對該功能進行復用
函數(shù)只有被調(diào)用才會被執(zhí)行
函數(shù)的出現(xiàn)提高了代碼的復用性
對于函數(shù)沒有具體返回值的情況,返回值類型用關鍵字void表示,
那么該函數(shù)中的return語句如果在最后一行可以省略不寫。
函數(shù)的應用兩個明確:
明確要定義的功能最后的結(jié)果是什么?
明確在定義該功能的過程中,是否需要未知內(nèi)容參與運算
12、重載:
概念:在同一個類中,允許存在一個以上的同名函數(shù),只要它們的參數(shù)個數(shù)或者參數(shù)類型不同即可。
特點:與返回值類型無關,只看參數(shù)列表(參數(shù)類型以及參數(shù)個數(shù))。
好處:方便于閱讀,優(yōu)化了程序設計。
13、數(shù)組:
概念:同一種數(shù)據(jù)類型的集合。
好處:可以自動給數(shù)組中的元素從0開始編號,方便操作這些元素。
14、內(nèi)存結(jié)構(gòu):
棧內(nèi)存:用于存儲局部變量,當數(shù)據(jù)使用完,所占空間會自動釋放。
堆內(nèi)存:數(shù)組和對象,通過new建立的實例都存放在堆內(nèi)存中。
方法區(qū):靜態(tài)成員、構(gòu)造函數(shù)、常量池、線程池
本地方法區(qū):window系統(tǒng)占用
寄存器:用來存放數(shù)據(jù)的一些小型存儲區(qū)域,用來暫時存放參與運算的數(shù)據(jù)和運算結(jié)果。
篇幅有限分成幾篇發(fā),喜歡這樣文章的可以關注我,我會持續(xù)更新,你們的關注是我更新的動力!需要更多java學習資料的也可以私信我!
祝關注我的人都:身體健康,財源廣進,福如東海,壽比南山,早生貴子,從不掉發(fā)!