![Java基礎(chǔ)入門第三版課后習(xí)題答案_第1頁(yè)](http://file4.renrendoc.com/view10/M00/35/09/wKhkGWXtBF2AAQggAADgJA0YYUc601.jpg)
![Java基礎(chǔ)入門第三版課后習(xí)題答案_第2頁(yè)](http://file4.renrendoc.com/view10/M00/35/09/wKhkGWXtBF2AAQggAADgJA0YYUc6012.jpg)
![Java基礎(chǔ)入門第三版課后習(xí)題答案_第3頁(yè)](http://file4.renrendoc.com/view10/M00/35/09/wKhkGWXtBF2AAQggAADgJA0YYUc6013.jpg)
![Java基礎(chǔ)入門第三版課后習(xí)題答案_第4頁(yè)](http://file4.renrendoc.com/view10/M00/35/09/wKhkGWXtBF2AAQggAADgJA0YYUc6014.jpg)
![Java基礎(chǔ)入門第三版課后習(xí)題答案_第5頁(yè)](http://file4.renrendoc.com/view10/M00/35/09/wKhkGWXtBF2AAQggAADgJA0YYUc6015.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章JaVa開發(fā)入門
1.對(duì)象
2.面向?qū)ο?、跨平臺(tái)性
3.javac
4.Java虛擬機(jī)(或JVM)
5.JRE
—*、
1.錯(cuò)
2.錯(cuò)
3.錯(cuò)
4.對(duì)
5.對(duì)
三、
1.C
2.ABCD
3.D
4.ABCD
5.D
四、
1.簡(jiǎn)答性、面向?qū)ο?、安全性、跨平臺(tái)性、支持多線程、分布性。
2.Java程序運(yùn)行時(shí),必須經(jīng)過編譯和運(yùn)行兩個(gè)步驟。首先將后綴名為JaVa的源文件進(jìn)行編
譯,生成后綴名為.class的字節(jié)碼文件,然后JaVa虛擬機(jī)將字節(jié)碼文件進(jìn)行解釋執(zhí)行,并將
結(jié)果顯示出來。
五、
HelloWorldjava
1publicclassHelloWorld{
2publicstaticvoidmain(String[]args){
3SyStem.out.println("這是第一個(gè)JaVa程序!”);
4)
5}
第2章JaVa編程基礎(chǔ)
1.class
2.單行注釋、多行注釋、文檔注釋
3?4
4.==
5.容器、O
1.對(duì)
2.錯(cuò)
3.對(duì)
4.錯(cuò)
5.對(duì)
*.、
1.AC
2.A
3.BD
4.C
5.C
四、
IjaVa語言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個(gè)字節(jié)。Short短整型,占兩個(gè)字節(jié)。
int整型,占4個(gè)字節(jié)。IOng長(zhǎng)整型,占8個(gè)字節(jié)。float單精度浮點(diǎn)型,占4個(gè)字節(jié)。double
雙精度浮點(diǎn)型,占8個(gè)字節(jié)。Char字符型,占兩個(gè)字節(jié)。boolean型,表示邏輯值,有true
和false兩個(gè)值,分別占一個(gè)字節(jié)。
2.在switch條件語句和循環(huán)語句中都可以使用break語句。當(dāng)它出現(xiàn)在switch條件語句中
時(shí),作用是終止某個(gè)CaSe并跳出SWitCh結(jié)構(gòu)。當(dāng)它出現(xiàn)在循環(huán)語句中,作用是跳出循環(huán)語
句,執(zhí)行循環(huán)后面的代碼;ContinUe語句用在循環(huán)語句中,它的作用是終止本次循環(huán),執(zhí)行
下一次循環(huán)。
五、
1.
1publicclassgetSum{
2publicstaticvoidmain(String[]args){
3intsum=0;
4for(inti=1;i<100;i++){
5if(i%2!=0)
6sum+=i;
7}
8System.out.printIn(sum);
9}
10)
2.
1publicclassTest{
2publicstaticvoidmain(String[]args){
3inti=1;
4longsum=1;
5do(
6sum*=i;
7i++;
8)while(i<=5);
9System.out.printIn(sum);
10}
H)
第3章面向?qū)ο?上)
1.封裝、繼承、多態(tài)
2.private?default?protected?public
3.static
4.private
5.參數(shù)類型參數(shù)個(gè)數(shù)
6.this
—-、
1.對(duì)
2.對(duì)
3.錯(cuò)
4.對(duì)
5.對(duì)
、
1.C
2.B
3.D
4.B
5.C
四、
1.
面向?qū)ο蟮奶攸c(diǎn)主要可以概括為封裝性、繼承性和多態(tài)性。
其中封裝是面向?qū)ο蠛诵乃枷?將對(duì)象的屬性和行為封裝起來”J不需要讓外界知道具
體實(shí)現(xiàn)細(xì)節(jié)7這就是封裝思想。
繼承性主要描述的是類與類之間的關(guān)系”,“通過繼承7可以在無需重新編寫原有類的情
況下T對(duì)原有類的功能進(jìn)行擴(kuò)展。
多態(tài)性指的是在程序中允許出現(xiàn)重名現(xiàn)象,“它指在一個(gè)類中定義的屬性和方法被其它類繼
承后/它們可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為",“這使得同一個(gè)屬性和方法在不
同的類中具有不同的語義。
2.
(1)構(gòu)造方法名與類名相同
(2)在構(gòu)造方法名的前面沒有返回值類型的聲明
⑶在構(gòu)造方法中不能使用return語句返回一個(gè)值
五、
Examplejava
classResume{
privateStringname;
privateStringsex;
privateintage;
publicResume(){
)
publicResume(Stringname,Stringsex,intage){
this.namename;
this.sex=sex;
this.age=age;
)
publicStringgetName(){
returnname;
)
publicStringgetSe×(){
returnsex;
)
publicintgetAge(){
returnage;
}
publicvoidintroduce(){
System.out.printIn(n姓名:,,+this.getName()+n?n性別
"+this.getSex()+,,?n年齡:"+this.getAge());
)
}
publicclassExample{
publicstaticvoidmain(String[]args){
Resumere=newReSUme(“李四","男”,20);
re.introduce();
第4章面向?qū)ο螅ㄏ拢?/p>
1.繼承
2.重寫
3.final
4.implements
5.抽象類
6.super
、
1.錯(cuò)
2.對(duì)
3.對(duì)
4.對(duì)
5.對(duì)
6.錯(cuò)
7.對(duì)
1.B
2.D
3?C
4.D
5.C
四、
1.概念:在JaVa中,”類的繼承是指在一個(gè)現(xiàn)有類的基礎(chǔ)上去構(gòu)建一個(gè)新的類,“構(gòu)建出來的
新類被稱作子類T現(xiàn)有類被稱作父類/子類會(huì)自動(dòng)擁有父類所有可繼承的屬性和方法。
好處:繼承性主要描述的是類與類之間的關(guān)系,“通過繼承/可以無需重新編寫原有類的情
況下T對(duì)原有類的功能進(jìn)行使用和擴(kuò)展。
2.
工、應(yīng)用程序不必為每一個(gè)子類編寫功能調(diào)用T只需要對(duì)抽象父類進(jìn)行處理即可。大大提高
程序的可復(fù)用性。
2、子類的功能可以被父類的方法或引用變量所調(diào)用T這叫向后兼容可以提高可擴(kuò)充性和
可維護(hù)性。
3、使用多態(tài)可以解決項(xiàng)目中緊偶合的問題/提高程序的課擴(kuò)展性.是OCP原則的一個(gè)具體
的實(shí)現(xiàn)。
五、
Employeejava
abstractclassEmployee{
privateStringname;//定義姓名name并私有化屬性
privateintmonth;//定義生日月份month并私有化屬性
publicEmployee(){}〃無參構(gòu)造器
publicEmployee(Stringname,intmonth){//有參構(gòu)造方法
this.name=name;〃給屬性name初始化賦值
this.month=month;//給屬性month初始化賦值
)
//獲取屬性name的方法
publicStringgetName(){
returnname;//返回name屬性
}
〃獲取屬性month的方法
publicintgetMonth(){
returnmonth;//返回month屬性
)
//給屬性name賦初始值
publicvoidSetName(Stringname){
this.name=name;//本類中的屬性name
)
〃給屬性month賦初始值
publicvoidSetMonth(intmonth){
this.month=month;//本類中的屬性month
)
//創(chuàng)建一個(gè)方法getSalary()用來計(jì)算工資,參數(shù)Inonth是月份,如果當(dāng)月是員工生日,獎(jiǎng)
勵(lì)I(lǐng)Oo元
publicdoublegetSalary(intmonth){
doublesalary=0;〃定義工資變量
〃判斷當(dāng)前月份是否是員工的生日月份,如果是獎(jiǎng)勵(lì)I(lǐng)Oo元
if(this.month==month){
salary=salary+100;
returnsalary;//返回工資salary
)
}
}
SalariedEmployeejava
classSalariedEmployeeextendsEmployee{
privatedoublemonthsalary;//封裝monthsalary屬性
publicSalariedEmployee(){}//無參構(gòu)造方法
//有參構(gòu)造方法參數(shù)姓名生日月份月薪
publicSalariedEmployee(Stringname,intmonth,doublemonthsalary){
super(name,month);〃調(diào)用父類有參構(gòu)造方法
this.monthSalary=monthsalary;〃為屬性monthSaIary初始化賦值
)
//獲取monthsalary的值
publicdoublegetMonthSalary(){
returnmonthsalary;
}
〃給monthsalary賦值
publicvoidSetMonthSalary(doublemonthsalary){
this.monthSalary=monthsalary;
)
//覆蓋父類中的方法
publicdoublegetSalary(intmonth){
doublesalary=monthSalary+super.getSalary(month);//定義工資變量
returnsalary;
)
}
HourlyEmployeejava
classHourlyEmployeeextendsEmployee{
privatedoublehoυrlySalary;〃定義屬性hourlySalary每小時(shí)的工資
privateinthours;//定義屬性hours每月工作的小時(shí)數(shù)
publicHourlyEmployee(){}//無參構(gòu)造方法
//有參構(gòu)造方法參數(shù)姓名生日月份每小時(shí)的工資每月工作的小時(shí)數(shù)
publicHourlyEmployee(Stringname,intmonth,doubleHourlySalaryzint
hours){
super(name,month);〃調(diào)用父類有參構(gòu)造方法
this.hourlySalary=hourlySalary;〃為屬性hourIySaIary初始化賦值
this.hours=hours;〃為屬性hours初始化賦值
}
publicdoublegetHourlySalary(){//獲取h。UrlySalary的值
returnhourIySalary;
}
publicintgetHours(){〃獲取h。UrS的值
returnhours;
)
//定義Set方法設(shè)置hourlySalaryhours的值
publicvoidSetHourlySalary(doublehourlySalary){
this.hourlySalary=hourlySalary;
)
publicvoidSetHourly(inthours){
this.hours=hours;
)
//覆蓋父類方法
publicdoublegetSalary(intmonth){
if(hours<O){//如果工作小時(shí)數(shù)小于O輸出數(shù)據(jù)錯(cuò)誤
System,out.printIn("數(shù)據(jù)錯(cuò)誤");
returnO;
)
//小于160個(gè)小時(shí)的按照每個(gè)月的工作小時(shí)數(shù)乘以每小時(shí)的工資
elseif(hours<=160)
returnhourIySalary*hours+super.getSalary(month);
//超出160個(gè)小時(shí)的小時(shí)數(shù)按照1?5倍計(jì)算
elsereturnhourlySalary*l60÷hourlySalary*l.5*(hours-
160)+super.getSalary(month);
)
)
SalesEmployeejava
classSalesEmployeeextendsEmployee{
privatedoublesales;〃定義銷售額SaIeS
privatedoublerate;//定義提成率rate
publicSalesEmployee(){}
publicSalesEmployee(Stringname,intmonth,doublesales,doublerate){
super(name,month);
this.sales=sales;
this.rate=rate;
}
publicdoublegetSales(){
returnsales;
)
publicdoublegetRate(){
returnrate;
publicvoidsetSales(doublesales){
this.sales=sales;
)
publicvoidsetRate(doublerate){
this.rate=rate;
}
publicdoublegetSalary(intmonth){
returnthis.getSales()*(l+this.getRate())+super.getSalary(month);
}
}
BasePlusSalesEmployee.java
classBasepiusSalesEmployeeextendsSalesEmployee{
privatedoublebaseSalary;//定義基礎(chǔ)工資baseSalary
//無參構(gòu)造方法
publicBasepiusSalesEmployee(){}
//有參構(gòu)造方法
publicBasepiusSalesEmployee(Stringname,intmonth,doublesales,double
rate,doublebaseSalary){
super(name,month,sales,rate);
this.baseSalary=baseSalary;
}
//get/set方法對(duì)私有屬性的調(diào)用和設(shè)迎
publicdoublegatBaseSalary(){
returnbaseSalary;
}
publicvoidSetBaseSalaryO{
this.baseSalary=baseSalary;
)
publicdoublegetSalary(intmonth){
returnbaseSalary+super.getSalary(month);
}
)
Testjava
〃定義一個(gè)測(cè)試類
publicclassTest{
publicstaticvoidmain(String[]args){
//聲明一個(gè)Employee類型的數(shù)組,并創(chuàng)建不同子類型的對(duì)象
Employee[]employee={newSalariedEmployee(“張三”,Iz6000),new
HourlyEmployee(“李四”,2,50,180),newSalesEmployee(“王
五”,3z6500z0.15)znewBaSePIUSSaleSEmPIoyee("趙六”,4,5000,0,15,2000)};
//打印每個(gè)員工的工資
for(inti=0;i<employee.length;i++)
System.out.printIn(Math.round(employee[i].getSalary(10)));
)
第5章異常
1.RuntimeException
2.運(yùn)行時(shí)異常編譯時(shí)異常
3.throw
4.throws
5.Exception
—*、
1.錯(cuò)
2.對(duì)
3.對(duì)
4.對(duì)
5.錯(cuò)
三、
1.C
2.A
3.C
4.C
5.A
四、
1.
try>catchyfinally、throw、throws?
2.
程序通過try語句捕獲可能出現(xiàn)的異常,如果try語句沒有捕獲到異常,則直接跳出
try???catch語句塊執(zhí)行其他程序;如果在try語句中捕獲到了異常,則程序會(huì)自動(dòng)跳轉(zhuǎn)到
catch語句中找到匹配的異常類型進(jìn)行相應(yīng)的處理。如果try語句捕獲到的異常與catch語
句例的異常匹配,則先執(zhí)行Cateh中的語句,最后執(zhí)行其他程序語句。
處理編譯時(shí)期的異常有兩種方式如下:
(I)使用tιy??-catch語句對(duì)異常進(jìn)行捕獲處理。
(2)使用throws關(guān)鍵字聲明拋出異常,調(diào)用者對(duì)異常進(jìn)行處理。
第6章JavaAPI
1.StringStringBufferStringBuiIder
2.Iength()
3.DateFormat
4.Random
5.edcba
—、
1.錯(cuò)
2.錯(cuò)
3.對(duì)
4.對(duì)
5.錯(cuò)
^-、
1.B
2.C
3.A
4.B
5.A
四、
1.
String類表示的字符串是常量,一旦創(chuàng)建后,內(nèi)容和長(zhǎng)度都是無法改變的。而
StringBuilder和StringBUffer表示字符容器,其內(nèi)容和長(zhǎng)度可以隨時(shí)修改。在操作字符串時(shí),
如果該字符串僅用于表示數(shù)據(jù)類型,則使用String類即可,但是如果需要對(duì)字符串中的字符
進(jìn)行增刪操作,則使用StringBUffer與StringBUikier類。如果有大量字符串拼接操作,不要
求線程安全的情況下,采用StringBuilder更高效。相反如果需要線程安全則需要使用
StringBuffero
2.
_____________基本數(shù)據(jù)類型_______________對(duì)應(yīng)的包裝類_______________
byteByte
charCharacter
intInteger
shortShort
_________________long____________________________________Long___________________
floatFloat
doubleDouble
booleanBoolean
五、
1.
Examplejava
1importjava.util.Random;
2publicclassExample{
3publicstaticvoidmain(String[]args){
4for(inti=0;i<10;i++){
5System.out.printIn(newRandom().nextlnt(100));
6)
7)
8}
2.
TesLjava
1importjava.text.DateFormat;
2importjava.util.Calendar;
3importjava.util.Date;
4publicclassTest{
5publicstaticvoidmain(String[]args){
6Calendarcalendar=Calendar.getlnstance();
7calendar.add(Calendar.DATE,100);
8Datedate=calendar.getTime();
9DateFormatformat=DateFormat.getDatelnstance(DateFormat.FULL);
10Stringstring=format.format(date);
11System.out.printIn(string);
12
13
第7章集合類
1.Collection
2.hashNext()next()
3.Comparable
4.Key(鍵)、Value(值)
5.數(shù)組
—、
1.錯(cuò)
2.對(duì)
3.對(duì)
4.對(duì)
5.對(duì)
三、
1.D
2.D
3.C
4.A
5.C
四、
1.
LiSt的特點(diǎn)是元素有序、可重復(fù)。LiSt接口的主要實(shí)現(xiàn)類有ArrayLiSt和LinkedLiStO
Set的特點(diǎn)是元素?zé)o序、不可重復(fù)。Set接口的主要實(shí)現(xiàn)類有HaShSet和TreeSet。M叩的特
點(diǎn)是存儲(chǔ)的元素是鍵(Key)、值(VaIUe)映射關(guān)系,元素都是成對(duì)出現(xiàn)的。MaP接口的主要實(shí)
現(xiàn)類有HashMap和TreeMapo
2.
由于ArrayLiSt集合的底層是使用一個(gè)數(shù)組來保存元素,在增加或刪除指定位置的元素時(shí),會(huì)
導(dǎo)致創(chuàng)建新的數(shù)組,效率比較低,因此不適合做大量的增刪操作。但這種數(shù)組的結(jié)構(gòu)允許程
序通過索引的方式來訪問元素,因此使用ArQyLiSt集合查找元素很便捷。
五、
1.
Examplejava
1publicclassExample{
2publicstaticvoidmain(String[]args){
3ArrayListlist=newArrayListo();
4list.add(,'an);
5list.add("bπ);
6list.add(,,cn);
7list.add(,,aπ);
8for(Iteratorit=list.iterator();it.hasNext();){
9System.out.ρrintln(it.next());
10)
11}
12}
2.
Testjava
1importjava.util.*;
2classStudent{
3privateintage;
4privateStringname;
5publicStudent(intagezStringname){
6this.age=age;
7this.name=name;
8)
9publicStringtoString(){
10returnage+":,,+name;
11}
12publicinthashCode(){
13returnname.hashCode()+age;
14)
15publicbooleanequals(Objectobj){
16if(this==obj)
17returntrue;
18if(!(objinstanceofStudent))
19returnfalse;
20Studentstu=(Student)obj;
21returnthis.name.equals(stu.name)&&this.age==stu.age;
22)
23)
24publicclassTest{
25publicstaticvoidmain(String[]args){
26HashSet<Student>hs=newHashSet<Student>();
27hs.add(newStudent(18,“zhangsan”));
28hs.add(newStudent(20,"lisa"));
29hs.add(newStudent(20,,,lisa"));
30System.out.printIn(hs);
31)
32)
第8章泛型
1.參數(shù)化
2.泛型類泛型接口泛型方法
3.泛型方法
4.實(shí)現(xiàn)
—、
1.錯(cuò)
2.對(duì)
3.對(duì)
4.對(duì)
5.對(duì)
^-、
1.D
2.A
3.A
4.AC
四、
1.
(1)提高類型的安全性。
泛型的主要目標(biāo)是提高JaVa程序的類型安全性,即可以通過泛型定義對(duì)變量類型進(jìn)行
限制,在對(duì)變量類型限制之后編譯器可以更好的進(jìn)行類型驗(yàn)證。
(2)避免強(qiáng)制類型轉(zhuǎn)換。
使用泛型的另一個(gè)好處是避免源代碼中的許多強(qiáng)制類型轉(zhuǎn)換。這使得代碼可讀性更
高,并且減少出錯(cuò)機(jī)會(huì)。盡管減少?gòu)?qiáng)制類型轉(zhuǎn)換可以降低使用泛型類代碼的復(fù)雜度,但是
聲明泛型變量會(huì)帶來相應(yīng)的復(fù)雜操作。
五、
1.
1interfaceGeneric<T>{
2publicabstractvoidget(Tt){}
3}
4classGeneric<T>implementsGeneric{
5publicvoidget(Tt){}
6)
第9章反射
1.動(dòng)態(tài)
2.newlnstance()
3.Method
4.getDeclaredFields()
5.Class
—?、
1.對(duì)
2.對(duì)
3?對(duì)
4.錯(cuò)
5.對(duì)
三、
1.D
2.C
3.AC
4.A
5.C
四、
1.
JaVa的反射(reflection)機(jī)制是指在程序的運(yùn)行狀態(tài)中,可以構(gòu)造任意一個(gè)類的對(duì)
象,可以得到任意一個(gè)對(duì)象所屬的類的信息,可以調(diào)用任意一個(gè)類的成員變量和方法,可
以獲取任意一個(gè)對(duì)象的屬性和方法。這種動(dòng)態(tài)獲取程序信息以及動(dòng)態(tài)調(diào)用對(duì)象的功能稱為
JaVa語言的反射機(jī)制。
2.
(1)根據(jù)類名獲取:類名.class;
(2)根據(jù)對(duì)象獲取:對(duì)象.getClass0;
(3)根據(jù)全限定類名獲?。篊laSS.forName(“全限定類名”
第10章IO(輸入輸出)
1.字節(jié)流字符流
2.Reader
3.BufferedInputStreamBufferedOutputStream
4.InputStreamReaderOutputStreamWriter
5.OutputStream
、
1.對(duì)
2.錯(cuò)
3.錯(cuò)
4.對(duì)
5.錯(cuò)
三、
1.A
2.A
3.B
4.C
5.C
四、
1.
字節(jié)流的兩個(gè)基類是InputStream和OutputStream,字符流的兩個(gè)基類是Reader和
Writer,它們都是ObjeCt類的直接子類,字節(jié)流是處理以8位字節(jié)為基本單位的字節(jié)流
類;Reader和Writer類是專門處理16位字節(jié)的字符流類。
2.
InPUtStTeamReader是Reader的子類,它可以將一個(gè)字節(jié)輸入流轉(zhuǎn)換成字符輸入流,方
便直接讀取字符。OUtPUtStreamWriter是Writer的子類,它可以將一個(gè)字節(jié)輸出流轉(zhuǎn)換成
字符輸出流,方便直接寫入字符。
五、
1.
TestOlJava
1importjava.io.;
2publicclassTestOl{
3publicstaticvoidmain(String[]args)throwsException{
4//字節(jié)流拷貝
5FileInputStreamin=newFileInputStream(πE:∕src.txtπ);
6FileOutputStreamout=newFileOutputStream(πE:/desl.txtπ);
7byte[]buf=newbyte[1024];
8intlen;
9while((len=in.read(buf))!=-1){
10out.write(buf,O,len);
11)
12in.close();
13out.close();
14//字符流拷貝
15BufferedReaderbf=newBufferedReader(new
16FileReader(,,E:∕src.txt"));
17BufferedWriterbw=newBufferedWriter(new
18FileWriter(',E:∕des2.txt"));
19Stringstr;
20while((str=bf.readLine())!=null){
21bw.write(str);
22bw.newLine();
23
24bf.close();
25bw.close();
26
27)
第11章JDBC
1.java.sql.DriverManager
2.classpath
3.update
4.預(yù)編譯
5.1
—?、
1.錯(cuò)
2.對(duì)
3.對(duì)
4.對(duì)
5.錯(cuò)
*.、
1.B
2.B
3.C
4.C
5.A
5.AD
四、
1.
1、加載并注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng);
2、通過DriVerManager獲取數(shù)據(jù)庫(kù)連接;
3、通過COnneCtiOn對(duì)象獲取Statement對(duì)象;
4、使用Statement執(zhí)行SQL語句;
5、操作ResuItSet結(jié)果集;
6、回收數(shù)據(jù)庫(kù)資源。
2.所謂預(yù)編譯,就是說當(dāng)相同的SQL語句再次執(zhí)行時(shí),數(shù)據(jù)庫(kù)只需使用緩沖區(qū)中的數(shù)據(jù),而
不需要對(duì)SQL語句再次編譯,從而有效提高數(shù)據(jù)的訪問效率。
第12章多線程
1.ThreadRunnable
2.新建狀態(tài)(New)、就緒狀態(tài)(RUnnabIe)、運(yùn)行狀態(tài)(Running)
3.start()
4.sleep()
5.synchronized
—*、
1.對(duì)
2.對(duì)
3.對(duì)
4.錯(cuò)
5.錯(cuò)
三、
1.C
2.B
3.B
4.D
5.BC
四、
1.
一種是繼承java.lang包下的Thread類,覆寫Thread類的run()方法,在run()方法中實(shí)
現(xiàn)運(yùn)行在線程上的代碼。
newThread(){
publicvoidrun(){}
}.start();
另一種就是實(shí)現(xiàn)java.lang.Runnable接口,同樣是在run。方法中實(shí)現(xiàn)運(yùn)行在線程上的代
碼。
classMyThreadimplementsRunnable{
publicvoidrun(){}
)
2.
同步代碼塊的作用是控制線程,保證同步代碼塊中只能有一個(gè)線程在運(yùn)行,保證了多線
程操作數(shù)據(jù)的安全性。
五、
1.
ExampIeJava
1publicclassExample{
2publicstaticvoidmain(String[]args){
3TicketWindowtw=newTicketWindow();
4newThread(twz”線程1”).Start();
,
5newThread(twz'??S2").start();
6)
7)
8classTicketWindowimplementsRunnable{
9privateintnum=100;
10publicvoidrun(){
11while(num>0){
12Threadth=Thread.CurrentThread();
13Stringth_name=th.getName();
14System.out.printin(th_name+”正在發(fā)售第n+num―+n張票");
15}
16)
第13章網(wǎng)絡(luò)編程
1.鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、應(yīng)用層
2.UDP
3.TCP
4.DatagramSocket
5.ServerSocket
—、
1.錯(cuò)
2.錯(cuò)
3.對(duì)
4.對(duì)
5.對(duì)
三、
1.D
2.A
3.D
4.C
5.D
四、
1.UDP通信與TCP通信的區(qū)別在于,UDP中只有發(fā)送端和接收端,不區(qū)分客戶端與服務(wù)
器端,計(jì)算機(jī)之間可以任意地發(fā)送數(shù)據(jù);而TCP通信是嚴(yán)格區(qū)分客戶端與服務(wù)器端的,在
通信時(shí),必須先由客戶端去連接服務(wù)器端才能實(shí)現(xiàn)通信,服務(wù)器端不可以主動(dòng)連接客戶端,
并且服務(wù)器端程序需要事先啟動(dòng),等待客戶端的連接。
2.在TCP連接中必須要明確客戶端與服務(wù)器端,由客戶端向服務(wù)器端發(fā)出連接請(qǐng)求,每次
連接的創(chuàng)建都需要經(jīng)過“三次握手”。第一次握手,客戶端向服務(wù)器端發(fā)出連接請(qǐng)求,等待
服務(wù)器確認(rèn):第二次握手,服務(wù)器端向客戶端回送一個(gè)響應(yīng),通知客戶端收到了連接請(qǐng)求:
第三次握手,客戶端再次向服務(wù)器端發(fā)送確認(rèn)信息,確認(rèn)連接。
五、
AskServerjava
/**
*
*在線客服咨詢?nèi)藛T
*
*/
publicclassAskServer{
publicstaticvoidmain(String[]args){
〃創(chuàng)建DatagramSocket,發(fā)送接收數(shù)據(jù)都依賴他
DatagramSocketsocket=null;
try(
socket=newDatagramSocket(8888);
Scannerinput=newScanner(System.in);
while(true){
//準(zhǔn)備一個(gè)空的數(shù)據(jù)包,用來接收數(shù)據(jù)
byte[]buf=newbyte[1024];
DatagramPacketpacket=newDatagramPacket(bufλbuf.length);
//接收數(shù)據(jù)使用空的數(shù)據(jù)包
socket.receive(packet);
//輸出信息
Stringinfo=newString(packet.getData(),0,
packet.getLength());
SyStem.oUt.printIrι(“客戶端請(qǐng)求:"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)生產(chǎn)項(xiàng)目管理與風(fēng)險(xiǎn)控制作業(yè)指導(dǎo)書
- 營(yíng)銷人的選書與讀書
- 2025年延邊貨運(yùn)從業(yè)資格證考試題庫(kù)答案
- 小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)口算題100題
- 小學(xué)二年級(jí)數(shù)學(xué)下學(xué)期口算練習(xí)
- 2025年湖北交通運(yùn)輸從業(yè)資格證怎樣考試
- 2025年昆明貨運(yùn)從業(yè)資格考試技巧
- 電力行業(yè)合作協(xié)議(2篇)
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)1.2《分式的乘方》聽評(píng)課記錄2
- 2024-2025學(xué)年新教材高中歷史第一單元從中華文明起源到秦漢統(tǒng)一多民族封建國(guó)家的建立與鞏固單元優(yōu)化提升鏈接學(xué)考含解析新人教版必修中外歷史綱要上
- 2024-2025年中國(guó)專網(wǎng)通信行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 北京市豐臺(tái)區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末語文試題(含答案)
- 二零二五年度能源行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)范本3篇
- 計(jì)劃供貨時(shí)間方案
- 2024年石柱土家族自治縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 西藏事業(yè)單位c類歷年真題
- 2024人教新目標(biāo)(Go for it)八年級(jí)英語下冊(cè)【第1-10單元】全冊(cè) 知識(shí)點(diǎn)總結(jié)
- 2025中國(guó)移動(dòng)安徽分公司春季社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 七年級(jí)英語下學(xué)期開學(xué)考試(深圳專用)-2022-2023學(xué)年七年級(jí)英語下冊(cè)單元重難點(diǎn)易錯(cuò)題精練(牛津深圳版)
- 2025江蘇省全日制勞動(dòng)合同書范本
- 杭州市房地產(chǎn)經(jīng)紀(jì)服務(wù)合同
評(píng)論
0/150
提交評(píng)論