習(xí)核心考點(diǎn):面向?qū)ο?、集合與異常處理全攻略)
簡(jiǎn)介這是一份Java程序設(shè)計(jì)期末復(fù)習(xí)整理文檔以27頁(yè)P(yáng)DF形式涵蓋考試題型、Java技術(shù)概述、JDK環(huán)境配置、編程執(zhí)行流程與語(yǔ)言基礎(chǔ)知識(shí)適合高校計(jì)算機(jī)專業(yè)學(xué)生、自考考生以及需要快速串聯(lián)Java核心考點(diǎn)的初學(xué)者考前使用。文檔從Java的六大特點(diǎn)、J2SE/J2EE/J2ME三大平臺(tái)、運(yùn)行原理到標(biāo)識(shí)符規(guī)則、關(guān)鍵字、注釋方式、整數(shù)/浮點(diǎn)/字符等數(shù)據(jù)類型逐一歸納并輔以代碼示例與常見(jiàn)錯(cuò)誤解析便于系統(tǒng)查漏補(bǔ)缺。資源包共1個(gè)文件格式為PDF包體大小僅554KB下載后可直接在電腦或手機(jī)端閱讀無(wú)需解壓。內(nèi)容覆蓋填空、選擇、簡(jiǎn)答、程序填空和程序設(shè)計(jì)等常見(jiàn)題型重點(diǎn)明確其中程序填空和設(shè)計(jì)題占比較大文檔對(duì)此類常見(jiàn)考法做了重點(diǎn)提示適合結(jié)合教材做考前沖刺。目前已有380人學(xué)習(xí)下載對(duì)考前快速回顧Java知識(shí)點(diǎn)、理解編譯執(zhí)行機(jī)制及應(yīng)對(duì)基礎(chǔ)題型均有較高參考價(jià)值。 期末周最要命的不是課難而是翻開(kāi)復(fù)習(xí)資料發(fā)現(xiàn)全是散頁(yè)P(yáng)PT今天翻幾頁(yè)明天翻幾頁(yè)合上電腦啥也沒(méi)記住。我整理這份Java語(yǔ)言程序設(shè)計(jì)期末復(fù)習(xí)題資料的時(shí)候核心目標(biāo)只有一個(gè)把27頁(yè)課件里真正會(huì)考的東西拎出來(lái)讓你在最短時(shí)間內(nèi)形成能答題的知識(shí)框架。這份復(fù)習(xí)資料不是課件原文的搬運(yùn)而是按題型、分值、易錯(cuò)點(diǎn)重新排列組合過(guò)的應(yīng)試版本面向所有正在被Java期末考試按在地上摩擦的同學(xué)不管是零基礎(chǔ)剛起步還是半懂不懂想沖刺高分都能直接拿來(lái)用。Java這門(mén)課在高校里幾乎都是必修但教材厚、課件散、老師講得快到了期末最不缺的就是資料最缺的是“哪些必考、哪些不考、考了怎么寫(xiě)才給分”。這篇文章我會(huì)帶著你走一遍我跟學(xué)生復(fù)盤(pán)時(shí)反復(fù)強(qiáng)調(diào)的核心知識(shí)點(diǎn)配合典型例題和丟分重災(zāi)區(qū)照著這個(gè)邏輯復(fù)習(xí)比漫無(wú)目的地刷十套卷子都管用。1. 考前先搞懂Java期末試卷到底在考什么1.1 題型分布與分值邏輯我翻過(guò)不少高校的Java期末試卷雖然各校命題風(fēng)格有差異但大體逃不出這五種題型。你可以先對(duì)著自己老師畫(huà)的重點(diǎn)把這些題型做到心里有數(shù)選擇題約30%覆蓋全是基礎(chǔ)概念數(shù)據(jù)類型、運(yùn)算符、面向?qū)ο筇卣?、集合接口關(guān)系范圍廣但是深度淺。填空題約10%一般考關(guān)鍵字、默認(rèn)值、輸出結(jié)果喜歡從課件原話里挖空。程序閱讀題約25%給你一段代碼讓你寫(xiě)出運(yùn)行結(jié)果。這是整張卷子的分水嶺考的是你能不能像JVM一樣按順序執(zhí)行代碼而不是你能不能背出概念。程序改錯(cuò)題約10%給一段帶錯(cuò)誤的代碼讓你指出并改正。語(yǔ)法錯(cuò)誤相對(duì)好找邏輯錯(cuò)誤才是最坑的。編程題約25%通常是類設(shè)計(jì)、集合操作、字符串處理的綜合題分值大書(shū)寫(xiě)量大是拉開(kāi)差距的地方。分值邏輯很清晰死記硬背能拿下的不超過(guò)三成剩下的全要看你能不能理解代碼執(zhí)行過(guò)程。所以你復(fù)習(xí)的核心不在于背條款而在于逐行讀代碼、逐行想結(jié)果。1.2 哪些章節(jié)是“兵家必爭(zhēng)之地”根據(jù)考試頻率和分值占比我給課件內(nèi)容排了個(gè)優(yōu)先級(jí)這個(gè)優(yōu)先級(jí)比你看書(shū)的順序重要得多第一梯隊(duì)必考大題區(qū)面向?qū)ο笕筇匦?、集合框架、異常處理。這三塊基本撐起了整張?jiān)嚲淼拇箢}和閱讀題復(fù)習(xí)時(shí)間至少要占一半。第二梯隊(duì)??夹☆}區(qū)字符串String類、數(shù)組操作、流程控制、基本數(shù)據(jù)類型與包裝類。這些知識(shí)點(diǎn)不會(huì)單獨(dú)出大題但選擇題和填空題里到處都是它們的身影。第三梯隊(duì)看課時(shí)覆蓋IO流、多線程、泛型、Lambda表達(dá)式、圖形界面。有的學(xué)校課時(shí)長(zhǎng)會(huì)重點(diǎn)考有的只是提一嘴。判斷方法很簡(jiǎn)單看老師的課件頁(yè)數(shù)和平時(shí)作業(yè)占比。避重就輕是個(gè)策略問(wèn)題。如果你時(shí)間緊優(yōu)先把第一梯隊(duì)拿下及格就有保障想沖高分再往第二第三梯隊(duì)深挖。2. 核心知識(shí)盤(pán)點(diǎn)27頁(yè)課件里的骨架濃縮版2.1 語(yǔ)法地基數(shù)據(jù)類型、流程控制、數(shù)組Java是強(qiáng)類型語(yǔ)言這六個(gè)字理解了語(yǔ)法地基就穩(wěn)了一半?;緮?shù)據(jù)類型有八種byte、short、int、long、float、double、char、boolean要記住各自的占用字節(jié)數(shù)和默認(rèn)值這是選擇題最愛(ài)挖的坑。比如int默認(rèn)值是0float默認(rèn)值是0.0fboolean默認(rèn)值是false而引用類型的默認(rèn)值統(tǒng)一是null。復(fù)習(xí)的時(shí)候可以自己做個(gè)小表格把類型、字節(jié)數(shù)、默認(rèn)值、包裝類一一對(duì)應(yīng)起來(lái)。流程控制部分重點(diǎn)掌握switch語(yǔ)句的支持類型從Java 7開(kāi)始支持String另外還支持int、char、枚舉類型。需要注意的是case穿透問(wèn)題沒(méi)有break會(huì)繼續(xù)往下執(zhí)行很多程序閱讀題就是在這里挖坑。數(shù)組這塊必須動(dòng)手練的不是聲明和初始化而是遍歷和復(fù)制。要會(huì)用下標(biāo)訪問(wèn)、for-each遍歷、Arrays工具類的sort和copyOf方法并能判斷數(shù)組越界異常ArrayIndexOutOfBoundsException的觸發(fā)時(shí)機(jī)。我記得有一年期末的程序閱讀題考的是一段對(duì)二維數(shù)組進(jìn)行行列交換的代碼看起來(lái)不難但很多人栽在忘了二維數(shù)組的length是行數(shù)而不是總元素個(gè)數(shù)上。2.2 面向?qū)ο笕追庋b、繼承、多態(tài)面向?qū)ο笫荍ava的靈魂也是期末考試的絕對(duì)核心。復(fù)習(xí)的時(shí)候我會(huì)讓學(xué)生問(wèn)自己三個(gè)問(wèn)題答清楚了這一大塊就通了封裝是什么把數(shù)據(jù)私有化通過(guò)public方法暴露操作入口。寫(xiě)類的時(shí)候?qū)傩杂胮rivate修飾、提供getter和setter這是基本姿勢(shì)編程題里寫(xiě)類如果不加private改錯(cuò)題里如果沒(méi)指出來(lái)都屬于扣分點(diǎn)。繼承怎么用Java是單繼承機(jī)制一個(gè)子類只能有一個(gè)父類但可以多層繼承。子類通過(guò)extends關(guān)鍵字繼承父類的非私有成員。這里最??嫉氖菢?gòu)造方法的調(diào)用順序創(chuàng)建子類對(duì)象時(shí)先執(zhí)行父類的構(gòu)造方法再執(zhí)行子類的構(gòu)造方法而且父類的無(wú)參構(gòu)造會(huì)被默認(rèn)調(diào)用除非子類構(gòu)造方法第一行顯式用super(參數(shù))調(diào)用父類的有參構(gòu)造。多態(tài)靠什么實(shí)現(xiàn)靠方法重寫(xiě)、向上轉(zhuǎn)型和動(dòng)態(tài)綁定。編譯看左邊運(yùn)行看右邊這句話一定要刻在腦子里。后面第三部分我會(huì)用一道例題具體展開(kāi)。接口和抽象類的區(qū)別也是高頻考點(diǎn)用一句話記憶抽象類是“是什么”的關(guān)系用extends接口是“能不能”的關(guān)系用implements。抽象類可以有構(gòu)造方法和成員變量接口在Java 8之前只有常量和抽象方法之后就多了默認(rèn)方法和靜態(tài)方法。2.3 API高頻區(qū)String、集合框架、異常體系Java為什么好用很大程度上是因?yàn)锳PI豐富。期末考試不會(huì)讓你背API文檔但常用類的核心方法必須手到擒來(lái)。String類最核心的兩個(gè)認(rèn)知點(diǎn)字符串對(duì)象不可變字符串比較內(nèi)容用equals而不是。另外要分清String、StringBuilder、StringBuffer三者的關(guān)系——String不可變StringBuilder線程不安全但效率高StringBuffer線程安全但效率略低。選擇題基本就圍著這個(gè)區(qū)別打轉(zhuǎn)。集合框架要按接口關(guān)系去記而不是孤立地背每個(gè)類。頂層是Collection接口派生出List、Set、Queue三個(gè)子接口List之下有ArrayList和LinkedListSet之下有HashSet和TreeSet。Map單獨(dú)一個(gè)分支常見(jiàn)實(shí)現(xiàn)是HashMap和TreeMap。HashMap和Hashtable的區(qū)別要重點(diǎn)看前者線程不安全、允許null鍵和null值后者線程安全不允許null。異常體系記住一個(gè)總類Throwable下面分Error和Exception兩個(gè)分支。Exception又分受檢異常checked編譯期強(qiáng)制處理和運(yùn)行時(shí)異常RuntimeException編譯期不強(qiáng)制。復(fù)習(xí)時(shí)重點(diǎn)掌握常見(jiàn)的空指針異常NullPointerException、數(shù)組越界異常、類轉(zhuǎn)換異常ClassCastException分別屬于哪個(gè)分支以及try-catch-finally的執(zhí)行順序。3. 高頻考點(diǎn)精講會(huì)做真題和會(huì)考試是兩碼事3.1 筆試最愛(ài)考的“繼承與多態(tài)”辨析程序閱讀題里繼承和多態(tài)幾乎是必出的一題。真題最常見(jiàn)的考法是定義一個(gè)父類引用指向子類對(duì)象然后調(diào)用一個(gè)被子類重寫(xiě)的方法讓你寫(xiě)出輸出結(jié)果??催@個(gè)例子class Animal { public void speak() { System.out.println(animal speak); } } class Dog extends Animal { public void speak() { System.out.println(dog speak); } } public class Test { public static void main(String[] args) { Animal a new Dog(); a.speak(); } }答案是dog speak。原理是動(dòng)態(tài)綁定方法調(diào)用在運(yùn)行時(shí)根據(jù)對(duì)象的實(shí)際類型來(lái)決定而不是根據(jù)引用變量的聲明類型。哪怕Animal類里把speak方法聲明為private結(jié)果也完全不同——private方法不會(huì)被子類重寫(xiě)這就是方法重寫(xiě)的一個(gè)限制條件很多學(xué)生在這里丟分。除了多態(tài)構(gòu)造函數(shù)調(diào)用順序的例子也必須練一遍。父類有有參構(gòu)造而沒(méi)有無(wú)參構(gòu)造時(shí)子類必須顯式寫(xiě)出super調(diào)用否則編譯報(bào)錯(cuò)。這個(gè)點(diǎn)在填空和改錯(cuò)里都出現(xiàn)過(guò)要格外注意。3.2 集合框架搞清楚誰(shuí)是誰(shuí)的父類集合相關(guān)的題目我喜歡用一張對(duì)照表幫學(xué)生理清關(guān)系復(fù)習(xí)時(shí)你可以自己手畫(huà)一遍記憶效果比盯著屏幕看強(qiáng)很多接口常見(jiàn)實(shí)現(xiàn)類底層結(jié)構(gòu)是否有序是否允許重復(fù)特殊點(diǎn)ListArrayList動(dòng)態(tài)數(shù)組有序允許查詢快增刪慢ListLinkedList雙向鏈表有序允許增刪快查詢慢SetHashSet哈希表無(wú)序不允許依靠hashCode和equalsSetTreeSet紅黑樹(shù)自然排序不允許元素必須可比較MapHashMap哈希表無(wú)序key不允許允許null鍵和null值MapTreeMap紅黑樹(shù)按鍵排序key不允許不允許null鍵考試經(jīng)常這樣問(wèn)往HashSet里添加兩個(gè)內(nèi)容相同的字符串對(duì)象最終集合里有幾個(gè)元素答案是1個(gè)。HashSet先比較hashCode相同再比較equals如果都相同就認(rèn)為是重復(fù)對(duì)象不進(jìn)行添加。理解了這一條很多HashSet的題都能迎刃而解。遍歷方式也要練熟。Collection遍歷常見(jiàn)三種for-each、迭代器Iterator、普通for配合get方法List專用。Map遍歷則是先拿到entrySet或keySet再遍歷。迭代器遍歷過(guò)程中不能直接調(diào)用集合的remove方法否則會(huì)拋ConcurrentModificationException這一條是改錯(cuò)題的高頻考點(diǎn)。3.3 異常處理try-catch-finally的執(zhí)行順序異常處理的核心考點(diǎn)其實(shí)就兩個(gè)try-catch-finally的執(zhí)行順序以及多catch塊的書(shū)寫(xiě)順序。先記住一條鐵律try中不管有沒(méi)有異常finally塊中的代碼一定執(zhí)行除非在執(zhí)行finally之前調(diào)用了System.exit()退出虛擬機(jī)。所以try { int result 10 / 0; } catch (ArithmeticException e) { System.out.println(catch); } finally { System.out.println(finally); }輸出順序是catch然后finally。如果把catch里的異常類型改成Exception效果也一樣因?yàn)锳rithmeticException是RuntimeException的子類而RuntimeException又是Exception的子類。多catch塊的書(shū)寫(xiě)順序要注意子類異常必須放在父類異常前面比如catch(ArithmeticException e)必須在catch(Exception e)之前寫(xiě)否則編譯直接報(bào)錯(cuò)因?yàn)楦割悤?huì)把子類的異常全部截胡后面的catch塊永遠(yuǎn)執(zhí)行不到編譯器不允許這種代碼存在。自定義異常也是??键c(diǎn)格式其實(shí)很簡(jiǎn)單繼承Exception類提供無(wú)參和帶參構(gòu)造方法構(gòu)造方法里調(diào)用super(message)。編程題如果要求自定義一個(gè)異常類并手動(dòng)拋出這個(gè)模板直接背下來(lái)就夠用。4. 易錯(cuò)題實(shí)錄這些坑每年都有一批人踩4.1 運(yùn)算符優(yōu)先級(jí)和類型轉(zhuǎn)換運(yùn)算符優(yōu)先級(jí)是選擇題的常青樹(shù)但要說(shuō)丟分率最狠的是自增自減和強(qiáng)制類型轉(zhuǎn)換。int a 5; int b a a; System.out.println(b);答案是12不是11也不是13。拆解一下a先使用a當(dāng)前值5參與運(yùn)算然后a變成6a先把a(bǔ)變成7再參與運(yùn)算所以5712最終b為12a為7。這類題目反復(fù)出現(xiàn)的邏輯是**“先使用后自增”和“先自增后使用”的順序**。類型轉(zhuǎn)換要記住兩句話小范圍向大范圍自動(dòng)轉(zhuǎn)換大范圍向小范圍必須強(qiáng)轉(zhuǎn)。強(qiáng)轉(zhuǎn)有精度損失風(fēng)險(xiǎn)比如int轉(zhuǎn)byte時(shí)可能溢出截?cái)鄆nt num 130; byte b (byte) num;結(jié)果是-126。130超出byte范圍-128到127強(qiáng)轉(zhuǎn)后發(fā)生溢出繞回年初有一批學(xué)生在這里全軍覆沒(méi)務(wù)必親自算一遍。4.2 傳值與傳引用Java只有值傳遞這是Java初學(xué)者最難轉(zhuǎn)過(guò)彎的概念之一期末也愛(ài)考。核心就一句Java中方法參數(shù)傳遞全是值傳遞?;緮?shù)據(jù)類型傳的是值的副本引用類型傳的是引用的副本但這個(gè)引用副本指向的還是原對(duì)象。所以你在方法里給形參重新new一個(gè)對(duì)象不會(huì)影響實(shí)參但你在方法里修改形參對(duì)象的屬性值實(shí)參對(duì)象的屬性值也會(huì)跟著變??催@個(gè)經(jīng)典代碼public static void change(String s) { s world; } public static void main(String[] args) { String str hello; change(str); System.out.println(str); }輸出是hello不是world。為什么因?yàn)镾tring是不可變對(duì)象change方法里s world實(shí)際上是讓形參s指向了一個(gè)新的字符串常量對(duì)原對(duì)象沒(méi)有任何影響。把String換成StringBuilder再看一次public static void change(StringBuilder sb) { sb.append( world); } public static void main(String[] args) { StringBuilder sb new StringBuilder(hello); change(sb); System.out.println(sb.toString()); }輸出就變成了hello world因?yàn)閍ppend是在原對(duì)象上做修改。這兩個(gè)對(duì)比案例放一起體會(huì)這個(gè)考點(diǎn)就通了。4.3 static與main方法里的隱藏規(guī)則static關(guān)鍵字也是填空和選擇題的釘子戶。最重要的規(guī)則static修飾的方法是類方法不依賴對(duì)象存在所以不能直接訪問(wèn)非static成員變量和非static方法。反而非static方法可以正常訪問(wèn)static成員。這個(gè)規(guī)則如果考程序閱讀題通常這么出寫(xiě)一個(gè)有static方法、有實(shí)例方法、有static變量和實(shí)例變量的類然后讓你判斷main方法里哪一行代碼編譯錯(cuò)誤。掌握了上面那條規(guī)則這類題就是送分題。main方法的簽名必須是public static void main(String[] args)任何一個(gè)關(guān)鍵詞缺失或者順序不對(duì)程序都無(wú)法啟動(dòng)。編程題里經(jīng)常有人忘寫(xiě)staticJVM壓根找不到入口方法直接報(bào)錯(cuò)。還有個(gè)小細(xì)節(jié)args就是命令行傳入的參數(shù)數(shù)組args[0]取的是第一個(gè)參數(shù)不是程序名本身這個(gè)細(xì)節(jié)有時(shí)候會(huì)出現(xiàn)在選擇題里。4.4 各種常見(jiàn)混淆點(diǎn)的對(duì)比清單再把高頻混淆點(diǎn)整理一遍用表格的形式方便你考前最后一遍掃視對(duì)比項(xiàng)正確說(shuō)法常見(jiàn)錯(cuò)誤認(rèn)識(shí) 與 equals 比較地址equals比較內(nèi)容String已重寫(xiě)認(rèn)為可以比較字符串內(nèi)容重寫(xiě)與重載重寫(xiě)是父子類方法覆蓋重載是同類的同名不同參混淆兩者場(chǎng)景抽象類與接口抽象類是單繼承接口可多實(shí)現(xiàn)認(rèn)為接口可以extends多個(gè)接口接口確實(shí)可以多extends但注意表達(dá)final修飾類不可繼承、方法不可重寫(xiě)、變量不可變認(rèn)為final等于常量其實(shí)只是引用不可變ArrayList與數(shù)組長(zhǎng)度可變、只能存放對(duì)象認(rèn)為ArrayList可以存放基本數(shù)據(jù)類型實(shí)際放的是包裝類break與continuebreak結(jié)束整個(gè)循環(huán)continue結(jié)束本次循環(huán)認(rèn)為continue會(huì)跳出整個(gè)循環(huán)5. 考前一周的復(fù)習(xí)節(jié)奏與應(yīng)試技巧5.1 復(fù)習(xí)時(shí)間分配離考試還有七天的情況下怎么安排復(fù)習(xí)順序根據(jù)我?guī)н^(guò)的學(xué)生經(jīng)驗(yàn)這樣拆最穩(wěn)第1-2天過(guò)課件專門(mén)整理概念題。把選擇題答案來(lái)源在課件里標(biāo)注出來(lái)順手把填空愛(ài)挖的“默認(rèn)值”“關(guān)鍵字”圈出來(lái)背掉。第3-4天集中刷程序閱讀題和改錯(cuò)題。找一個(gè)本子把每道題的代碼抄下來(lái)蒙住答案手寫(xiě)輸出結(jié)果寫(xiě)錯(cuò)的題重點(diǎn)標(biāo)記。這一步最痛苦但提分也最快。第5天模擬編程題。每天手寫(xiě)兩個(gè)類設(shè)計(jì)一個(gè)繼承多態(tài)方向一個(gè)集合異常方向。寫(xiě)完對(duì)照標(biāo)準(zhǔn)答案補(bǔ)漏。第6天回看所有錯(cuò)題尤其是程序閱讀和改錯(cuò)把錯(cuò)因歸類??记耙惶熘豢凑沓龅囊族e(cuò)點(diǎn)清單和對(duì)比表格不看新題確保狀態(tài)松弛。這個(gè)節(jié)奏的核心邏輯是概念記憶放開(kāi)頭程序閱讀放中間編程手感放后期最后一天只做減法。5.2 答題順序與編碼技巧考試時(shí)的答題順序也有講究。我的建議是先做程序閱讀題再做改錯(cuò)題和選擇題編程題放最后。為什么因?yàn)槌绦蜷喿x題一上手就能進(jìn)入代碼思維的狀態(tài)而且分值穩(wěn)定能在短時(shí)間內(nèi)建立信心。選擇題放在中間做相當(dāng)于在閱讀題和編程之間加了個(gè)緩沖。編程題放最后不是因?yàn)椴恢匾且驗(yàn)樗詈臅r(shí)如果因?yàn)榍懊娴念}沒(méi)做完而慌了神編程題的思路會(huì)受到很大影響。編程題的答題技巧要注意這幾點(diǎn)類名必須跟文件名保持一致main方法簽名不能寫(xiě)錯(cuò)屬性盡量private訪問(wèn)用public方法循環(huán)和判斷的邊界條件要寫(xiě)對(duì)尤其注意數(shù)組下標(biāo)從0開(kāi)始。不需要把代碼寫(xiě)得花哨能編譯、能跑通、結(jié)構(gòu)清晰就是滿分標(biāo)準(zhǔn)。我見(jiàn)過(guò)太多學(xué)生在編程題里寫(xiě)了一大堆花活結(jié)果一個(gè)分號(hào)錯(cuò)位整題扣光得不償失。另外還有一個(gè)小建議手寫(xiě)代碼時(shí)不要用縮寫(xiě)命名類名和方法名。命名規(guī)范本身就占一定的分值而且在閱卷老師看來(lái)規(guī)范的命名意味著你理解了這個(gè)類的職責(zé)這在印象分上有很大幫助。5.3 資料使用建議回到這份27頁(yè)的整理版資料怎么用效率最高別從頭到尾當(dāng)小說(shuō)看我建議分兩輪過(guò)第一輪先翻目錄和章節(jié)標(biāo)題用鉛筆在每頁(yè)頂部標(biāo)出“高頻”“中頻”“低頻”三個(gè)層級(jí)順便勾出那些你已經(jīng)能秒答的內(nèi)容直接跳過(guò)。第二輪再針對(duì)高頻和中頻內(nèi)容精讀尤其是程序閱讀和編程題的部分一定要?jiǎng)邮謱?xiě)不能只看答案。我還發(fā)現(xiàn)一個(gè)很普遍的現(xiàn)象大部分同學(xué)掛科不是知識(shí)點(diǎn)不會(huì)而是考試時(shí)讀題太快漏看了“下列哪個(gè)選項(xiàng)是錯(cuò)誤的”這種否定性設(shè)問(wèn)。所以做題時(shí)把題干里的“錯(cuò)誤”“不正確”“不是”這些詞圈出來(lái)能幫你避免很多無(wú)謂的丟分。Java期末復(fù)習(xí)沒(méi)有捷徑但有優(yōu)化的路徑。知識(shí)點(diǎn)就那么多題型也就那么幾種真正拉分的是你花了多少時(shí)間去動(dòng)手讀代碼、寫(xiě)代碼。把這份資料里的例題和易錯(cuò)點(diǎn)吃透再配合兩到三套模擬題的輸出練習(xí)期末拿一個(gè)對(duì)得起一學(xué)期努力的成績(jī)問(wèn)題不大。最后再分享一個(gè)我自己的小經(jīng)驗(yàn)考前那個(gè)晚上不要再去啃新知識(shí)點(diǎn)把這份資料里的易錯(cuò)點(diǎn)表格和對(duì)比清單過(guò)一遍然后早點(diǎn)休息。Java試卷基本都是紙質(zhì)的手寫(xiě)代碼題最需要的就是清醒的頭腦和穩(wěn)定的心態(tài)這兩樣可比多背一個(gè)概念重要得多。本文還有配套的精品資源點(diǎn)擊獲取