頭歌java課程實驗(Java面向對象 - 包裝類)

第1關:基本數據類型和包裝類之間的轉換

任務描述
本關任務:實現基本數據類型與包裝類之間的互相轉換。

相關知識
為了完成本關任務,你需要掌握:
1.什么是包裝類;

2.怎么使用包裝類。

什么是包裝類
在JAVA中,八大基礎數據類型(int,float,double...)是不具備對象的特征的,比如基本數據類型就不能調用方法,功能簡單,為了讓基本數據類型也具備對象的特征,就有了JAVA包裝類。

我們知道基礎數據類型是沒有屬性的,也是不能調用方法的。例如:

int i = 10;
i.toString();
使用這段代碼就會出錯。

但是我們在開發過程中肯定會遇到,將基本數據類型轉換為String類型,或者其他數據類型,而這個時候如果我們要用基礎數據類型實現這些轉換就會非常麻煩,所以Java就有了基本數據類型的包裝類,顧名思義,包裝類就是:將基本數據類型包裝成對象,使其具有了對象的屬性和方法。
這樣就可以使用方法和屬性了。

而包裝類的主要作用也就是:

將本類型與其他類型進行轉換;

將字符串與本類型及包裝類型相互轉換。

怎么使用包裝類
首先我們來看如何定義包裝類:比如定義一個int類型的包裝類

Integer i1 = new Integer(100); ?//定義一個值為100的 整形包裝類
Integer i2 = 100;
上面兩種方式都可以定義整形類型的包裝類。

我們可能會有疑問,數據變成了包裝類,我之后要使用數據怎么辦呢?

很簡單,我們在將包裝類轉換成基本數據類型就可以了。

Integer i1 = new Integer(100);
int value = i1;//方法1
int value2 = i1.intValue();//方法2
經過上述步驟就可以將包裝類轉換成基本數據類型了。這兩個例子分別展示了如何將int類型轉換成包裝類,如何將包裝類轉換成int類型。
我們一般將“基本數據類型轉換成包裝類”的過程叫做裝箱,將“包裝類轉換成基本數據類型”的過程叫做拆箱。

裝箱可以分為手動裝箱和自動裝箱:

拆箱也可以分為手動拆箱和自動拆箱:

這里所舉的例子都是使用int類型,其他數據類型和int類型的包裝類切換方式沒有什么區別,所以關于其他數據類型我們只需要知道它們對應的包裝類名是什么即可。

看上圖,相信你已經明白Java中八大基本數據類型如何與包裝類進行切換了。

測試說明
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:

完成基本數據類型與包裝類之間的相互轉換,即裝箱與拆箱。
編程要求
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。

預期輸出:

裝箱后的結果為:66.6和66.6
拆箱結果為:88.88和88.88

開始你的任務吧,祝你成功!

package step1;public class Task {public static void main(String[] args) {//定義float對象float f = 66.6f;//手動裝箱Float f1 =   new Float(f)    ;//自動裝箱 Float f2 =  f     ;System.out.println("裝箱后的結果為:" + f1 + "和" + f2);//定義一個Double包裝類值為88.88Double d =  new Double(88.88)     ;//手動拆箱double d1 =  d.doubleValue()    ;//自動拆箱double d2 =  d    ;System.out.println("拆箱結果為:" + d1 + "和" + d2);}}

第2關:包裝類轉換成其他數據類型

任務描述
本關任務:將包裝類轉換成其他數據類型。

相關知識
為了完成本關任務,你需要掌握:1.如何將包裝類轉換成其他基本數據類型。

將包裝類轉換成其他數據類型
很簡單,我們來看一個例子就知道了:

Integer i = new Integer(100);
//轉換成double類型
double d = i.doubleValue();
System.out.println("d的值:" + d);
//轉換成float類型
float f = i.floatValue();
System.out.println("f的值" + f);
相信你已經明白怎么進行轉換了。

編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:

將int類型數據轉換成其他數據類型。
測試說明
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。
預期輸出:
Integer包裝類:67
double類型:67.0
float類型:67.0
int類型:67

開始你的任務吧,祝你成功!

package step2;public class Task {public static void main(String[] args) {// 定義int類型變量,值為67int score = 67;// 創建Integer包裝類對象,表示變量score的值Integer score1 = new Integer(score);// 將Integer包裝類轉換為double類型double score2 = score1.doubleValue()    ; // 將Integer包裝類轉換為float類型float score3 =  score1.intValue()    ;// 將Integer包裝類轉換為int類型int score4 =   score1.  intValue()     ;System.out.println("Integer包裝類:" + score1);System.out.println("double類型:" + score2);System.out.println("float類型:" + score3);System.out.println("int類型:" + score4);}        
}

第3關:包裝類與字符串之間的轉換

任務描述
本關任務:實現基本數據類型與字符串的相互轉換。

相關知識
為了完成本關任務,你需要掌握:

1.如何將基本數據類型轉換成字符串;

2.如何將字符串轉換成基本數據類型。

如何將基本數據類型轉換成字符串
我們在開發中會經常會遇到將基本數據類型轉換成字符串的場景。

那如何進行轉換呢?

總共有三種方式:

使用包裝類的toString()方法;

使用String類的valueOf()方法;

使用一個空字符串加上基本類型。

如何將字符串轉換成基本數據類型
我們先來看一段代碼:

String a ="12";
int b = 23;
System.out.println(a+b);
這段代碼輸出的結果應該是,1223,但是我們想讓他輸出35應該怎么做呢?
你肯定想到了,我們先將a轉換成int類型,在相加就可以了。

將字符串轉換成基本數據類型有兩種方式:

調用包裝類的parseXXX()方法;

調用包裝類的valueOf()方法轉換為基本數據類型的包裝類。

編程要求
請仔細閱讀右側代碼,根據方法內的提示,在Begin - End區域內進行代碼補充,具體任務如下:

完成基本數據類型與字符串之間的相互轉換。
測試說明:
補充完代碼后,點擊測評,平臺會對你編寫的代碼進行測試,當你的結果與預期輸出一致時,即為通過。
預期輸出:
str + 12 ?的結果為: 78.512
d + 100 的結果為: 280.2

開始你的任務吧,祝你成功!

package step3;public class Task {public static void main(String[] args) {double a = 78.5;//請在此添加實現代碼//將基本類型a轉換為字符串String str = Double.toString (a) ;System.out.println("str + 12  的結果為: "+(str + 12));String str1 = "180.20";// 將字符串str1轉換為基本類型Double d =   Double.valueOf(str1)   ;System.out.println("d + 100 的結果為: "+ (d + 100));} 
}

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

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

相關文章

實現一個免費可用的文生圖的MCP Server

概述 文生圖模型為使用 Cloudflare Worker AI 部署 Flux 模型,是參照視頻https://www.bilibili.com/video/BV1UbkcYcE24/?spm_id_from333.337.search-card.all.click&vd_source9ca2da6b1848bc903db417c336f9cb6b的復現Cursor MCP Server實現是參照文章https:/…

ES6 深克隆與淺克隆詳解:原理、實現與應用場景

ES6 深克隆與淺克隆詳解:原理、實現與應用場景 一、克隆的本質與必要性 在 JavaScript 中,數據分為兩大類型: 基本類型:Number、String、Boolean、null、undefined、Symbol、BigInt引用類型:Object、Array、Functio…

新聞數據加載(鴻蒙App開發實戰)

本案例基于ArkTS的聲明式開發范式,介紹了數據請求和onTouch事件的使用。包含以下功能: 數據請求。列表下拉刷新。列表上拉加載。 網絡數據請求需要權限:ohos.permission.INTERNET 一、案例效果截圖 操作說明: 點擊應用進入主頁…

辦公效率王Word批量轉PDF 50 +文檔一鍵轉換保留原格式零錯亂

各位辦公小能手們,我跟你們說啊!在辦公的時候,咱經常會碰到要把一堆Word文檔轉成PDF格式的情況,比如說要統一文件格式、保護文檔內容或者方便分享啥的。這時候,就需要用到Word批量轉換成PDF的軟件啦。下面我就給你們好…

一張Billing項目的流程圖

流程圖 工作記錄 2016-11-11 序號 工作 相關人員 1 修改Payment Posted的導出。 Claim List的頁面加了導出。 Historical Job 加了Applied的顯示和詳細。 郝 識別引擎監控 Ps (iCDA LOG :剔除了160篇ASG_BLANK之后的結果): LOG_File 20161110.txt BLANK_CDA/ALL 45/10…

SpringAI系列4: Tool Calling 工具調用 【感覺這版本有bug】

前言:在最近發布的 Spring AI 1.0.0.M6 版本中,其中一個重大變化是 Function Calling 被廢棄,被 Tool Calling 取代。Tool Calling工具調用(也稱為函數調用)是AI應用中的常見模式,允許模型通過一組API或工具…

第六十三節:深度學習-模型推理與后處理

深度學習模型訓練完成后,如何高效地將其部署到實際應用中并進行準確預測?這正是模型推理與后處理的核心任務。OpenCV 的 dnn 模塊為此提供了強大支持,本文將深入探討 OpenCV 在深度學習模型推理與后處理中的關鍵技術與實踐。 第一部分:基礎概念與環境搭建 1.1 核心概念解析…

uniapp開發企業微信小程序時 wx.qy.login 在uniapp中使用的時候,需要導包嗎?

在 UniApp 中使用 “wx.qy.login” 不需要手動導包,但需要滿足以下條件: 一、環境要求與配置 1� 企業微信環境判斷 必須確保當前運行環境是企業微信客戶端,通過 “uni.getSystemInfoSync().environment” 判斷是否為 “wxwork”…

ONLYOFFICE文檔API:更強的安全功能

在數字化辦公時代,文檔的安全性與隱私保護已成為企業和個人用戶的核心關切。如何確保信息在存儲、傳輸及協作過程中的安全,是開發者與IT管理者亟需解決的問題。ONLYOFFICE作為一款功能強大的開源辦公套件,不僅提供了高效的文檔編輯與協作體驗…

Linux系統編程之共享內存

概述 在Linux系統中,共享內存也是一種高效的進程間通信機制,允許兩個或多個進程共享同一塊物理內存區域。通過這種方式,不同進程可以直接訪問和操作相同的數據,從而避免了數據的復制。由于數據直接在內存中共享,沒有額…

零知開源——STM32F407VET6驅動Flappy Bird游戲教程

簡介 本教程使用STM32F407VET6零知增強板驅動3.5寸TFT觸摸屏實現經典Flappy Bird游戲。通過觸摸屏控制小鳥跳躍,躲避障礙物柱體,挑戰最高分。項目涉及STM32底層驅動、圖形庫移植、觸摸控制和游戲邏輯設計。 目錄 簡介 一、硬件準備 二、軟件架構 三、…

Elasticsearch創建快照倉庫報錯處理

創建快照倉庫報錯: 根據報錯提示的信息,問題可能出在 Elasticsearch 的配置中。當你嘗試創建一個文件系統(fs)類型的快照倉庫時,雖然已經指定了 location 參數,但 Elasticsearch 仍然報錯,這通…

服務器如何配置防火墻管理端口訪問?

配置服務器防火墻來管理端口訪問,是保障云服務器安全的核心步驟。下面我將根據你使用的不同操作系統(Linux: Ubuntu/Debian/CentOS;Windows Server)介紹常用防火墻配置方法。 ? 一、Linux 防火墻配置(UFW / firewalld…

Redis最佳實踐——安全與穩定性保障之連接池管理詳解

Redis 在電商應用的連接池管理全面詳解 一、連接池核心原理與架構 1. 連接池工作模型 #mermaid-svg-G7I3ukCljlJZAXaA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-G7I3ukCljlJZAXaA .error-icon{fill:#552222;}…

打印機無法遠程打印?可以本地打印,本地網絡打印機設置給異地使用

很多小伙伴常有打印、遠程打印的需求,特別是對于電商人、跨境電商、教師、產品經理、實驗人員等群體來說掌握這項技能可謂是能夠在很多場景下帶來便捷,大幅提升做事效率!打印機是家庭和企業經常用到的設備,很多情況下會遇到本地可…

【Linux】進程地址空間揭秘(初步認識)

10.進程地址空間(初步認識) 文章目錄 10.進程地址空間(初步認識)一、進程地址空間的實驗現象解析二、進程地址空間三、虛擬內存管理補充:數據的寫時拷貝(淺談)補充:頁表(…

深入探討redis:主從復制

前言 如果某個服務器程序,只部署在一個物理服務器上就可能會面臨一下問題(單點問題) 可用性問題,如果這個機器掛了,那么對應的客戶端服務也相繼斷開性能/支持的并發量有限 所以為了解決這些問題,就要引入分布式系統&#xff0c…

MacOS安裝Docker Desktop并漢化

1. 安裝Docker Desktop 到Docker Desktop For Mac下載對應系統的Docker Desktop 安裝包,下載后安裝,沒有賬號需要注冊,然后登陸即可。 2. 漢化 前往漢化包下載鏈接下載對應系統的.asar文件 然后將安裝好的文件覆蓋原先的文件app.asar文件…

索引的選擇與Change Buffer

1. 索引選擇與Change Buffer 問題引出:普通索引 vs 唯一索引 ——如何選擇? 在實際業務中,如果一個字段的值天然具有唯一性(如身份證號),并且業務代碼已確保無重復寫入,那就存在兩種選擇&…

lua注意事項

感覺是lua的一大坑啊,它還不如函數內部就局部變量呢 注意函數等內部,全部給加上local得了