想了解學(xué)習(xí)java語言基礎(chǔ)嗎?想了解JAVA學(xué)習(xí)筆記記錄與分享(java基礎(chǔ)------核心技術(shù)),java基礎(chǔ)學(xué)習(xí)總結(jié)——基礎(chǔ)語法(建議收藏,純干貨),怎樣才能學(xué)好java基礎(chǔ)?記住,平時沒人會給你說這些!?? 嗎?......本文帶你一探究竟。
1.JAVA學(xué)習(xí)筆記記錄與分享(java基礎(chǔ)------核心技術(shù))
菜雞*生,現(xiàn)在正在自學(xué)java,此篇是我用來記錄分享我的筆記。剛開始學(xué)習(xí),筆記會有很多地方不嚴謹不完整,所以將會持續(xù)更新與完善。歡迎大佬指正!歡迎大佬指正!歡迎大佬指正!以下為圖片形式,如有需要PDF格式請私信我2021.3.5更新(補充)內(nèi)容:1、java語言基礎(chǔ)知識板塊:數(shù)組常用方法,輸入輸出(不是OI流)2、常用類板塊:String字符串2021.3.17更新:這些筆記是以圖片格式上傳的,對于修改添加很不方便,并且所有章節(jié)混到一起也很亂,所以我決定要重新寫,一個章節(jié)一篇,此篇暫作保存,等新的文章完成后,此篇將會被刪除。當(dāng)然,新文章仍會在此專欄。一、java語言特性二、java語言基礎(chǔ)知識2021.3.5補充:三、面向?qū)ο蟮暮诵乃枷胨?、異常處理五、java集合六、枚舉注解七、泛型八、IO流九、多線程十、常用類2021.3.5補充:十一、Java反射機制
2.java基礎(chǔ)學(xué)習(xí)總結(jié)——基礎(chǔ)語法(建議收藏,純干貨)
只為成功找方法,不為失敗找借口! 標(biāo)識符關(guān)鍵字JAVA基礎(chǔ)數(shù)據(jù)類型3.1. java常量3.2. java變量從本質(zhì)上來講,變量其實是內(nèi)存里面的一小塊區(qū)域,一個程序在運行的時候,實際上這個程序是位于內(nèi)存里面,然后才開始運行。一個.exe文件存放在硬盤上是無法運行的,在硬盤上看到的.exe文件無非就是一個文件而已,當(dāng)我們雙擊個.exe文件時,運行起來的時候?qū)嶋H上是整個.exe文件被放在了在內(nèi)存里面,然后操作系統(tǒng)找到main方法,也就是程序的入口,然后就開始執(zhí)行了。執(zhí)行的過程之中,會不斷地在內(nèi)存里面分配一些區(qū)域,變量在內(nèi)存里面就是一小塊區(qū)域,變量有兩個概念,一個是變量的名字,另一個是變量的值,即這一小塊區(qū)域是有名字的,里面裝著一個值,因此以后要想訪問這小塊區(qū)域里面的內(nèi)容就可以根據(jù)這小塊區(qū)域的名字來訪問了。因此,變量的本質(zhì)就是一小塊內(nèi)存區(qū)域。就變量來說,該在內(nèi)存里面分配多大的存儲空間呢?不同的變量類型分配不同大小的存儲空間,每一個變量都是屬于特定的數(shù)據(jù)類型的,聲明成不同的數(shù)據(jù)類型,它就在內(nèi)存里面分配不同的存儲空間。變量作用域:變量的作用域只在“{ }”有效,出了這個“{ }”就沒有作用了3.3. java變量的分類3.4. java局部變量與成員變量3.5. java數(shù)據(jù)類型劃分java數(shù)據(jù)類型講解4.1.boolean——布爾型4.2.char——字符型全球的文字放到計算機里面表示全是0和1,Unicode是統(tǒng)一了全世界*文字的一種編碼方式,用這樣的編碼可以把全世界*的文字連接在一起。Unicode編碼又分為兩種,一種是Utf-8,另一種是Utf-16。JAVA所采用的是Utf-16,每一個字符占2個字節(jié),任何*的文字放到Unicode里面都是占2個字節(jié)。4.3.整數(shù)類型C語言編譯好的程序為什么不能移植,如把.exe文件放到Linux下是執(zhí)行不了的,一個很大很大的原因在于C語言定義的變量在不同的操作系統(tǒng)上所占的大小是不一樣的,聲明一個int類型的變量,在Windows下面占32位,但放到Linux下面就有可能只占16位,那么這時候很可能表示的大小就不一樣了,在Windows下聲明一個很大的數(shù),在Linux下面很可能就會溢出。因此這就是C語言為什么在編譯完成之后不能移植的原因。4.4.浮點類型4.5.基本數(shù)據(jù)類型的轉(zhuǎn)換類型轉(zhuǎn)換測試 1 public class { 2 public static void main(String arg[]) { 3 int i1 = 123; 4 int i2 = 456; 5 double d1 = (i1+i2)*1.2;//系統(tǒng)將轉(zhuǎn)換為double型運算 6 float f1 = (float)((i1+i2)*1.2);//需要加強制轉(zhuǎn)換符 7 byte b1 = 67; 8 byte b2 = 89; 9 byte b3 = (byte)(b1+b2);//系統(tǒng)將轉(zhuǎn)換為int型運算,需要強制轉(zhuǎn)換符10 System.out.println(b3);11 double d2 = 1e200;12 float f2 = (float)d2;//會產(chǎn)生溢出13 System.out.println(f2);14 float f3 = 1.23f;//必須加f15 long l1 = 123;16 long l2 = ;//必須加l17 float f = l1+l2+f3;//系統(tǒng)將轉(zhuǎn)換為float型計算18 long l = (long)f;//強制轉(zhuǎn)換會舍去小數(shù)部分(不是四舍五入)19 }20 } 運算符5.1.算術(shù)運算符(自加和自減運算符) 5.2.邏輯運算符5.3.賦值運算符5.4.字符串連接符5.5.表達式5.6.三目運算符語句1.1. 條件語句 if語句 分支語句 (switch語句)1.2. 循環(huán)語句 for循環(huán)語句學(xué)會畫內(nèi)存分析圖分析別人寫的程序,這樣就很容易分析出規(guī)律,分析出規(guī)律也就明白了別人的算法,也就很容易讀懂別人的程序。在內(nèi)存中分析result=1!+2!……+10!的算法分析到i等于3以后,基本上已經(jīng)得到規(guī)律了,這個程序要計算的就是:result = 1!+2!+3!……+10!。由此可以看出,懂得畫內(nèi)存去分析程序?qū)ψx懂別人的程序是大有裨益的。以后讀別人的程序的時候,覺得難讀懂的時候就畫內(nèi)存分析。學(xué)習(xí)別人的算法的*的途徑是分析別人寫的程序,分析的過程結(jié)合內(nèi)存分析是*的做法。while循環(huán)和do while循環(huán)方法方法執(zhí)行到return語句后,這個方法的執(zhí)行就結(jié)束了,方法可以有返回值,但可以不用這個返回值。方法首先要定義,然后才能調(diào)用。1 public class { 2 public static void main(String args[]){3 m(); 4 m1(3); 5 m2(2,3); 6 int i = m3(4,5); 7 System.out.println(i); 8 } 9 //以下定義的都是靜態(tài)方法,靜態(tài)方法可以在main()方法里面直接調(diào)用10 public static void m(){11 System.out.println("Hello!");12 System.out.println("孤傲蒼狼");13 }14 15 public static void m1(int i){16 if(i==5){17 return;18 }19 System.out.println(i);20 }21 22 public static void m2(inti,int j){23 System.out.println(i+j);24 }25 26 public static int m3(int i,int j){27 return i+j;28 }29 }變量的作用域變量的作用域只在“{ }”有效,出了這個“{ }”就沒有作用了遞歸調(diào)用遞歸:在一個方法內(nèi)部對自身的調(diào)用就稱為遞歸 整個方法執(zhí)行在內(nèi)存中執(zhí)行的過程如下圖所示:范例:使用遞歸計算第5個斐波那契數(shù)列數(shù) 1 /*計算第5個斐波那契數(shù)列數(shù)*/ 2 /* 3 斐波那契數(shù)列特點:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次類推。 4 即后一個數(shù)都是等于前兩個數(shù)的和,這樣的數(shù)列就是斐波那契數(shù)列。 5 */ 6 /* 7 使用遞歸調(diào)用的方法計算 8 */ 9 public class Fab{10 public static voidmain(String args[]){11 System.out.println(f(5));12 }13 14 public static int f(int n){15 if(n==1||n==2){16 return 1;17 }else{18 return f(n-1)+f(n-2);19 }20 }21 }整個在內(nèi)存中執(zhí)行過程如下圖所示程序的執(zhí)行過程
3.怎樣才能學(xué)好java基礎(chǔ)?記住,平時沒人會給你說這些!
迅速發(fā)展的信息技術(shù)時代,互聯(lián)網(wǎng)也是行業(yè)的領(lǐng)軍者。而Java這門語言也一直成為電腦語言的領(lǐng)頭大哥,而且在市場上這門語言也非常的成熟,這方面的人才也是供不應(yīng)求??赡艽蟛糠秩硕贾溃琂ava這門語言也是有點難度的,主要在于他的知識點多,每一個知識點都跟前面的所有知識點相關(guān)聯(lián),前面的學(xué)不懂,后面的課程只會越來越困難??赡軙?dǎo)致你還沒有入門就放棄了。雖然所有電腦語言的入門*件事都是,但是其中卻存在非常多的熬妙,比如為什么一定要有main方法才能夠執(zhí)行程序,為什么在輸出語句里面寫了幾個字母就能夠輸出數(shù)據(jù)來。這些我想你們都沒有真正的去了解過,所以從這些細節(jié)就可以看出來你是不是真正的學(xué)好了Java這門語言。 一、一個系統(tǒng)的學(xué)習(xí)方案,跟一套完整的教程?,F(xiàn)在是互聯(lián)網(wǎng)時代,不管是書籍還是視頻,網(wǎng)絡(luò)上面的資源是非常的多,但是學(xué)習(xí)方案每個人都不一樣,應(yīng)該給自己定制一套適合自己的學(xué)習(xí)方案。這里推薦我覺得寫的好的且適合基礎(chǔ)入門學(xué)習(xí)的書籍:1,《Thinking in java 》適合入門建立正確的概念2,《Core java》這本書很貼近實踐,更多的API的介紹3,《java入門到精通》4,《java核心編程思想》5,《java編程思想,第四版中文》書是必要的,但是有一到三本就好了,不需要太多,太多了你會看不過來,如果你有更多的時間,那你可以多看幾本,不要盲目的去學(xué)習(xí),這樣不僅達不到效果,還會浪費一大把的時間和金錢。學(xué)習(xí)過程中要不斷的鞏固學(xué)過的知識,每天把所學(xué)的知識點吃透,不斷的練習(xí),Java這個行業(yè)需要的是你的經(jīng)驗,而經(jīng)驗就是在你不斷練習(xí)過程中通過程序的報錯來積累的。不要害怕寫代碼的時候出現(xiàn)錯誤,你要知道,行業(yè)里面的大佬,他們也是從你這里過來的,只是他們遇到的問題比你敲的代碼的字母量還多。給你看一下我梳理的javase學(xué)習(xí)路線: 二、掌握學(xué)習(xí)的方法,這么多自學(xué)的人,百分之七八十的人都會放棄,因為他們在盲目的摸索,或者說他們在模仿別人的學(xué)習(xí)方法。模仿別人沒錯,但是你也得選對人,不是每個人的學(xué)習(xí)方法都適合你,而且你跟別人的學(xué)習(xí)能力都不一樣,按照別人的學(xué)習(xí)方法可能會導(dǎo)致你跟不上或者浪費一部分的時間。其實不管你怎么去學(xué),每天必須給自己一定的壓力,把自己的時間安排滿,不要讓自己閑下來,當(dāng)你閑下來之后,下一秒鐘再去學(xué)習(xí)就沒有這樣的激情或者動力,因為當(dāng)你閑下來之后你就會感覺到自己很疲憊,再去學(xué)習(xí)就沒有多大的效果。 三、每天要對自己學(xué)的知識點進行總結(jié),不管是學(xué)了多少,一定要記住一個前提,必須學(xué)懂。如果你這一個知識點沒有學(xué)懂就會導(dǎo)致你下一個知識點出現(xiàn)缺漏,然后把自己陷入一個即懂又不懂的僵局。然后再是對自己所學(xué)的知識點進行總結(jié),比如今天學(xué)了集合,集合中哪些方法是常用的,哪些方法比較難,在這過程中出現(xiàn)了什么問題,如何去解決這些問題的。再然后就對自己今天所學(xué)的知識點進行一個綜合的檢測,檢測自己的過程中把不會的或者忘記的再去復(fù)習(xí)一遍;或者給自己找一個綜合一點的題目,把前面所學(xué)的知識點包括在里面一起進行檢測,這樣不僅檢測到你今天的知識點,以前的知識點也進行了一個鞏固。 四、多去尋找別人的幫助,可能別人的一句話會頂過你幾天的知識點,雖然學(xué)習(xí)是要靠自己,但是想要java學(xué)的快學(xué)的扎實又高效,外界的幫助是必須的,很多初學(xué)者的問題都非常簡單,對于別人來說一眼就能看出是什么問題,而你自己看了大半天都找不到自己的問題出現(xiàn)在哪兒。學(xué)習(xí)要記住的一點就是要臉皮厚,自己解決不了的問題就去尋求別人的幫助;古代有一句話:聽君一席話勝讀十年書;這句話用在這兒一點都不夸張,因為別人在社會上摸爬滾打這么多年,他們的經(jīng)驗是你無法想象的,你幾天能想出來的問題別人一秒鐘就能夠指出你的問題所存在的問題,而且會把你說得心服口服,甚至有些話你都聽不懂。因為什么呢?還不是一個經(jīng)驗的問題,別人把遇到的問題經(jīng)過多年的經(jīng)驗總結(jié)成了自己的一句話,每次在工作的過程中都被這句話提醒到,不能再去范這個錯誤。其實行業(yè)里面的人都會有這個想法,都想炫耀自己學(xué)得知識,當(dāng)你去問他問題的時候,他一定會跟你講,因為在他眼里看來他就是比你強,然后自己再無私奉獻一點知識給你,別人其實一點都不虧,不僅裝了X,還把你的問題給解決了。學(xué)習(xí)Java主要分為四個階段: 一、JavaSE基礎(chǔ)階段:JavaSE作為Java的基礎(chǔ),非常重要,后面學(xué)習(xí)的框架的深度就在于你JavaSE的學(xué)習(xí)程度,基礎(chǔ)越好的人對框架的理解完全不一樣,因為他們會去了解框架的底層原理,而且還能看懂。這些放在一個JavaSE基礎(chǔ)不是很好的人來說很吃力,因為他們看不懂框架的源碼,自然就不會真正的知道框架的底層原理。有的人做了一兩年的java開發(fā),雖然工資高,但是他們對于JavaSE基礎(chǔ)部分的學(xué)習(xí)是遠遠不夠的,這也關(guān)系到他們后面的職業(yè)生涯的發(fā)展。所以,學(xué)習(xí)java的人JavaSE才是你真正的起點??烧莆盏暮诵哪芰Γ? 1,能夠掌握DOS系統(tǒng)常用基本命令 2,熟練使用eclipes編寫java代碼 3,熟練使用java語言的常用對象 4,掌握常用數(shù)據(jù)結(jié)構(gòu)和算法 5,掌握面向?qū)ο缶幊趟枷?,為以后深入javaee打下堅實基礎(chǔ)實戰(zhàn)項目:學(xué)生管理系統(tǒng)java項目鏈接: 二、數(shù)據(jù)庫:數(shù)據(jù)庫是開發(fā)一個程序中不可缺少的部分,一個程序必須有一個數(shù)據(jù)庫。數(shù)據(jù)庫主要是用來保存數(shù)據(jù),保證數(shù)據(jù)不會錯亂,不會隨意的改動,更不會使數(shù)據(jù)消失,保證了數(shù)據(jù)的完整性。 三、JavaWeb和網(wǎng)頁三劍客:JavaWeb基本上是所有的框架的入門,學(xué)懂了JavaWeb之后,后面的框架學(xué)習(xí)也會提升一個檔次。網(wǎng)頁三劍客就是HTML、JS、CSS;這些也是學(xué)習(xí)后端必須掌握的知識。java網(wǎng)頁開發(fā)可掌握的核心能力1,運用常用的網(wǎng)頁開發(fā)技術(shù)設(shè)計網(wǎng)頁2,掌握WEB系統(tǒng)呼叫管理3,掌握javaWeb開發(fā)核心技術(shù)4,運用javaWeb核心技術(shù)完成簡單的功能實現(xiàn)5,掌握javaWeb高級技術(shù),創(chuàng)建更好的Web應(yīng)用程序項目實戰(zhàn):鏈接: 提取碼:t0x3 四、JavaEE框架:基礎(chǔ)框架:SpringMVC、Spring、MyBatis擴展框架:maven、、、、redis、等等代碼管理工具:git、svn項目實戰(zhàn):鏈接: 提取碼:xrlp記住,基礎(chǔ)學(xué)習(xí)不要盲目的追求學(xué)習(xí)速度,要一步步走穩(wěn),多去敲代碼練習(xí),多積累經(jīng)驗。我是java開發(fā)工程師,這些都是我這些年在工作中的一些基本的總結(jié)和經(jīng)驗,我是過來人,個人觀點,希望把我經(jīng)歷過的,學(xué)過的,看到過的分享給你們大家,希望你們在學(xué)習(xí)中少走彎路,提高學(xué)習(xí)的效率,少花冤枉錢和時間,這些都是實話,忠言逆耳,希望可以幫助到你,你要知道社會是現(xiàn)實的,當(dāng)你走向社會的時候,你會發(fā)現(xiàn),沒有真本事,社會不是那么好混的。
上述文章了解到關(guān)于JAVA學(xué)習(xí)筆記記錄與分享(java基礎(chǔ)------核心技術(shù)),java基礎(chǔ)學(xué)習(xí)總結(jié)——基礎(chǔ)語法(建議收藏,純干貨),怎樣才能學(xué)好java基礎(chǔ)?記住,平時沒人會給你說這些!?? ,讓我們對學(xué)習(xí)java語言基礎(chǔ) 有一個直觀的認知。我們發(fā)現(xiàn),作為一個優(yōu)秀的Java程序員是多么的自豪。