Java 期末考試題

1. 如果將類 MyClass 聲明為 public,它的文件名必須是 (? ?) 才能正常編譯。

解:① 如果一個類被聲明為 public,則必須以 .java 作為文件拓展名。

答案:MyClass.java

2. 定義類頭時能使用的修飾符是(? )

A. private? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????????????? B. static

C. abstract? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????? D. protected

解:

① 普通外部類中可以使用的修飾符:public、abstract不可以使用的修飾符:private、protected、static

private 表示僅自身可見,其他類根本無法引用它;protected 本意為 “自己和子類可用”,而非子類無法看到它;static 表示無主仆,屬于類而非實例。

答案:C

3. 閱讀下列源文件,并回答問題。

public class Person {void speakHello() {System.out.print("您好,很高興認識您");System.out.println(" nice to meet you");}
}class Xiti {public static void main(String args[]) {Person zhang = new Person();zhang.speakHello();}
}

(a) 上述源文件的名字是(? )

(b) 編譯上述源文件將生成的字節碼文件都是(? )

解:核心:

① 源文件名規則判斷:當源文件中包含 public class 時,文件名必須與該 public 類名完全一致(包括大小寫),在后面加 .java

public class Person { ... } // 公有類

源文件必須為 Person.java

② 字節碼文件生成規則:每個獨立類生成一個 .class 文件,找到 class 的那段代碼,字節碼文件為: Person.class、Xiti.class

4.?下列哪個敘述是正確的??
A. 5.0 / 2 + 10 的結果 double 類數據

B. (int)5.8 + 1.0 的結果是 int 數據

C. ‘蘋’ + ‘果’ 的結果是 char 型數據

D. (short)10 + 'a' 的結果是 short 類數據

解:

① 記憶口訣:小算必大,遇雙則雙。“小算必大”,遇到 short / char 這兩個,運算結果必須是 int遇到含 double 的運算,結果必是 double

② 小數不加 f,必是 double。

過程:A項,5.0 是 double 類型,/2 后依然是 double 類型,故 A項 正確;B項,1.0 是 double 類型,遇到含 double 的運算,結果一定是 double,所以 B項 錯誤;C 項,char 類型會轉化為 int 類型,故 C項 錯誤;D項,short 類型會自動轉化為 int 類型,故 D項 錯誤。

答案:A

5. 下列的哪個賦值語句是不正確的?

A. float d = 3.14f

B. double d = 5.3E12

C. float f = 11.1

D. double f = 11.1E10f

解:

① double 是默認類型:在 Java 中,如果你直接在代碼里寫一個小數(比如3.14、11.1)或者用科學計數法表示但沒有后綴(比如5.3E12),Java 編譯器會默認它是一個 double 類型的數值。

② float 需要顯示標記:float 類型能表示的小數范圍和精度比 double 小。如果你想要告訴編譯器某個小數是 float 類型,必須在數字后面加上后綴 f 或 F。

③ 大容器裝小東西沒問題,反過來不行:Java 允許將 float 值賦值給 double 變量,但是不允許將 double 值直接賦值給 float 變量。

過程:C項,11.1 默認視為 double 類型,而 float 類型是不能直接賦值給 double 的,故本題為 C項

答案:C

6. 說出下列 E類中 【代碼1】-【代碼2】的輸出結果

class Fish{ int weight = 1; }  // Fish類(初始weight=1)class Lake{ Fish fish; void setFish(Fish s){ fish = s; }     // 設置魚void foodFish(int m){ fish.weight = fish.weight + m; }  // 喂魚(增加重量)
}public class E {public static void main(String args[]) {Fish redFish = new Fish();System.out.println(redFish.weight);  //【代碼1】Lake lake = new Lake();lake.setFish(redFish);               // 將redFish傳入Lakelake.foodFish(120);                  // 喂魚System.out.println(redFish.weight);  //【代碼2】}
}

解:將代碼一行一行的進行分析:

① 第一段:

class Fish {int weight = 1;  // 定義Fish類,所有Fish對象初始重量為1
}

② 第二段:?

class Lake {Fish fish;  // Lake類有一個"魚槽"(fish變量),可以存放魚的引用(初始為空)void setFish(Fish s) {fish = s;  // 🔄 核心操作:把傳入的魚"遙控器"放進魚槽(不是創建新魚)}void foodFish(int m) {fish.weight = fish.weight + m;  // 用魚槽里的遙控器給魚增重}
}

③ 第三段:

public class E {public static void main(String args[]) {// 🌟 第一步:創建紅魚對象Fish redFish = new Fish();  // 在內存中創建1條魚(重量=1)// 這時【代碼1】輸出魚的當前重量:System.out.println(redFish.weight);  // 輸出:1 → (1)1 ?// 🌟 第二步:創建湖泊Lake lake = new Lake();  // 創建空湖泊(lake.fish為空)// 🔄 核心操作:把紅魚放進湖泊lake.setFish(redFish);  // 相當于把紅魚的"遙控器副本"放進了lake.fish// 現在有兩個引用指向同一條魚://   redFish (你的遙控器)//   lake.fish (湖泊的遙控器)// 🍖 第三步:通過湖泊喂魚lake.foodFish(120);  // 執行后:魚.weight = 1 + 120 = 121// 此操作通過lake.fish這個遙控器修改了魚的實際重量// 🌟 第四步:再次查看你的紅魚System.out.println(redFish.weight);  //【代碼2】// 輸出:121 → (2)121 ?// 因為你的redFish遙控器控制的還是同一條魚}
}

答案:

1

121

7. 下列關于子類的繼承的描述中,錯誤的是(? )

A. 一個子類只允許一個父類

B. 一個父類只能生成一個子類

C. 繼承不改變成員權限

D. 私有成員和構造方法不能繼承

解:

① Java 是單繼承語言,每個子類只能直接繼承一個父類,但是一個父類可以有多個子類繼承它。

子類無法直接訪問父類的私有成員,子類也不會繼承父類的構造方法。

答案:B

8. 完成實驗 1:

實驗1 一個簡單的應用程序

一、實驗目的

本實驗的目的是讓學生掌握開發Java應用程序的3個步驟:編寫源文件、編譯源文件和運行應用程序。

二、實驗要求

編寫一個簡單的Java應用程序,該程序在命令行窗口輸出兩行文字:“你好,歡迎學習Java”和“We are students”。

三、程序效果示例

程序運行效果如圖1.1所示。

圖1.1 簡單的應用程序

四、程序模板

請按模板要求,將【代碼】替換為Java程序代碼。

public class Hello {public static void main(String args[]) {[代碼] // 命令行窗口輸出“你好,歡迎學習Java”A a = new A();a.fA();}
}class A {void fA() {[代碼] // 命令行窗口輸出“We are students”}
}

解:

① 如果要使用兩個 class 來運行,那么下面的 class A 要改成 public class A,之后運行 Hello.java? 的 java.application

② 如果是寫成 class A ,那么只用創建一個 class 即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86069.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86069.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

跨標簽頁通信(三):Web Storage

在現代 Web 應用中,跨標簽頁通信的需求越來越普遍。無論是實現多標簽頁之間的數據同步,還是構建實時協作功能,跨標簽頁通信都能極大地提升用戶體驗。今天,我們將探討一種簡單而高效的實現方式:Web Storage。 一、什么…

大疆上云api 無人機攝像頭紅外調色模式

# topic thing/product/{你的機場}/property/set# 監聽topic,獲取設置結果 thing/product//property/set_reply#mqtt https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/dock-to-cloud/mqtt/aircraft/m3d-properties.htmlthermal_current_palet…

DeepSeek與ChatGPT:免費與付費背后的選擇邏輯

內容簡介: 為什么有免費的DeepSeek,很多人還在付費用ChatGPT?作為20年互聯網老兵,作者通過實測發現:AI工具好壞七成看你怎么跟它聊天。DeepSeek不是真的不如ChatGPT,而是需要掌握"撩AI"的技巧。文…

【nvidia-H100-ib排障實戰1】:InfiniBand 帶寬測試命令深度解析,找到影響生產集群性能的ib

目錄 InfiniBand 帶寬測試命令深度解析 一、命令整體功能概述 二、服務器端命令解析:ib_write_bw -a -d 1. 命令主體功能 2. 關鍵參數解析 3. 服務器端工作模式 三、客戶端命令解析:ib_write_bw -a -d 1. 新增參數解析 2. 客戶端工作流程 四、核心測試指標與輸出解…

華為云Flexus+DeepSeek征文|基于華為云一鍵部署Dify LLM 應用構建 PPT 生成助手的開發與實踐

目錄 前言 1 華為云部署 Dify 平臺簡介 2 華為云 Dify 平臺的部署與登錄使用 3 模型接入與工具安裝 3.1 接入 DeepSeek 大模型 3.2 安裝 Markdown 轉 PPT 工具 4 構建 PPT 生成助手應用工作流 4.1 開始節點 4.2 文檔提取器 4.3 文本轉 PPT 文稿 LLM 4.4 Markdown 轉…

NW896NX769美光固態芯片NX790NX793

美光固態芯片深度解析:NX769、NX790、NX793與NW896技術全景 一、技術架構與核心特性 存儲工藝與性能基礎 美光NX系列(含NX769/790/793)及NW896均基于G9 NAND技術,采用176層TLC(Triple-Level Cell)3D NAND…

圖像融合的評價指標

目錄 一、常用指標總覽 1.1 指標分類 二、 指標解析與python代碼實現(部分) 2.1 基于信息熵的評估指標 A. 信息熵:/Entropy/EN B. 交叉熵 C.相關熵:Mutual Information/MI D.峰值信噪比/Peak signal-to-noise ratio/PSNR E. 基于邊…

【數據結構初階】--順序表(一)

🔥個人主頁:草莓熊Lotso 🎬作者簡介:C研發方向學習者 📖個人專欄: 《C語言》 《數據結構與算法》 ??人生格言:生活是默默的堅持,毅力是永久的享受。 前言:在上篇博客中…

Gateway路徑匹配規則易錯點

目錄 一、問題描述 二、問題產生原因: 三、總結 一、問題描述 在做微服務的項目的時候,選擇在nacos上配置Gateway網關的路由規則,然后在進行前后端聯調測試的時候發現,部分的微服務可以正常訪問,但是commerce-servic…

什么是大模型應用開發

一、概念點 自然語言處理(NLP:Natural Language Processing) 大模型(LLM:Large Language Models) 模型部署:云部署、本地部署、開放API 本地部署最簡單的一種方案:ollama https://ollama.com 二、大模型應…

Linux系統能ping通ip但無法ping通域名的解決方法

一、先確認系統網絡管理服務 現代 Linux 發行版常用 NetworkManager 或 systemd-networkd 管理網絡,而非傳統 networking.service ,先檢查系統在用的網絡服務: 1.檢查 NetworkManager 執行以下命令: sudo systemctl status …

0_序章導論

??課程整體框架?? ??時長??:4周 ??終極目標??: 👉 學完后比大公司CEO更懂AI,能領導團隊解決實際問題 ??每周核心內容分解?? ??第一周:重新認識AI的本質?? ??弱AI(ANI) …

docker一鍵清除指令

在 Linux 系統中,關閉 Docker 服務及容器的指令如下,具體操作需根據需求選擇: 1. 停止 Docker 容器 (1) 停止所有正在運行的容器 # 停止所有運行中的容器(推薦優雅關閉) docker stop $(docker ps -q)(2) 強制停止所有…

阿里云主機自動 HTTPS 證書部署踩坑實錄

阿里云主機自動 HTTPS 證書部署踩坑實錄 前言 請原諒本篇標題,阿里云其實非常好用,只是細節很多,尤其是在HTTPS證書的配置和使用上。希望通過這篇文章,能夠幫助到遇到類似問題的朋友們。 原理 服務器運行 acme.sh 腳本,自動申請和更新 Let’s Encrypt 的 SSL 證書。ac…

Vue Class綁定:字符串形式詳解與應用

Vue Class綁定:字符串形式詳解與應用 在Vue中,class綁定有多種形式,其中字符串形式是最基礎且常用的一種。我將通過一個完整的示例展示其用法和優勢。 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><…

MySQL 與 Oracle 分區表詳解:相同點與不同點

在數據庫管理中&#xff0c;隨著數據量的不斷增長&#xff0c;如何高效地存儲和查詢數據成為了一個關鍵問題。分區表技術通過將大型表劃分為多個更小、更易于管理的部分&#xff0c;顯著提升了數據庫的性能和可維護性。MySQL 和 Oracle 作為兩款主流的關系型數據庫管理系統&…

在MATLAB中繪制陣列天線的散射方向圖

在MATLAB中繪制陣列天線的散射方向圖 RCS元因子、RCS陣因子、總的RCS 單基地雷達 文章目錄 前言一、雷達散射界面的定義二、陣列天線的雷達散射界面三、MATLAB仿真總結 前言 \;\;\;\;\; 在無線通信、雷達和天線設計中&#xff0c;分析陣列天線的散射特性至關重要。散射方向圖&a…

SaaS+AI架構實戰,

近年來&#xff0c;隨著云計算技術的成熟和市場需求的變化&#xff0c;SaaS&#xff08;軟件即服務&#xff09;已成為企業數字化轉型的核心工具。與傳統軟件相比&#xff0c;SaaS通過云端按需交付服務&#xff0c;大幅降低了企業的IT部署成本&#xff0c;同時提供了更高的靈活…

網絡安全應急響應實戰筆記

網絡安全應急響應實戰筆記 項目介紹 面對各種各樣的安全事件&#xff0c;我們該怎么處理&#xff1f; 這是一個關于安全事件應急響應的項目&#xff0c;從系統入侵到事件處理&#xff0c;收集和整理一些案例進行分析。 GitHub 地址&#xff1a;https://github.com/Bypass007…

國產Linux銀河麒麟操作系統安裝開源免費Draw.io(diagrams.net)替代Visio

一、Draw.io&#xff08;diagrams.net&#xff09;與 Microsoft Visio 對比&#xff1a; Draw.io&#xff08;現更名為 diagrams.net&#xff09;是一款流行的免費在線圖表工具&#xff0c;可以作為 Microsoft Visio 的替代品。draw.io 支持 UML、流程圖、架構圖&#xff0c;模…