java數據類型的強制轉換及相關注意事項

2020-12-11 彼岸end

各位小夥伴們大家好,在上一篇文章中,小編介紹的是數據類型的自動轉換,這次小編要介紹的是數據類型的強制轉換。之前小編有講過,如果數據要進行自動類型轉換,就要符合從小到大的規則,如果不符合從小到大的規則,就無法進行自動類型轉換,如果這個時候就需要用到數據類型的強制轉換。

在強制類型轉換中,代碼要需要進行特殊的格式處理,不能自動完成。那麼這個特殊的格式處理是怎樣的呢?現在,小編來告訴大家,這個特殊的處理格式,範圍小的數據類型,範圍小的變量名=(範圍小的類型)原本範圍大的數據

為了方便大家的理解,小編就在這裡粘代碼吧。

//long-->int,不符合從小到大的規則

//格式:範圍小的類型 範圍小的變量名=(範圍小的類型)原本範圍大的數據;

int num=(int)100L;

System.out.println(num);

關於數據類型的強制轉換,小編就先說到這裡,大家只要按照格式來進行強制轉換就可以了。接下來小編要講的是強制類型轉換的一些注意事項

第一. 強制類型轉換一般不推薦使用,可能會導致精度損失,數據溢出

那麼,什麼是數據溢呢?為了方便大家的理解,小編畫一個圖,來表示一下。

數據溢出

//long強制轉換成int,輸出結果不一樣

int num2=(int)100000000000000L;//數據溢出

System.out.println(num2);

//double-->int

int num3=(int)3.56;//結果為3,精度損失

System.out.println(num3);

第二byte/short/char這三種類型都可以發生數學運算,如,加法「+」。

char zifu1='A';//字符變量,裡面的大寫字母A

System.out.println(zifu1+1);//A+1=66,運行結果

//A的二進位數字是65

//char類型進行加法運算時,會把字符當成一個數字來對待

第三. byte/short/char這三種數據類型在運算時,會被首先提升成int類型,然後計算。

byte數據類型

byte num4=40;//右側數值不可以超過左側數據類型的範圍

byte num5=50;

//byte+byte-->int+int-->int

//byte在運算時會被首先提升為int,所以在運算的時候就已經是一個int,前面需加一個int

int result1=num4+num5;

System.out.println(result1);

short數據類型

short num6=60;

//byte+byte-->int+int-->int

int result2=num4+num6;//int,同上

System.out.println(result2);

//int轉short

short num7=50;

//int也可以強制轉換為short,不過邏輯大小不可以超過short範圍,不然會發生數據溢出

short result3=(short)(num7+num6);

System.out.println(result3);

第四. Boolean類型不能發生數據類型轉換。

關於java當中數據類型的強制轉換還有相關注意事項,小編就先說到這裡,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充糾錯

相關焦點

  • java基礎案例之java語言組成和數據類型與強制類型轉換語法
    java數據類型定義變量格式:數據類型 變量名 =初始化值;例如:int x =4;java擁有不同類型運算時,會自動提升上一級類型。如:byte b=3;b=b+2; //前者b是byte類型,後者2是int類型。
  • 一起學JAVA——數據類型
    上一篇我們提到過,java是強數據類型語言,所有在定義變量和常量時必須指定數據類型。java到底支持哪些數據類型呢?類型轉換自動類型轉換(隱式轉換)賦值:把範圍小的數據類型變量賦值給範圍大的數據類型變量;大範圍的數據類型的變量 = 小範圍的數據類型的變量;
  • Java基礎學習:java中的基本數據類型
    二、案例用法 1、類型轉換 自動轉換:範圍小的數據類型可以自動轉換成範圍大的數據類型。 強制轉換:把一種數據類型轉換為另外一種數據類型。 類型提升:表達式運算中有不同的數據類型,類型會自動向範圍大的提升。
  • java數據類型的轉換之自動轉換
    各位小夥伴們大家好,這次,小編要介紹的是數據類型的轉換,之前小編有提到過一些基本的數據類型。什麼是數據類型轉換呢?就是數據類型不一樣的時候,將會發生一些數據類型的轉換,比如可以將int型轉換成long型。
  • JAVA定義變量和基礎的數據類型和關鍵字,詳解!
    >數據類型分類和轉換1)布爾基本數據類型中,布爾類型boolean佔有一個字節,由於其本身所代碼的特殊含義,boolean類型與其他基本類型不能進行類型的轉換(既不能進行自動類型的提升,也不能強制類型轉換), 否則,將編譯出錯。
  • 尚學堂知識整理:Java double數據類型
    double數據類型使用64位來存儲浮點數。double值也稱為雙精度浮點數。它可以表示一個最小為4.9 x 10^-324,最大為1.7 x 10^308的數字。它可以是正的或負的。注意:double數據類型定義了兩個零,兩個無窮大和一個NaN。 它們由Double類中的常量表示。下表列出了這些常量及其含義。
  • Java基本數據類型的簡單介紹
    各位小夥伴們大家好,這次小編要介紹的是java的基本數據類型,其實之前寫常量的時候,就已經提到了數據類型。數據類型主要分為兩種,一種是基本數據類型,第二種是引用數據類型。小編這次要介紹的是基本數據類型。
  • 「Java」基礎08:數據類型的轉換
    二、強制轉換前面我們將一個int類型的數據賦值給一個double類型,它會完成自動轉換。那反過來會怎麼樣?1.2默認是double數據類型,當把一個double數據類型的數據賦值給一個int類型時,編譯會報錯。
  • 傳智播客Java學科:03數據類型轉換的規則、原理圖和編碼表
    一、數據類型轉換在Java的程式設計師中是要求參與運算的數據類型都是保持一致的,如果有數據類型不一致的情況將會發生類型的轉換。自動轉換我們將一個int類型變量和一個byte類型變量進行加法的運算話,結果會是什麼樣的數據類型?
  • 尚學堂知識整理:Java float數據類型
    有兩種類型的浮點類型,float和double,分別表示單精度和雙精度數。它們的寬度和範圍如下所示:浮點數據類型浮點數據類型使用32位來存儲浮點數。浮點數也稱為單精度浮點數。所有以下浮點字面量表示相同的實數42.5:float數據類型定義兩個零:+0.0F(或0.0F)和-0.0F。 +0.0F和-0.0F都被認為是相等的。float數據類型定義了兩個無窮大:正無窮大和負無窮大。未定義浮點的一些操作的結果。 例如,將0.0F除以0.0F是不確定的。
  • Java基本數據類型與引用數據類型概述
    內存管理系統根據變量的類型為變量分配存儲空間,分配的空間只能用來儲存該類型數據。什麼是進位?進位是一種進位方法。 對於任何一種進位--X進位,就表示某一位置上的數運算時逢X進一位。以0x開頭 【16 = 10】注意:只有JDK1.7版本以上可以使用0b2 來表示二進位基本數據類型分類(4類8種)整數型:byte 佔一個字節 -2^7 ~ 2^7-1【-128~
  • 程式設計師必備知識 || Java數據類型轉換中「顯式類型轉換」技巧整理?
    ,必須使用顯式類型轉換運算(又稱為強制類型轉換)。語法如下:(類型名)要轉換的值下面通過幾種常見的顯式數據類型轉換實例來說明。例如:將不同的數據類型進行顯式類型轉換,實例代碼如下:int a = (int)45.23; //此時輸出a的值為45
  • 誰說C++ 的強制類型轉換很難懂?
    作者 | 櫻雨樓責編 | 屠敏在上篇與中篇中,我們討論了隱式類型轉換及其與函數重載之間的相關話題。本篇將要討論的即為類型轉換的另一大分支——強制類型轉換。C風格的強制類型轉換在C語言中,強制類型轉換存在兩種等價形式:Type(Value)或(Type)Value。
  • MSSQL類型轉換函數-強制類型轉換(STR、CONVERT、CAST、PARSE)
    轉換函數將值從一種數據類型轉換為另一種。在資料庫中很多時候需要把一個類型的數據轉換成另一個數據類型來進行運算或者輸出顯示,這種轉換有的時候可以隱士的轉換有的時候就需要強制類型轉換。在保證數據正確的情況下進行強制類型轉換。
  • Java基本數據類型
    華清遠見成都中心高端IT就業培訓專家java基本類型共有八種,基本類型可以分為三類,字符類型char,布爾類型boolean以及數值類型byte、short、int、long、float、double。
  • JavaScript數據類型轉換
    雖然變量的數據類型是不確定的,但是各種運算符對數據類型是有要求的。如果運算符發現,運算子的類型與預期不符,就會自動轉換類型。本文主要介紹數據類型強制轉換和自動轉換,自動轉換是基於強制轉換之上。強制轉換主要指使用Number、String和Boolean三個函數,手動將各種類型的值,分布轉換成數字、字符串或者布爾值。
  • (java基礎知識)學習目標
    【了解】知道java語言的發展史b. 【理解】JVM、JRE、JDK分別是什麼?有什麼作用?有什麼關係c. 【應用】能夠操作常用的DOS命令d. 【應用】獨立下載安裝JDKe.【理解】闡述注釋、關鍵字的作用及分類、特點【理解】常量、變量、數據類型、標識符a. 【理解】闡述常量的特點及分類b. 【理解】闡述變量的作用及定義格式c. 【理解】闡述數據類型分類d.
  • PHP丨PHP基礎知識之數據類型之間相互轉換
    昨天剛講完PHP基礎知識數據類型,今天就來講講PHP數據類型的轉換。轉換變量或者值的類型,轉換成其他數據類型的方法主要分為兩大類:自動轉換和強制轉換。偷偷地進行的數據類型轉換,這種轉換不需要程式設計師幹預,會自動發生。
  • 一文讀懂Java基本數據類型
    在Java中的數據類型,分為引用類型和基本數據類型。本文主要講解8種基本數據類型,引用類型將在面向對象中詳細講解。在8種基本數據類型中整型有4種:byte,short,int,long;浮點型有2種:float,double;字符型有1種:char;布爾型有一種:boolean。
  • 為什麼我們需要Java中的泛型類型?
    泛型類型在Java集合中廣泛使用。為什麼我們需要Java中的泛型類型?理解這個問題可以幫助我們更好地理解許多相關概念。在本文中,我將使用一個非常簡短的示例來說明Generic為什麼有用。1.當我們添加一個整數並將其強制轉換時,程序運行完全正常。但是,如果用戶不小心將字符串「 60」添加到其中,編譯器將不知道這是一個問題。程序運行時,將獲得ClassCastException。