【JAVA基礎篇】基本數據類型及自動類型轉換

一、8種基本數據類型以及占用內存空間大小

boolean? 1byte或4byte

byte? ? ? ? 8bit/1byte

char? ? ? ? 16bit/2byte

short? ? ? ?16bit/2byte

float? ? ? ? 32bit/4byte

int? ? ? ? ? ?32bit/4byte

long? ? ? ? 64bit/8byte

double? ? 64bit/8byte

二、自動類型轉換

2.1、類型自動提升

占用內存小的數據類型可以自動轉換成占用內存大的數據類型。

允許類型自動提升的順序如下:

byte-->short-->int-->long-->float-->double或者char-->int-->long-->float-->double

具體規則:

 ? ? 如果兩個操作數其中有一個是double類型,另一個操作就會轉換為double類型。

  否則,如果其中一個操作數是float類型,另一個將會轉換為float類型。

  否則,如果其中一個操作數是long類型,另一個會轉換為long類型。

  否則,兩個操作數都轉換為int類型。

測試用例1:

    	double d = 1.0;int i = 1;
//    	int sum = i+d;//這行代碼放開編譯會報錯,提示Type mismatch: cannot convert from double to intdouble sum = i+d;//會先將i的數據類型自動提升為double,然后兩個double類型做運算,返回也是double類型

測試用例2:

    	float d = 1.0f;long i = 1;
//    	long sum = i+d;//這行代碼放開編譯會報錯,提示Type mismatch: cannot convert from float to longfloat sum = i+d;//會先將i的數據類型自動提升為float,然后兩個float類型做運算,返回也是float類型

通過上面的兩個測試用例證明我們的規則是正確的。

2.2、類型自動強轉

占用內存大的數據類型可以自動強轉成占用內存小的數據類型。

下面這幾種情況會先自動提升,然后自動強轉

測試用例3:

    	byte b = 127;byte b2 = ++b;//先執行++b,返回int類型,然后強轉成byte類型賦值給b2System.out.println(b2);//輸出-128

測試用例4:

    	byte b = -128;b += -128;//先執行b+(-128),返回int類型,然后強轉成byte類型賦值給bSystem.out.println(b);//輸出0

?

?

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

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

相關文章

的優缺點_淺談桉木家具的優缺點

家具現在的材質是有很多的,木質的,石材的,還有真空充氣的,都是很不錯的類型。桉木家具是現在很多人都喜歡的一種材質,但是很多人對桉木家具的優缺點不是很清楚,為了能夠讓大家更加清楚的了解桉木家具&#…

【算法篇】遞歸

一、遞歸的概念 程序調用自身的編程技巧稱為遞歸。 遞歸的核心思想就是將一個大規模復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解。 二、遞歸的優點 使用遞歸的好處是只需要少量的代碼就可以描述出求解問題過程中多次重復的計算,大大減少了程序…

客戶說發貨慢怎么回復_女生微信說身體不舒服怎么回復關心她?

當你不在女生身邊,女生微信給你說身體不舒服,肯定需要說點話來安慰她了。多喝熱水肯定是不行了,一點用處都沒有,還會讓女生覺得你根本不重視她,是在敷衍她,那女生微信說身體不舒服怎么回復關心她呢&#xf…

【算法篇】八種內排序算法

常用的八種內排序算法分別是: 交換排序:冒泡排序、快速排序選擇排序:簡單選擇排序、堆排序插入排序:直接插入排序、希爾排序歸并排序基數排序 內排序巧記:選(選擇)艦(簡單選擇)隊(堆)的時候腳(交換)毛(冒泡)快(快速)&…

數據分析專題報告范文6篇_小學生看圖寫話范文:小熊玩蹺蹺板?(6篇),讓孩子參考練習...

?范文01:小熊蹺蹺板一天,天氣晴朗,胖乎乎的小熊和小白兔一起玩蹺蹺板。小熊一屁股坐在地上,小白兔說:“啊!我有恐高癥哇!”小熊說:“我比你重,所以你沒有辦法把我翹起來…

PL/SQL

1 PL/SQLPL/SQL:過程化SQL語言(Procedural Language/SQL)。PL/SQL是Oracle數據庫對SQL語句的擴展。在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL把數據操作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環…

20sccm_SCCM 2012安裝圖解教程(一步一步詳細步驟)

本系列文章的環境架構如下圖所示:所有服務器安裝的操作系統都是windows Server 2008 R2 中文企業版。計算機名軟件、版本及角色SC-DC.SC.COMwindows Server 2008 R2 Enterprise /Active Directory 2008 R2SC-SQL.SC.COMSQL Server 2008 R2 EnterpriseSC-SCCM.SC.COM…

【Java中級篇】Dom4j解析xml數據

一、依賴 <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency> 二、test.xml <?xml version"1.0" encoding"UTF-8"?> <students>…

redis 附近的人_使用redis—geo api實現搜索附近的人,自己寫的一個composer包

安裝如果是應用在項目當中的話找到根目錄&#xff0c;需要和 composer.json同級composer require gaopengfei/redis_lbs基本操作初始化require_once __DIR__./vendor/autoload.php;$lbs new \LBS\Services\LBSService();添加$add_params [[name > yabao_road,long > 11…

【Java中級篇】使用zxing生成二維碼

一、pom.xml添加依賴 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.1.0</version></dependency><dependency><groupId>com.google.zxing</groupId><artifa…

微信小程序彈出框豎向滾動_微信小程序 解決自定義彈出層滑動時下層頁面滾動問題...

WXML將整個底層頁面使用 scroll-view 包裹起來&#xff0c;設置 scroll-y 當顯示彈出層的時候為 true&#xff0c; 閉關彈出層的時候為 falseWXSSPage 設置為絕對定位&#xff0c;寬高各百分之百 &#xff0c; scroll-view 高度 百分之百Page{position: absolute;width: 100%;h…

win10環境安裝使用svn客戶端和服務端

一、下載安裝包 安裝包下載傳送門http://subversion.apache.org/packages.html 無法下載的童鞋去百度云下載 鏈接&#xff1a;https://pan.baidu.com/s/1EuGohoZKIPmRvynp5-Subw 提取碼&#xff1a;ohna 鏈接&#xff1a;https://pan.baidu.com/s/1EJrd5DzGCBE4rRfdhuno6Q …

openglshader實現虛擬場景_opengl – 如何使用GLSL著色器將徑向模糊應用于整個場景?...

我在GLSL中有一個徑向模糊著色器,它采用紋理,對其進行徑向模糊,并將結果呈現給屏幕.這個工作很好,到目前為止.問題在于,它將徑向模糊應用于場景中的第一個紋理.但是我實際上想做的就是將這個模糊應用于整個場景.實現此功能的最佳方式是什么&#xff1f;我可以只使用著色器,還是…

記一次尷尬的面試

昨天信達雅公司邀請我去平安面試&#xff0c;然后我今天10點到科技信息中心&#xff0c;等了接近20分鐘才有人過來接我。 第一個環節是機試 40個題目&#xff0c;主要是選擇題&#xff0c;花了40分鐘結束戰斗&#xff0c;總分100得了75分&#xff08;手機快沒電了&#xff0c…

所選元素非聯通_非固化橡膠瀝青防水涂料與耐根穿刺防水卷材(瀝青基)施工要點...

目前&#xff0c;非固化復合耐根穿刺防水卷材在車庫頂板的應用逐漸受到客戶及用戶的認可&#xff0c;也有不少慕名而來的防水從業者打電話來咨詢此系統的應用情況及優勢。下面就由小編來給大家系統介紹此應用系統的特點吧。01性能優勢1.兩種材料高度的相容性非固化橡膠瀝青防水…

事務的理解

事務的概念 事務是一組SQL組成的邏輯處理單元&#xff0c;通常有四個特性&#xff0c;簡稱ACID&#xff1a; 原子性&#xff08;Atomic&#xff09;&#xff1a;數據庫事務是不可分割的工作單位。事務中的SQL語句要么都執行成功&#xff0c;要么都執行失敗。 一致性&#xf…

vscode設置templates_在VScode中創建你的代碼模板的方法

使用VScode的用戶代碼片段功能&#xff0c;來生成自己習慣的代碼模板&#xff0c;提升開發效率1.選擇菜單里的 文件 > 首選項 > 用戶代碼片段2.選擇你需要自定義模板的文件&#xff0c;以vue為例3. 配置對應文件json把代碼片段寫在json里。每個代碼段都是在一個代碼片段名…

【Java中級篇】動態代理機制

要想搞明白動態代理之前&#xff0c;我們先來了解一下代理是什么意思&#xff0c;先來談談設計模式中的代理模式。 什么是代理模式&#xff08;Proxy&#xff09; 定義&#xff1a;給目標對象提供一個代理對象&#xff0c;并由代理對象控制對目標對象的引用。 在代理模式中&…

二維分類教案_幼兒園中班數學教案中班數學教案二維排序——師樂匯幼兒教師教育網...

中班數學教案&#xff1a;二維排序一、活動目標&#xff1a;1. 在分類的基礎上初步運用二維排列表進行物品放置。2. 通過場景設置、溫故知新由易到難的課程安排&#xff0c;幼兒能積極參與大膽表達并且根據表格來進行物品放置。3&#xff0e;在生活化的情境中體驗學習數學活動的…

【JAVA基礎篇】String類詳解

昨天參加了一場機試&#xff0c;發現自己居然對String類的api不熟了&#xff0c;所以今天來總結一下&#xff08;基于JDK1.8&#xff09;。 1、父類和實現的接口 沒有父類&#xff0c;或者說父類是Object 接口&#xff1a;Serializable、Comparable<String>、CharSequ…