Java基礎知識-基本資料型別相互轉型
這是我第一次系統性的總結java這門語言的基礎知識用法,因本人經驗有限,所以在總結的過程中如果有錯誤或者有歧義等等之類的問題,都可以聯絡我QQ:208017534 不甚感激.
今天給大家介紹的是java中基本資料型別是如何進行相互轉換的。在介紹基本資料型別轉換之前,先給大家介紹一下什麼叫做基本資料型別:java中資料型別分為兩種:1.基本資料型別、2.引用資料型別基本資料型別大致可以分為4種八類
4種:整型、浮點型、字元型和布林型
八類:整型(byte、short、int、long)預設型別為int型別、浮點型(float、double) 預設型別為double型別、字元型(char)、布林型(boolean)
基本資料型別各個型別的取值範圍(其中大小指在儲存過程中需要佔的二進位制位)
這一章節先不討論什麼是陣列,類,介面,封裝等等之類的,我會在後面幾個章節中著重介紹的。1.首先先來介紹一下byte的轉型方法,下面看程式碼:引用資料型別:引用資料型別包括陣列、類和介面
2.short型別的轉換方法和byte類似,如果直接在short型別上進行相互運算就會發生編譯不通過的情形了。下面看具體例子://byte注意事項 byte欄位在進行運算的時候發生轉型, // 這個時候不能再將byte運算結果直接賦值給byte欄位了,需要強制型別轉換才可以。 byte b1=1; byte b2=2; // byte b3=b1+b2;//編譯不通過 byte b4=(byte)(b1+b2); int i1=10; // byte b5=i1;//編譯不通過 byte b6=20; int i2=b6; System.out.println("i2:"+i2);
//short注意事項 short欄位在進行運算的時候發生轉型,
// 這個時候不能再將short運算結果直接賦值給short欄位了,需要強制型別轉換才可以。
short s1=1;
short s2=2;
// short s3=s1+s2;//編譯不通過
short s4=(short)(s1+s2);
3.long型別的轉換就完全可以互相運算了,下面看具體例子:4.並不是所有的型別都可以互相轉換的,有些型別差別太大轉換會編譯不通過或者執行出錯的。下面看看具體案例:long l1=1; long l2=2; long l3=l1+l2; long l4=1+2;
//範圍大的轉為範圍小的可以不需要強制型別轉換就可以完成,
//反之範圍小的轉換為範圍大,因為會發生精度損失,所以必須要強制型別轉換才可以,否則編譯不通過。
//但是型別之間轉換也是要看欄位屬性是否相同,例如:int和double就可以進行互相轉換,可是int和String就不可以了。
String str="str";
// int i=(int)str;//編譯不通過
//這裡有個特例就是Object的強制型別轉換,因為Object是一個高度抽象的型別,所以可以強制轉換為各種型別,
//編譯都可以通過的,可是如果型別不符合,在執行的時候會發生錯誤。
Object o="str";
int i=(int)o;
5.數字字串又該如何轉型為相應的資料型別呢,下面看具體案例的介紹: //如果字串是數字型別的資料,又該怎麼進行轉換呢?
int i=Integer.valueOf("1");
float f=Float.valueOf("1.1");
double d=Double.valueOf("1.23");
//如果數字型別想轉為字串,又改如何進行轉換呢?
String strI=String.valueOf(1);
String strf=String.valueOf(1.0f);
String strd=String.valueOf(1.22d);
//還有一種更加堅簡單的方法是
String strIi=1+"";
String strff=1.0f+"";
String strDd=1.23d+"";
6.型別轉換過程中精度損失具體是損失哪些?下面看具體案例介紹: //強制型別轉換的過程中,精度是如何進行損失的?小的資料量型別往大的轉型又是如何擴大精度的呀?
int i = 1;
float f1 = 1.3f;
float f2 = 1.7f;
double d1 = 1.4d;
double d2 = 1.8d;
double d3 = 2.0;
int i1 = (int) f1;
int i2 = (int) f2;
int i3 = (int) d1;
int i4 = (int) d2;
int i5 = (int) d3;
float ff1 = i;
float ff2 = (float) d1;
double dd1 = i;
double dd2 = f1;
System.out.println("i1:" + i1);
System.out.println("i2:" + i2);
System.out.println("i3:" + i3);
System.out.println("i4:" + i4);
System.out.println("i4:" + i4);
System.out.println("ff1:" + ff1);
System.out.println("ff2:" + ff2);
System.out.println("dd1:" + dd1);
System.out.println("dd2:" + dd2);
//從結果可以看出在轉型的過程中如果是int型別的話,在轉化為float或者double都是變成(數值.0)的存在。
//如果是float或者double轉換為int的時候都是浮點型前面的整數部分給int,浮點型小樹後面的精度損失掉了。
//如果是float和double進行互相轉換的話就會發生很奇怪的事情,就是例如1.3f變成1.2999999523162842d了
//所有最好不要再float和double型別上面直接進行互相轉換,如果想要原值轉換最好是利用字串來進行轉換。
//例如下面將給出的這個例子:
float f=1.23f;
double dd11,dd22;
String strF=f+"";
dd11=Double.valueOf(strF);
dd22=f;
System.out.println("f:"+f);
System.out.println("dd11:"+dd11);
System.out.println("dd22:"+dd22);
7.字元和其他資料型別轉換過程是如何進行的呢?下面看看具體案例介紹: //型別轉換時有字元型參與運算
// 當有字元參與運算時,系統首先回去找對應的ASCII碼值,然後在參與運算 如 ‘a’ + 6 = 103
// 注意:int型別是可以賦值給char型別的 如 char a = (char) 97;
char c=(char)97;
int i='a';
System.out.println("c:"+c);
System.out.println("i"+i);
ASCII碼錶:
今天關於基本型別的轉換問題就介紹到這裡,因為本人經驗有限,沒辦法介紹的很完全,所以只能挑我日常經常使用的部分給大家做介紹。如果大家對文章有什麼問題或者疑意之類的,可以加我訂閱號在上面留言,訂閱號上面我會定期更新最新部落格。如果嫌麻煩可以直接加我wechat:lzqcode
相關推薦
Java基礎知識-基本資料型別相互轉型
這是我第一次系統性的總結java這門語言的基礎知識用法,因本人經驗有限,所以在總結的過程中如果有錯誤或者有歧義等等之類的問題,都可以聯絡我QQ:208017534 不甚感激.今天給大家介紹的是java中
Java基礎之基本資料型別到底是幾種?
如果連基本資料型別都不知道,恐怕是還沒入門。當然,有些人不去記,肯定不知道。就知道常用的有 int。其他,沒了。 此文只是說明 基本資料型別有幾種?具體 區別 另行檢視其它文章。 基本資料型別到底有幾種? 7種? 在我的腦海中,好多人還以為常用的基本型別有7種,當
java基礎之----基本資料型別和引用資料型別的引數傳遞過程(一)
值傳遞:方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際引數的值。 引用傳遞:也稱為傳地址。方法呼叫時,實際引數的引用(地址,而不是引數的值)被傳遞給方法中相對應的形式引數,在方法執行中,對形式引數的操作實際上就是對實際引
Java基礎之基本資料型別、封裝型別
基本資料型別有4類8種: byte、short、int、long、float、double、boolean、char (在棧中可以直接分配記憶體的資料是基本資料型別)(除此之外都是引用資料型別:資料的
javase基礎知識(一):java簡介和基本資料型別
byte age = 21;//定義資料型別為byte的變數age,並給其賦值為21. short num = 5;//定義資料型別為short的變數num,並給其賦值為5. int age = 22;//定義資料型別為int的變數age,並給其賦值為22. long money = 10000L; //定義
Java 基本資料型別 相互轉換
int -> String String s=String.valueOf(12345); String -> int int i=Integer.parseInt("123"); String->char "12345".charAt(index) 返回位
Java String和基本資料型別的相互轉換
1.String->基本資料型別 int:Integer.parseInt(Str) double:Double.parseDouble(Str) float:Float.parseFloat(Str) byte:Byte.parseByte(Str) long:Long.
Java基礎學習總結(122)——Java八種基本資料型別的包裝類及其裝箱拆箱詳解
一、基本資料型別及對應的包裝類基本資料型別對應的包裝類byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean每個包裝類的物件可以封裝一個相應的基本型別的資料,並提供了其它一些有用的方法。包裝類物
Java初認識--基本資料型別(int 和byte之間賦值)預設值 型別強轉
主類和主方法 Test.java–是原始檔,原始檔必須與主類名(public class )保持一致,一個原始檔只能有一個主類 ,主方法存在與主類中。 Test.java 原始檔 主類:public class Test 主方法 : public static void main(Strin
java中的基本資料型別轉換
1.java中的基本資料型別轉換 java基本資料型別的轉換是需要兩個基本事項: 1.boolean型不進行型別轉換。 2.Java中基本資料型別按精度從“低”到“高”排列順序 byte short char int&
java在處理基本資料型別加減乘除操作注意
1.int /int 得到的結果轉double 舉例: int a=1; int b=2; double d=a/b 上面結果通常認為是0.5 ,但結果是0.0;正確的是: int a=1; int b=2; double d=(double)a/b 2. do
Python學習之路——Python基礎之基本資料型別(列表、元組和字典)
基本資料型別 數字 字串 列表 list 元組 tuple 字典 dict 布林值 bool 列表和元組 列表:有序,元素可以被修改元組: 書寫格式:元組的一級元素不可被修改,不能被增加或者刪除,一般寫元租的時候,推薦在最後加入',' 索引:v =
Python學習之路——Python基礎之基本資料型別
基本資料型別 數字 字串 列表 list 元祖 tuple 字典 dict 布林值 bool ×××的魔法 數字 將字串轉換為數字:int a = "123" print(type(a),a) b = int(a) print(type(b),b) n
Java中的基本資料型別、型別轉換規則(自動、強制)、原反補碼、使用者自定義識別符號
基本資料型別 資料型別指明瞭變數和表示式的狀態和行為。 基本資料型別 關鍵字 記憶體中佔用位元組數 取值範圍 布林型 boolean 1位元組(8bit)
Java中的基本資料型別和引用資料型別的區別
一、資料型別 Java中的資料型別分為兩大類,基本資料型別和引用資料型別。 1、基本資料型別 基本資料型別只有8種,可按照如下分類 ①整數型別:long、int、short、byte ②浮點型別:float、double ③字元型別:char ④布林型別:boolean No.
java基礎----char等資料型別
1.先介紹其他幾個 (1)boolean型別取值true,false; (2)整數常量三種進位制:eg 142(十進位制) 0142(八進位制) 0x142(十六進位制) (3)基本資料型別轉
python 基礎 -03 基本資料型別(int, bool, str)
一 python的基礎資料型別 1. int ==> 整數. 主要⽤來進⾏數學運算 2. str ==> 字串, 可以儲存少量資料並進⾏相應的操作 3. bool==>判斷真假, True, False 4. list=
Java種的基本資料型別轉換(自動、強制、提升)
Java種的8大基本資料型別,以及它們所佔記憶體大小和範圍 1、自動型別轉換 自動型別轉換是指:數字表示範圍小的資料型別可以自動轉換成範圍大的資料型別。 如: long l = 100; int i = 200; long ll = i; 具體自動轉換如如下圖所示:
基礎知識 各類資料型別方法
列表: 中括號括起來,分割每個元素列表中的元素可以是數字,字串,列表,布林值...列表中可以 巢狀任何型別可以通過 索引 切片 進行取值可以進行 while 迴圈 for迴圈可以用del刪除支援 in 操作 字串轉換為列表時,直接在字串前加str,字串中的每個字元將被當成列表中的獨立的元素。 而將列表轉化