Java語言程序設計學習通課后章節(jié)答案期末考試題庫2023年_第1頁
Java語言程序設計學習通課后章節(jié)答案期末考試題庫2023年_第2頁
Java語言程序設計學習通課后章節(jié)答案期末考試題庫2023年_第3頁
Java語言程序設計學習通課后章節(jié)答案期末考試題庫2023年_第4頁
免費預覽已結束,剩余6頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java語言程序設計學習通課后章節(jié)答案期末考試題庫2023年私有屬性只能在它所在類中被訪問,為了能讓外界訪問私有屬性,需要提供一些使

用public修飾的公有方法。

參考答案:

當一個類實現接口時,沒有必要實現接口中的所有方法。

參考答案:

【判斷題】continue語句只用于循環(huán)語句中,它的作用是跳出循環(huán)。

參考答案:

與普通方法一樣,構造方法也可以重載。

參考答案:

【判斷題】三元運算符的語法格式為“判斷條件?表達式1:表達式2”。

參考答案:

類的封裝是指在定義一個類時,將類中的屬性私有化,即使用____關鍵字來修

飾。

參考答案:

private

靜態(tài)方法必須使用____關鍵字來修飾。

參考答案:

static

針對類、成員方法和屬性,Java提供了4種訪問控制權限,分別是____、____、____和defualt。

參考答案:

private###protected###public

定義類的關鍵字為____。

參考答案:

class

面向對象的三大特征是____、____、____。

參考答案:

封裝###繼承###多態(tài)

【單選題】假設intx=2,三元表達式x>0?x+1:5()

參考答案:

3

【判斷題】循環(huán)嵌套是指在一個循環(huán)語句的循環(huán)體中再定義一個循環(huán)語句的語法結構。while、do…while、for循環(huán)語句都可以進行嵌套,并且它們之間也可以互相嵌套。

參考答案:

【填空題】Java程序代碼必須放在一個類中,類使用____關鍵詞定義。

參考答案:

class

閱讀下列程序:classA{intx;staticinty;voidfac(Strings){System.out.println(“字符串:”+s);}}下列選項中描述正確的是()

參考答案:

x是實例變量,y是類變量,s是局部變量

【單選題】下列選項中,那些屬于合法的標識符?()

參考答案:

username

【填空題】Java中的注釋有三類,分別是____、____和____。

參考答案:

單行注釋###多行注釋###文檔注釋

【填空題】在Java中,變量的數據類型分為兩種,即基本____和____類型。

參考答案:

基本數據###引用數據

下列關于構造方法的描述中,錯誤的是()

參考答案:

構造方法的訪問權限必須和類的訪問權限一致。

一個類如果要實現一個接口,可以通過關鍵字____來實現這個接口。

參考答案:

implements

【單選題】下列選項中,使用比較運算符正確的是()

參考答案:

4==3結果為false

封裝就是隱藏對象的屬性和實現細節(jié),僅對外提供公有的方法。

參考答案:

下面程序運行的結果是()classDemo{publicstaticvoidmain(String[]args){intx=div(1,2);try{}catch(Exceptione){System.out.println(e);}System.out.println(x);}publicstaticintdiv(inta,intb){returna/b;}}

參考答案:

輸出0

閱讀下列程序:classTest{privatestaticStringname;static{name="World";System.out.print(name);}publicstaticvoidmain(String[]args){System.out.print("Hello");Testtest=newTest();}}下列選項中,程序運行結果是()

參考答案:

WorldHello

在switch條件語句和循環(huán)語句中都可以使用break語句。

參考答案:

下列關于this的說法中,錯誤的是(

)

參考答案:

this可以出現在任何方法中。

【簡答題】某公司的雇員分為以下若干類:(1)Employee:這是所有員工總的父類。①屬性:員工的姓名,員工的生日月份②方法:getSalary(intmonth)根據參數月份來確定工資,如果該月員工過生日,則公司會額外獎勵100元。(2)SalariedEmployee:Employee的子類,拿固定工資的員工。①屬性:月薪。(3)HourlyEmployee:Employee的子類,按小時拿工資的員工,每月工作超出160小時的部分按照1.5倍工資發(fā)放。①屬性:每小時的工資、每月工作的小時數。(4)SalesEmployee:Employee的子類,銷售,工資由月銷售額和提成率決定。①屬性:月銷售額、提成率。(5)BasePlusSalesEmployee:SalesEmployee的子類,有固定底薪的銷售人員,工資由底薪加上銷售提成部分。①屬性:底薪。要求:創(chuàng)建一個Employee數組,分別創(chuàng)建若干不同的Employee對象,并打印某個月的工資。注意:要求把每個類都做成完全封裝,不允許非私有化屬性。部分參考代碼見文件:

參考答案:

Employee.javaabstractclassEmployee{

privateStringname;

//定義姓名name并私有化屬性

privateintmonth;

//定義生日月份month并私有化屬性

publicEmployee(){}

//無參構造器

publicEmployee(Stringname,intmonth){

//有參構造方法

=name;

//給屬性name初始化賦值

this.month=month;

//給屬性month初始化賦值

}

//獲取屬性name的方法

publicStringgetName(){

returnname;

//返回name屬性

}

//獲取屬性month的方法

publicintgetMonth(){

returnmonth;

//返回month屬性

}

//給屬性name賦初始值

publicvoidsetName(Stringname){

=name;

//本類中的屬性name

}

//給屬性month賦初始值

publicvoidsetMonth(intmonth){

this.month=month;//本類中的屬性month

}//創(chuàng)建getSalary()方法計算工資,參數month是月份,如果當月是員工生日,獎勵100元

publicdoublegetSalary(intmonth){

doublesalary=0;

//定義工資變量

//判斷當前月份是否是員

工的生日月份,如果是獎勵100元

if(this.month==month){

salary=salary+100;

returnsalary;

//返回工資salary

}

}}SalariedEmployee.javaclassSalariedEmployeeextendsEmployee{

privatedoublemonthSalary;

//封裝monthSalary屬性

publicSalariedEmployee(){}

//無參構造方法

//有參構造方法

參數

姓名生日月份

月薪

publicSalariedEmployee(Stringname,intmonth,doublemonthSalary){

super(name,month);

//調用父類有參構造方法

this.monthSalary=monthSalary;

//為屬性monthSalary初始化賦值

}

//獲取monthSalary的值

publicdoublegetMonthSalary(){

returnmonthSalary;

}

//給monthSalary賦值

publicvoidsetMonthSalary(doublemonthSalary){

this.monthSalary=monthSalary;

}

//覆蓋父類中的方法

publicdoublegetSalary(intmonth){

//定義工資變量

doublesalary=monthSalary+super.getSalary(month);

returnsalary;

}}HourlyEmployee.javaclassHourlyEmployeeextendsEmployee{

privatedoublehourlySalary;

//定義屬性hourlySalary每小時的工資

privateinthours;

//定義屬性hours每月工作的小時數

publicHourlyEmployee(){}

//無參構造方法

//有參構造方法

參數姓名生日月份

每小時的工資每月工作的小時數

publicHourlyEmployee(Stringname,intmonth,doublehourlySalary,int

hours){

super(name,month);

//調用父類有參構造方法

this.hourlySalary=hourlySalary;

//為屬性hourlySalary初始化賦值

this.hours=hours;

//為屬性hours初始化賦值

}

publicdoublegetHourlySalary(){

//獲取hourlySalary的值

returnhourlySalary;

}

publicintgetHours(){

//獲取hours的值

returnhours;

}

//定義set方法設置hourlySalary

hours的值

publicvoidsetHourlySalary(doublehourlySalary){

this.hourlySalary=hourlySalary;

}

publicvoidsetHourly(inthours){

this.hours=hours;

}

//覆蓋父類方法

publicdoublegetSalary(intmonth){

if(hours<0){

//如果工作小時數小于0

輸出數據錯誤

System.out.println("數據錯誤");

return0;

}

//小于160個小時的按照每個月的工作小時數乘以每小時的工資

elseif(hours<=160)

returnhourlySalary*hours+super.getSalary(month);

//超出160個小時的小時數按照1.5倍計算

elsereturnhourlySalary*160+hourlySalary*1.5*(hours-

160)+super.getSalary(month);

}}SalesEmployee.javaclassSalesEmployeeextendsEmployee{

privatedoublesales;

//定義銷售額sales

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()*(1+this.getRate())+super.getSalary(month);

}}BasePlusSalesEmployee.javaclassBasePlusSalesEmployeeextendsSalesEmployee{

privatedoublebaseSalary;//定義基礎工資baseSalary

//無參構造方法

publicBasePlusSalesEmployee(){}

//有參構造方法

publicBasePlusSalesEmployee(Stringname,intmonth,doublesales,double

rate,doublebaseSalary){

super(name,month,sales,rate);

this.baseSalary=baseSalary;

}

//get/set方法對私有屬性的調用和設置

publicdoublegatBaseSalary(){

returnbaseSalary;

}

publicvoidsetBaseSalary(){

this.baseSalary=baseSalary;

}

publicdoublegetSalary(intmonth){

returnbaseSalary+super.getSalary(month);

}}Test.java//定義一個測試類publicclassTest{

publicstaticvoidmain(String[]args){

//聲明一個Employee類型的數組,并創(chuàng)建不同子類型的對象

Employee[]employee={newSalariedEmployee(“張三”,1,6000),new

HourlyEmployee(“李

四”,2,50,180),newSalesEmployee(“王

五”,3,6500,0.15),newBasePlusSalesEmployee(“趙

六”,4,5000,0.15,2000)};

//打印每個員工的工資

for(inti=0;i<employee.length;i++)

System.out.println(Math.round(employee[i].getSalary(10)));

}}

下列關于接口的說法中,錯誤的是()

參考答案:

接口中定義的變量可以被修改

【多選題】下列選項中,關于類的定義格式正確的是()(多選)

參考答案:

修飾符class類名{程序代碼}###class類名{程序代碼}D

閱讀下段代碼:classDog{publicStringname;Dog(Stringname){=name;}}publicclassDemo1{publicstaticvoidmain(String[]args){Dogdog1=newDog("xiaohuang");Dogdog2=newDog("xiaohuang");Strings1=dog1.toString();Strings2=dog2.toString();Strings3="xiaohuang";Strings4="xiaohuang";}}返回值為true的是(

)

參考答案:

s3.equals(s4)

____關鍵字可用于修飾類、變量和方法,它有“這是無法改變的”或者“最終”的含義。

參考答案:

final

Java提供了一個關鍵字____,可以判斷一個對象是否為某個類(或接口)的實例或者子類實例。

參考答案:

instanceof

Java中一個類最多可以繼承____個類。

參考答案:

1

【填空題】在邏輯運算符中,運算符____和____用于表示邏輯與,____表示邏輯或。

參考答案:

&###&&###|;||

【單選題】請閱讀下面代碼。inta=3;intb=2;switch(b){case1:a--;break;case2:a++;case3:a=a+3;default:a++;break;}System.out.println(“a=”+a);上述程序運行結束時,變量a的值為()

參考答案:

8

【填空題】數組是一個____,存儲到數組中的每個元素,都有自己的自動編號,最小值為____。

參考答案:

容器###0

【判斷題】Java語言不區(qū)分大小寫。

參考答案:

在繼承關系中,子類會自動繼承父類中的方法,但有時在子類中需要對繼承的方法進行一些修改,即對父類的方法進行____。

參考答案:

重寫________關鍵字可用于修飾類、變量和方法,它有“這是無法改變的”或者“最終”的含義。finalJava提供了一個關鍵字________,可以判斷一個對象是否為某個類(或接口)的實例或者子類實例。instanceof一個類如果要實現一個接口,可以通過關鍵字________來實現這個接口。implementsException類稱為異常類,它表示程序本身可以處理的錯誤,在開發(fā)Java程序中進行的異常處理,都是針對Exception類及其子類。對在try…catch語句中,try

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論