Java二級(jí)復(fù)習(xí)資料

1炫欺、在數(shù)據(jù)流圖中懊纳,用標(biāo)有名字的箭頭表示數(shù)據(jù)流揉抵,即眼箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名嗤疯。在程序流程圖中冤今,用標(biāo)有名字的箭頭表示控制流
2、結(jié)構(gòu)化程序設(shè)計(jì)的思想(基本原則)包括:自頂向下茂缚、逐步求精戏罢、模塊化屋谭、限制使用goto語(yǔ)句
3、軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的原則是高內(nèi)聚低耦合龟糕、模塊大小規(guī)模適當(dāng)桐磁、模塊的依賴(lài)關(guān)系適當(dāng)?shù)取?br> 模塊的劃分應(yīng)遵循一定的要求,以保證模塊劃分合理讲岁,并進(jìn)一步保證以此為依據(jù)開(kāi)發(fā)出的軟件系統(tǒng)可靠性強(qiáng)我擂,易于理解和維護(hù)。模塊之間的耦合應(yīng)盡可能的低缓艳,模塊的內(nèi)聚度應(yīng)盡可能的高校摩。
(耦合性是模塊間互相連接的緊密程度的度量,而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此杰結(jié)合的緊密程度)
4阶淘、在軟件開(kāi)發(fā)中:
需求分析階段產(chǎn)生的主要文檔是軟件需求規(guī)格說(shuō)明書(shū)
可行性分析階段產(chǎn)生的主要文檔是可行性分析報(bào)告
總體設(shè)計(jì)階段產(chǎn)生的主要文檔是概要設(shè)計(jì)說(shuō)明書(shū)
概要設(shè)計(jì)階段編寫(xiě)的主要文檔是集成測(cè)試計(jì)劃
5衙吩、算法的有窮性是指算法程序的運(yùn)行時(shí)間是有限的
算法的空間復(fù)雜度指算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間。
6舶治、對(duì)長(zhǎng)度為n的線(xiàn)性表排序分井,在最壞情況下,冒泡排序霉猛、快速排序和直接插入排序的比較次數(shù)都是n(n-1)/2尺锚,堆排序算法的計(jì)較次數(shù)是O(nlog2(n))
7、數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段:
需求分析階段:
概念設(shè)計(jì)階段:
邏輯設(shè)計(jì)階段:E-R圖轉(zhuǎn)化成關(guān)系數(shù)據(jù)模型(把圖行分析出來(lái)的聯(lián)系反映到數(shù)據(jù)庫(kù)中惜浅,即設(shè)計(jì)出表)(實(shí)體和聯(lián)系都可以表示成關(guān)系)
物理設(shè)計(jì)階段:
補(bǔ)充:在E-R圖中實(shí)體集用矩形表示瘫辩,屬性用橢圓表示,聯(lián)系用菱形表示
8坛悉、Java的三種注釋方法:

//注釋的內(nèi)容:?jiǎn)涡凶⑨?br> /....../:多行注釋
/*....../:這種方式和第二種方式相似伐厌。這種格式是為了便于javadoc程序自動(dòng)生成文檔。

9裸影、Java中:extends 繼承類(lèi)挣轨,implements 實(shí)現(xiàn)接口
extends是繼承父類(lèi),只要那個(gè)類(lèi)不是聲明為final或者那個(gè)類(lèi)定義為abstract的就能繼承轩猩,
Java中不支持多重繼承卷扮,但是可以用接口來(lái)實(shí)現(xiàn),這樣就要用到implements均践,
繼承只能繼承一個(gè)類(lèi)晤锹,但implements可以實(shí)現(xiàn)多個(gè)接口,用逗號(hào)分開(kāi)就行了 ,比如 class A extends B implements C,D,E
10彤委、在Java的異常處理中鞭铆,無(wú)論是否發(fā)生異常,其后的代碼塊都會(huì)被執(zhí)行的關(guān)鍵字是finally
11焦影、RandomAccessFile類(lèi)同時(shí)實(shí)現(xiàn)了DataInput和DataOutput接口
12车遂、 派生出大多數(shù)Swing組件的類(lèi)是Container
13封断、棧(先進(jìn)后出的線(xiàn)性表)按照先進(jìn)后出的原則組織數(shù)據(jù),所以入棧最早的最后出棧艰额。數(shù)據(jù)的插入和刪除都是在棧頂進(jìn)行操作
棧支持子程序調(diào)用澄港。棧是一種只能在一端進(jìn)行插入或刪除的線(xiàn)性表,在主程序調(diào)用子函數(shù)時(shí)要首先保存主程序當(dāng)前的狀態(tài)柄沮,然后轉(zhuǎn)去執(zhí)行子程序回梧,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行祖搓,這種調(diào)用符合棧的特點(diǎn)
14狱意、循環(huán)隊(duì)列是線(xiàn)性結(jié)構(gòu),有隊(duì)頭和隊(duì)尾兩個(gè)指針拯欧;
在循環(huán)隊(duì)列中需要隊(duì)頭指針和隊(duì)尾兩個(gè)指針來(lái)共同反映隊(duì)列中元素的動(dòng)態(tài)變化情況详囤,即由隊(duì)頭指針和隊(duì)尾指針共同決定
循環(huán)隊(duì)列是線(xiàn)性結(jié)構(gòu)的線(xiàn)性表
循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化镐作。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu)藏姐,所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針
隊(duì)列是先進(jìn)先出的線(xiàn)性表
補(bǔ)充:帶鏈隊(duì)列该贾、帶鏈棧是線(xiàn)性結(jié)構(gòu)羔杨。
樹(shù)是簡(jiǎn)單的非線(xiàn)性結(jié)構(gòu),所以二叉樹(shù)作為書(shū)的一種也是一種非線(xiàn)性結(jié)構(gòu)
15杨蛋、當(dāng)有序線(xiàn)性表為順序存儲(chǔ)時(shí)才能用二分法查找兜材。可以證明的是對(duì)于長(zhǎng)度為n的有序線(xiàn)性表逞力,在最壞情況下曙寡,二分法查找只需要比較log2(n)次,而順序查找需要比較n次
16寇荧、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)既可以針對(duì)線(xiàn)性結(jié)構(gòu)也可以針對(duì)非線(xiàn)性結(jié)構(gòu)
順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線(xiàn)性結(jié)構(gòu)
順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的举庶,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)不一定是連續(xù)的
鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每個(gè)結(jié)點(diǎn)都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲(chǔ)空間揩抡,因此順序存儲(chǔ)結(jié)構(gòu)比鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
17户侥、幾種圖介紹:
N-S圖:也被稱(chēng)為盒圖或NS圖(Nassi Shneiderman圖),是結(jié)構(gòu)化編程中的可視化建模捅膘。用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖
特點(diǎn):
1)形象直觀添祸,功能域明確滚粟,具有良好的可見(jiàn)度寻仗;
2)很容易確定局部和全局?jǐn)?shù)據(jù)的作用域;
3)不可能任意轉(zhuǎn)移控制凡壤;
4)很容易表示嵌套關(guān)系及模塊的層次關(guān)系署尤;
5)復(fù)雜度接近代碼本身耙替,修改需要重畫(huà)整個(gè)圖;
6)它強(qiáng)制設(shè)計(jì)人員按SP方法進(jìn)行思考并描述他的設(shè)計(jì)方案曹体,因?yàn)槌吮硎編追N標(biāo)準(zhǔn)結(jié)構(gòu)的符號(hào)之處俗扇,它不再提供其他描述手段,這就有效地保證了設(shè)計(jì)的質(zhì)量箕别,從而也保證了程序的質(zhì)量铜幽。

N-S結(jié)構(gòu)化流程圖.jpg

PAD圖(問(wèn)題分析圖):是繼承程序流程圖和方框圖的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具
PAD圖.jpg

E-R圖:也稱(chēng)實(shí)體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實(shí)體類(lèi)型串稀、屬性和聯(lián)系的方法除抛,用來(lái)描述現(xiàn)實(shí)世界的概念模型

成分:矩形框,菱形框母截,橢圓形框到忽,連線(xiàn)
矩形框:表示實(shí)體,在框中記入實(shí)體名清寇。
菱形框:表示聯(lián)系喘漏,在框中記入聯(lián)系名。
橢圓形框:表示實(shí)體或聯(lián)系的屬性华烟,將屬性名記入框中翩迈。對(duì)于主屬性名,則在其名稱(chēng)下劃一下劃線(xiàn)垦江。
連線(xiàn):實(shí)體與屬性之間帽馋;實(shí)體與聯(lián)系之間;聯(lián)系與屬性之間用直線(xiàn)相連比吭,并在直線(xiàn)上標(biāo)注聯(lián)系的類(lèi)型绽族。(對(duì)于一對(duì)一聯(lián)系,要在兩個(gè)實(shí)體連線(xiàn)方向各寫(xiě)1衩藤; 對(duì)于一對(duì)多聯(lián)系吧慢,要在一的一方寫(xiě)1,多的一方寫(xiě)N赏表;對(duì)于多對(duì)多關(guān)系检诗,則要在兩個(gè)實(shí)體連線(xiàn)方向各寫(xiě)N,M。)

18瓢剿、在需求分析階段可以使用的工具有數(shù)據(jù)流圖DFD圖逢慌,數(shù)據(jù)字典DD,判定樹(shù)與判定表
19、在面向?qū)ο蠓椒ㄖ屑淇瘢瑢?duì)象有如下一些基本特點(diǎn):表示唯一性攻泼、分類(lèi)性、多態(tài)性、封裝性忙菠、模塊獨(dú)立性好
20何鸡、在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段(人工管理階段->文件系統(tǒng)階段->數(shù)據(jù)庫(kù)系統(tǒng)階段)中,數(shù)據(jù)共享最好的是數(shù)據(jù)庫(kù)系統(tǒng)階段
數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的結(jié)構(gòu)牛欢,它是一種系統(tǒng)軟件峻村,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織畴蹭、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等馁启,是一種在操作系統(tǒng)支持下的系統(tǒng)軟件
21绕辖、與其他面向?qū)ο笳Z(yǔ)言相比秕磷,Java語(yǔ)言突出的特點(diǎn)是解釋型曲秉,與平臺(tái)無(wú)關(guān)
22、運(yùn)算符:

+:加
-:減
*:乘
/:除熊赖,取結(jié)果
%:取余
a++:先輸出a的原值来屠,后做+1運(yùn)算
++a:先做+1運(yùn)算,再輸出計(jì)算之后的值
a--:先輸出a的原值震鹉,后做-1運(yùn)算
--a:先做-1運(yùn)算俱笛,再輸出計(jì)算之后的值
&&:邏輯與(都對(duì)則對(duì),一個(gè)錯(cuò)兩個(gè)都錯(cuò):true&&true==true,true&&false==false,false&&false==false)
||:邏輯或(一個(gè)對(duì)兩個(gè)都對(duì):true||false==true,true||true==true,false||false==false)
4骸:邏輯非(!true==false)
&:位與(和&&一樣的判斷true和false迎膜,當(dāng)&兩邊不是判斷條件而是數(shù)字時(shí),結(jié)果為&右邊的那個(gè)數(shù)浆兰,例如:8&2==2磕仅,8&8==8)
|:位或(和&||一樣的判斷true和false,當(dāng)|兩邊不是判斷條件而是數(shù)字時(shí)簸呈,結(jié)果為|右邊的那個(gè)數(shù))
~:取反(應(yīng)用于數(shù)字的取反榕订,~a=-(a+1)。~123=-124)
^:位異或(應(yīng)用與true和false以及數(shù)字.當(dāng)a蜕便,b是兩個(gè)數(shù)時(shí)劫恒,如果a>b,a^b==a+b;如果a<=b,a^b==b-a),判斷ture和false的情況如下:
   true^true==false     true^false==true     false^true==true      false^false==false
<<:左移位(a<<b,將a轉(zhuǎn)化成二進(jìn)制數(shù)之后轿腺,二進(jìn)制數(shù)的小數(shù)點(diǎn)右移b個(gè)單位两嘴,再轉(zhuǎn)化成十進(jìn)制。即a<<b==a乘以2的b次方)
>>:右移位(a>>b,將a轉(zhuǎn)化成二進(jìn)制數(shù)之后族壳,二進(jìn)制數(shù)的小數(shù)點(diǎn)左移b個(gè)單位憔辫,再轉(zhuǎn)化成十進(jìn)制。即a>>b==a除以2的b次方)
>>>:無(wú)符號(hào)右移位(a>>>b,
    當(dāng)a>=0時(shí)仿荆,將a轉(zhuǎn)化成二進(jìn)制數(shù)之后贰您,二進(jìn)制數(shù)的小數(shù)點(diǎn)左移b個(gè)單位喧务,再轉(zhuǎn)化成十進(jìn)制。即a>>b==a除以2的b次方枉圃。
    當(dāng)a<0時(shí),將轉(zhuǎn)化成二進(jìn)制數(shù)之后庐冯,取反碼的補(bǔ)碼孽亲,補(bǔ)碼的小數(shù)點(diǎn)左移b個(gè)單位,再轉(zhuǎn)化成十進(jìn)制展父。)
+=:相加結(jié)果賦予左側(cè)(即a+=b等價(jià)于a=a+b)
-=:相減結(jié)果賦予左側(cè)(即a-=b等價(jià)于a=a-b)
*=:相乘結(jié)果賦予左側(cè)(即a*=b等價(jià)于a=a*b)
/=:相除結(jié)果賦予左側(cè)(即a/=b等價(jià)于a=a/b)
%=:取余結(jié)果賦予左側(cè)(即a%=b等價(jià)于a=a%b)
&=:與結(jié)果賦予左側(cè)(即a&=b等價(jià)于a=a&b)
|=:或結(jié)果賦予左側(cè)(即a|=b等價(jià)于a=a|b)
^=:異或結(jié)果賦予左側(cè)(即a^=b等價(jià)于a=a^b)
<<=:左移結(jié)果賦予左側(cè)(即a<<=b等價(jià)于a=a<<b)
>>=:右移結(jié)果賦予左側(cè)(即a>>=b等價(jià)于a=a>>b)
>>>=:無(wú)符號(hào)右移結(jié)果賦予左側(cè)(即a>>>=b等價(jià)于a=a>>>b)
三元運(yùn)算符:條件表達(dá)式 ? 值1:值2(如果條件式的值為true,則整個(gè)表達(dá)式取"值1"返劲,負(fù)責(zé)取"值2")
運(yùn)算符優(yōu)先等級(jí):
               1、括號(hào):()
               2栖茉、正篮绿、負(fù)號(hào):+、-
               3吕漂、 一元運(yùn)算符:++亲配、--、惶凝!
               4吼虎、 乘、除:*苍鲜、/思灰、%
               5、 加混滔、減:+洒疚、-
               6、 移位運(yùn)算:>>坯屿、<<油湖、>>>
               7、 比較大辛祯恕:<肺魁、>、<=隔节、>=
               8鹅经、比較是否相等:==、!=
               9怎诫、位與運(yùn)算:&
               10瘾晃、位異或運(yùn)算:^
               11、位或運(yùn)算:|
               12幻妓、邏輯非運(yùn)算:&&
               13蹦误、邏輯或運(yùn)算:||
               14劫拢、三元運(yùn)算符:? :
               15、賦值運(yùn)算符:=

23强胰、switch:
能用于switch判斷的類(lèi)型有:byte舱沧、short、int偶洋、char(JDK1.6)熟吏,還有枚舉類(lèi)型,但是在JDK1.7后添加了對(duì)String類(lèi)型的判斷
case語(yǔ)句中少寫(xiě)了break玄窝,編譯不會(huì)報(bào)錯(cuò)牵寺,但是會(huì)一直執(zhí)行之后所有case條件下的語(yǔ)句而不再判斷,直到default語(yǔ)句
case語(yǔ)句中的值必須是常量
若果沒(méi)有符合條件的case就執(zhí)行default下的代碼塊恩脂,default并不是必須的帽氓,也可以不寫(xiě)
以下代碼輸出為:A

public static void main(String[] args) {
       String a = "A";
       switch (a){
           case "B":
               System.out.print("B");
               break;
           case "A":
               System.out.print("A");
               break;
           case "C":
               System.out.print("C");
               break;
       }
    }

以下代碼輸出為:AC

public static void main(String[] args) {
       String a = "A";
       switch (a){
           case "B":
               System.out.print("B");          
           case "A":
               System.out.print("A");
           case "C":
               System.out.print("C");
               break;
       }
    }

24、Java語(yǔ)言的四大特性:抽象俩块、封裝黎休、多態(tài)和繼承
25、方法重載(method overloading):[摘錄來(lái)源](https://blog.csdn.net/xkfanhua/article/details/80561673
補(bǔ)充:重載屬于Java多態(tài)機(jī)制

在Java中玉凯,同一個(gè)類(lèi)中的多個(gè)方法可以有相同的方法名稱(chēng)奋渔,但是有不同的參數(shù)列表,這就稱(chēng)為方法重載壮啊。
參數(shù)列表又叫參數(shù)簽名嫉鲸,包括參數(shù)的類(lèi)型、參數(shù)的個(gè)數(shù)歹啼、參數(shù)的順序玄渗,只要有一個(gè)不同就叫做參數(shù)列表不同。
重載時(shí)面向?qū)ο蟮囊粋€(gè)基本特性狸眼。
以下為代碼例子:

public class Demo1 {
    //一個(gè)普通的方法藤树,不帶參數(shù),無(wú)返回值
    public void add(){
                //method body
    }
    //重載上面的方法拓萌,并且?guī)Я艘粋€(gè)整型參數(shù)岁钓,無(wú)返回值
    public void add(int a){
        //method body
    }
    //重載上面的方法,并且?guī)Я藘蓚€(gè)整型參數(shù)微王,返回值為int型
    public int add(int a,int b){
        //method body
        return 0;
    }
}

通過(guò)上面的例子屡限,不難看出,重載就是在一個(gè)類(lèi)中炕倘,有相同的函數(shù)名稱(chēng)钧大,但形參不同的函。重載的結(jié)果罩旋,可以讓一個(gè)程序段盡量減少代碼和方法的種類(lèi)啊央。
說(shuō)明:
1眶诈、參數(shù)列表不同包括:個(gè)數(shù)不同、順序不同瓜饥、類(lèi)型不同
2逝撬、僅僅參數(shù)變量名稱(chēng)不同是不可以的
3、跟成員方法一樣乓土,構(gòu)造方法也可以重載
4宪潮、聲明為final的方法不能被重載
5、聲明為static的方法不能被重載帐我,但是能夠被再次聲明
方法重載的規(guī)則:
1、方法名稱(chēng)必須相同
2愧膀、參數(shù)列表必須不同
3拦键、方法的返回類(lèi)型可以相同亦可以不相同
4、僅僅返回類(lèi)型不同不足以稱(chēng)為方法的重載zhuo
方法重載的實(shí)現(xiàn):方法名稱(chēng)相同時(shí)檩淋,編譯器會(huì)根據(jù)調(diào)用方法的參數(shù)個(gè)數(shù)芬为、參數(shù)類(lèi)型等去逐個(gè)匹配,已選擇對(duì)應(yīng)的方法蟀悦,如果匹配失敗媚朦,則編譯器報(bào)錯(cuò),這叫做重載分辨

26日戈、equals方法:用于判斷兩個(gè)字符串是否完全相等(結(jié)果為Boolean類(lèi)型)
contact方法:用于字符串(String)的連接
replace()方法:通過(guò)用 newChar 字符替換字符串中出現(xiàn)的所有 oldChar 字符询张,并返回替換后的新字符串。
public String replace(char oldChar,char newChar)
例如浙炼,以下代碼結(jié)果為:China$$Dream

public static void main(String[] args) {
        String s1="China";
        String s2=s1.concat("Dream");
        String s3=s2.replace("aD","a$$D");
        System.out.println(s3);
    }

27份氧、Java各種常見(jiàn)異常:https://blog.csdn.net/yangzhengjianglove/article/details/81233784
補(bǔ)充:
異常發(fā)生時(shí),輸出堆棧使用的跟蹤方法是printStackTrace()
try-catch語(yǔ)句中:catch中的對(duì)象類(lèi)型是try中可能拋出的異常類(lèi)或其父類(lèi)
28弯屈、HashMap:使用<關(guān)鍵字蜗帜,值>的形式保存數(shù)據(jù),允許將null用作關(guān)鍵字资厉,也允許將null用作值厅缺。但是不能夠保證其中元素的順序。
TreeMap:使用方法與HashMap使用方法相同宴偿,但是會(huì)對(duì)其中的元素自動(dòng)排序
29湘捎、字節(jié)流、字符流
必看文章:[https://www.cnblogs.com/progor/p/9357676.html]
(https://www.cnblogs.com/progor/p/9357676.html)
補(bǔ)充:OutputStream中的flush()方法的功能是:把緩沖的全部字節(jié)寫(xiě)入輸出流
PipedInputStream類(lèi)是實(shí)現(xiàn)線(xiàn)程之間通信的類(lèi)
InputStream類(lèi)中available()方法的功能是返回輸入流中可讀字節(jié)數(shù)
Reader是輸入流窄刘,Writer是輸出流
補(bǔ)充:
代碼實(shí)例1:運(yùn)行結(jié)果為:生成文件abc.txt消痛,且該文件內(nèi)容為test

public class test9 {
    public static void main(String[] args) {
        try {
            PrintWriter out = new PrintWriter(new FileOutputStream("d:\\abc.txt"));
            String content ="test";
            out.print(content);
            out.close();
        } catch (FileNotFoundException e) {
            System.out.println("File Not Found!");
        }
    }
}
注意點(diǎn):此題的陷阱在于catch中的錯(cuò)誤提示,本題的代碼作用是在d盤(pán)中生成新的文件abc.txt都哭,不需要判斷d盤(pán)中是否有該文件

30秩伞、JOptionPane:
基本結(jié)構(gòu)為:JOptionPane.showMessageDialog(null, “消息對(duì)話(huà)框”,”提示框名字”,JOptionPane.INFORMATION_MESSAGE);
四種消息提示框方法:
showConfirmDialog():確認(rèn)對(duì)話(huà)框
showInputDialog():輸入對(duì)話(huà)框
showMessageDialog():消息對(duì)話(huà)框
showOptionDialog():選擇對(duì)話(huà)框
主要有五種消息類(lèi)型逞带,類(lèi)型不同,圖標(biāo)不同:
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
轉(zhuǎn)載:https://blog.csdn.net/tjk123456/article/details/77868034
31纱新、Java線(xiàn)程構(gòu)成:代碼展氓、虛擬的CPU、代碼所操縱的數(shù)據(jù)
補(bǔ)充:線(xiàn)程是Java程序中的單個(gè)執(zhí)行流
為了使線(xiàn)程之間同步脸爱,通常使用的方法是wait()和notify()
代碼實(shí)例(線(xiàn)程啟動(dòng)方法):

public class ThreadTest extends Thread{
    public static void main(String[] args) {
        ThreadTest b = new ThreadTest();
        b.start();
    }
    public void run(){
        System.out.println("insist on");
    }
}
new Runnable() {
            @Override
            public void run() {
                
            }
};

32遇汞、對(duì)象鎖:
當(dāng)synchronized(){}語(yǔ)句塊執(zhí)行完畢后,對(duì)象鎖將自動(dòng)釋放簿废;
當(dāng)在當(dāng)synchronized(){}語(yǔ)句塊中出現(xiàn)異常時(shí)空入,對(duì)象鎖將自動(dòng)釋放;
線(xiàn)程A在當(dāng)synchronized(){}塊中調(diào)用x.wait()族檬,則A將釋放對(duì)象x的鎖
在對(duì)共享對(duì)象加鎖以實(shí)現(xiàn)并發(fā)控制時(shí)歪赢,使用的關(guān)鍵字時(shí)synchronized
33、Applet:可由瀏覽器自動(dòng)調(diào)用的方法是:init()方法单料,start()方法埋凯,paint()方法
可能被多次調(diào)用的是:start()和stop()
init()方法用來(lái)完成主類(lèi)實(shí)例的初始化工作,
start()方法用來(lái)啟動(dòng)瀏覽器運(yùn)行Applet的主線(xiàn)程
paint()方法的主要作用是在Applet的界面中顯示文字扫尖,圖形和其他界面表示元素
屬于Applet生命周期的方法是:start(),destroy()
參考文章:https://www.runoob.com/java/java-applet-basics.html
34白对、笛卡爾積:簡(jiǎn)單的來(lái)說(shuō)就是兩個(gè)集合相乘的結(jié)果,比如集合A{a1,a2,a3} 集合B{b1,b2}
他們的笛卡爾積是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)}换怖,即任意兩個(gè)元素結(jié)合在一起
自然連接:自然連接是一種特殊的等值連接甩恼,他要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉
自然連接算法易懂講解:https://zhidao.baidu.com/question/498844735021942444.html
自然連接算法詳細(xì)講解:https://wenku.baidu.com/view/b4e78276910ef12d2af9e7eb.html
投影運(yùn)算:對(duì)于關(guān)系內(nèi)的域指定可引入新的運(yùn)算(在原有關(guān)系的內(nèi)部進(jìn)行沉颂,即關(guān)系R—>關(guān)系S)
35媳拴、實(shí)例方法(對(duì)象方法)與類(lèi)方法:
二者的區(qū)別:

實(shí)例方法的方法類(lèi)型前沒(méi)有static,類(lèi)方法的方法類(lèi)型前有static
類(lèi)方法可以通過(guò)類(lèi)名調(diào)用兆览,調(diào)用格式為類(lèi)名+方法名屈溉,而實(shí)例方法不能通過(guò)類(lèi)名調(diào)用,只能通過(guò)類(lèi)創(chuàng)建對(duì)象抬探,然后通過(guò)對(duì)象調(diào)用子巾,即實(shí)例方法只能通過(guò)對(duì)象來(lái)調(diào)用
類(lèi)方法不能操作實(shí)例變量。因?yàn)樵陬?lèi)創(chuàng)建對(duì)象前實(shí)例成員變量還沒(méi)有分配內(nèi)存小压,與此同時(shí)线梗,類(lèi)的實(shí)例方法也不會(huì)分配入口地址。因此怠益,只有該類(lèi)創(chuàng)建對(duì)象后仪搔,類(lèi)的實(shí)例方法才會(huì)分配入口地址
類(lèi)方法是屬于整個(gè)類(lèi)的,而實(shí)例方法是屬于類(lèi)的某個(gè)對(duì)象的
在類(lèi)方法中調(diào)用本類(lèi)的類(lèi)方法可直接調(diào)用

類(lèi)方法的限制:類(lèi)方法中不能引用對(duì)象變量蜻牢;類(lèi)方法中不能調(diào)用類(lèi)的對(duì)象方法烤咧;在類(lèi)方法中不能使用super偏陪、this關(guān)鍵字;類(lèi)方法不能被覆蓋
實(shí)例方法(對(duì)象方法):對(duì)象方法中可以引用對(duì)象變量煮嫌,也可以引用類(lèi)變量笛谦;對(duì)象方法中可以調(diào)用類(lèi)方法;對(duì)象方法中可以使用super昌阿、this關(guān)鍵字
36饥脑、軟件測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程(并不涉及改正錯(cuò)誤)
程序調(diào)試的基本步驟:錯(cuò)誤定位、修改設(shè)計(jì)和代碼懦冰,已排除錯(cuò)誤灶轰、進(jìn)行回歸測(cè)試、防止引進(jìn)新的錯(cuò)誤刷钢。
程序調(diào)試通常稱(chēng)為Debug笋颤,即排錯(cuò)。
軟件測(cè)試的基本準(zhǔn)測(cè):所有測(cè)試都應(yīng)追溯到需求闯捎、嚴(yán)格執(zhí)行測(cè)試計(jì)劃椰弊,排除測(cè)試的隨意性许溅、充分注意測(cè)試中的群集現(xiàn)象瓤鼻、程序員應(yīng)避免測(cè)試自己的程序、窮舉測(cè)試不可能贤重、妥善保存測(cè)試計(jì)劃等文件
37茬祷、Java基本數(shù)據(jù)類(lèi)型(String不屬于):boolean,char,float,byte,short,int,long,double
38、Java命名規(guī)范

1并蝗、項(xiàng)目名全部小寫(xiě)
2祭犯、包名全部小寫(xiě)
3、類(lèi)名首字母大寫(xiě)滚停,如果類(lèi)名由多個(gè)單詞組成沃粗,每個(gè)單詞的首字母都要大寫(xiě)
4、變量名键畴、方法名首字母小寫(xiě)最盅,如果名稱(chēng)由多個(gè)單詞組成,第一個(gè)單詞后的每個(gè)單詞的首字母都要大寫(xiě)
5起惕、常量名必須大寫(xiě)
6涡贱、所有命名規(guī)則必須遵循以下規(guī)則:
1)、名稱(chēng)只能由字母惹想、數(shù)字问词、下劃線(xiàn)、$符號(hào)組成
2)嘀粱、不能以數(shù)字開(kāi)頭
3)激挪、名稱(chēng)不能使用JAVA中的關(guān)鍵字辰狡。
4)、堅(jiān)決不允許出現(xiàn)中文及拼音命名灌灾。

39搓译、跳轉(zhuǎn)語(yǔ)句:
break:跳出全部循環(huán),在switch選擇結(jié)構(gòu)中也可以使用
continue:跳出本次循環(huán)锋喜,選擇結(jié)構(gòu)不認(rèn)同
goto:

static void Main(string[] args)
                {
                     goto Mark;
                     Console.WriteLine("第一行");
                     Mark:
                     Console.WriteLine("第二行");
                } 

return:如果方法有返回值類(lèi)型return就返回值些己,在void中也可以使用return,這樣的話(huà),return后面的語(yǔ)句就不會(huì)執(zhí)行
throw:拋出異常嘿般,后面語(yǔ)句也不會(huì)執(zhí)行段标,跳轉(zhuǎn)到捕捉異常的地方(有try-catch的地方)
40、二叉樹(shù)的基本性質(zhì)3:在任意一顆二叉樹(shù)中炉奴,度為0的葉子節(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)
41逼庞、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是數(shù)據(jù)庫(kù)的設(shè)計(jì)
42、Vector類(lèi)中瞻赶,在集合的最后增加一個(gè)元素的方法是addElement()
43赛糟、將內(nèi)存緩沖區(qū)內(nèi)容轉(zhuǎn)換成字符串的方法是toString(String charsetName)
44、將一個(gè)文件的內(nèi)容寫(xiě)到另一個(gè)文件

public class test5 {
    public static String file ="d:\\book1.java";

    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new FileReader("d:\\book1.txt"));
        PrintWriter out = new PrintWriter(file);
        String s =null;
        while ((s=in.readLine())!=null){
            out.write(s);
        }
        out.close();
        in.close();
    }
}

45砸逊、javax.swing.text包提供的功能是支持文檔的顯示和編輯
46璧南、鍵盤(pán)事件處理方法:keyPressed(keyEvent);keyRelased(keyEvent);keyTyped(keyEvent)
注意:keyDown(keyEvent)不屬于鍵盤(pán)監(jiān)聽(tīng)事件
47、param標(biāo)簽
語(yǔ)法格式:<param name="參數(shù)名稱(chēng)"/>或<param name ="名稱(chēng)">
標(biāo)簽屬性:name(定義參數(shù)的名稱(chēng)(用在腳本中),必須參數(shù))师逸,type(定義MIME類(lèi)型參數(shù)司倚,html5不支持),value(描述參數(shù)值),valuetype(規(guī)定值的MIME類(lèi)型篓像,值:ata动知、ref、object(html5不支持))
代碼實(shí)例:將參數(shù) "autoplay" 設(shè)置為"true"员辩,音頻會(huì)自動(dòng)播放

<object data="1.mp4">
<param name="autoplay" value="true">
</object>

48盒粮、web中通常使用的傳值方法:

1、request,response
request.getAttribute(參數(shù)名);
request.setAttribute(參數(shù)名,值)
2奠滑、session:同一用戶(hù)同一界面
HttpSession hs = request.getSession(true);
hs.setAttribute(參數(shù)名丹皱,值);
hs.getAttribute(參數(shù)名)
3、ServletContext:同一用戶(hù)不同界面
ServletContext sc = this.getServletContext();
sc.setAttribute(參數(shù)名,值);
sc.getAttribute(參數(shù)名);

49养叛、幾種類(lèi)及其修飾符的描述:
abstract類(lèi)只能用來(lái)派生子類(lèi)种呐,不能用來(lái)創(chuàng)建abstract類(lèi)的對(duì)象
abstract不能與final同時(shí)修飾一個(gè)類(lèi)
abstract方法必須在抽象類(lèi)中聲明,但abstract類(lèi)定義中可以沒(méi)有抽象方法
50弃甥、Java 中基本數(shù)據(jù)類(lèi)型不算對(duì)象爽室,但是每個(gè)基本數(shù)據(jù)類(lèi)型都有對(duì)應(yīng)的包裝類(lèi),比如int的包裝類(lèi)就是Integer,同樣的float->Float,short ->Short ,long-> Long,double-> Double,byte-> Byte,char-> Character,boolean->Boolean
例如:a和b都是整數(shù)類(lèi)型變量并且他們的值相等

a=Integer.parseInt("1024");
b=Integer.valueOf("1024").intValue;`

補(bǔ)充:基本數(shù)據(jù)類(lèi)型的字節(jié)及位數(shù):
byte:1阔墩,8
short:2嘿架,16
int:4,32
long: 8啸箫,64
float: 4耸彪,32
double:8,64
char:2忘苛,16
boolean:1蝉娜,8
51:String,StringBuffer,StringBuilder的用法及其區(qū)別
參考文章:https://blog.csdn.net/qq_37856300/article/details/84340288
補(bǔ)充:
代碼實(shí)例1:輸出結(jié)果為Hellothere

public class test8 {
    public static void main(String[] args) {
        StringBuffer s = new StringBuffer("Hello");
        if ((s.length()>=5)&&(s.append("there").equals("False"))){
            s.replace(0,6,"False");
        }
        System.out.println(s);
    }
}
注意:append()方法已經(jīng)被調(diào)用

代碼實(shí)例2:輸出結(jié)果為HFalseHHH

public class test8 {
    public static void main(String[] args) {
        StringBuffer s = new StringBuffer("HelloHHHH");
        s.replace(1,6,"False");
        System.out.println(s);
    }
}
注意點(diǎn):
replace()方法
1、代碼結(jié)構(gòu):replace(start,end,String);
2扎唾、注意點(diǎn):start為索引位置召川,例如replace(0,5,"a"),其是將索引位置為0到4,即[0,5)的元素置換為a

代碼實(shí)例3:輸出結(jié)果為s1.equals(s2)

public class test8 {
    public static void main(String[] args) {
        String s1 ="abc"+"def";
        String s2 = new String(s1);
        if (s1==s2){
            System.out.println("s1==s2");
        }
        if (s1.equals(s2)){
            System.out.println("s1.equals(s2)");
        }
    }
}

代碼實(shí)例4:輸出結(jié)果為aceg

public class test8 {
    public static void main(String[] args) {
        String s = "abcdefg";
        for (int i=0;i<s.length();i+=2){
            System.out.print(s.charAt(i));
        }
    }
}

52:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胸遇,一起剝皮案震驚了整個(gè)濱河市荧呐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纸镊,老刑警劉巖倍阐,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逗威,居然都是意外死亡峰搪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)庵楷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罢艾,“玉大人楣颠,你說(shuō)我怎么就攤上這事尽纽。” “怎么了童漩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵弄贿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我矫膨,道長(zhǎng)差凹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任侧馅,我火速辦了婚禮危尿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馁痴。我一直安慰自己谊娇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布罗晕。 她就那樣靜靜地躺著济欢,像睡著了一般赠堵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上法褥,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天茫叭,我揣著相機(jī)與錄音,去河邊找鬼半等。 笑死揍愁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的杀饵。 我是一名探鬼主播吗垮,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凹髓!你這毒婦竟也來(lái)了烁登?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔚舀,失蹤者是張志新(化名)和其女友劉穎饵沧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體赌躺,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狼牺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了礼患。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是钥。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缅叠,靈堂內(nèi)的尸體忽然破棺而出悄泥,到底是詐尸還是另有隱情,我是刑警寧澤肤粱,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布弹囚,位于F島的核電站,受9級(jí)特大地震影響领曼,放射性物質(zhì)發(fā)生泄漏鸥鹉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一庶骄、第九天 我趴在偏房一處隱蔽的房頂上張望毁渗。 院中可真熱鬧,春花似錦单刁、人聲如沸灸异。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绎狭。三九已至细溅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間儡嘶,已是汗流浹背喇聊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蹦狂,地道東北人誓篱。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像凯楔,于是被迫代替她去往敵國(guó)和親窜骄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Java是一個(gè)支持并發(fā)摆屯、基于類(lèi)和面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言邻遏。下面列出了面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)點(diǎn): 代碼開(kāi)發(fā)模塊化,更易...
    安安靜靜寫(xiě)代碼閱讀 1,098評(píng)論 0 8
  • 面向?qū)ο缶幊蹋∣OP) Java是一個(gè)支持并發(fā)虐骑、基于類(lèi)和面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言准验。下面列出了面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)點(diǎn)...
    大家請(qǐng)叫我小杰閱讀 1,133評(píng)論 0 0
  • 面向?qū)ο缶幊蹋∣OP) Java是一個(gè)支持并發(fā)、基于類(lèi)和面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言廷没。下面列出了面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)點(diǎn)...
    hutuxiaogui閱讀 942評(píng)論 0 2
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用糊饱。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,596評(píng)論 1 114
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評(píng)論 0 3