java基本資料型別之間的轉換

2021-07-30 04:31:58 字數 2630 閱讀 9085

今天要討論的是基本資料型別之間的轉換

先說數值型的轉換方式,分為兩種

1、直接轉換

先來說個例子:500毫公升的礦泉水與5公升的桶裝水,你將礦泉水瓶裡面的水倒進空的桶裝水桶裡面,是不是可以裝下沒有問題

這個就是直接轉換,小容量往大容量賦值

例如

int a = 100;

long b = a;

float c = 3.14f;

double d = c;

2、強制轉換

但是反過來,你將一整桶桶裝水灌進礦泉水瓶裡面,能裝完不會漏?不可能吧,肯定會溢位來,因為兩者之間的容量有著天壤之別。

那要怎麼強制轉換?

例如

long b = 10000l;

int a = (int)b;

float c = 3.14f;

int d = (int)c;//這個時候d為3,後面的0.14丟了

這個就是強制轉換,大容量往小容量賦值,這個時候肯定是只能轉一部分,也就是所謂的損失精度

要轉換,必要先知道哪個大哪個小吧

byte       1個位元組  2個位元組   4個位元組             4個位元組    8個位元組  8個位元組

什麼是4個位元組、8個位元組?就是在記憶體中開闢空間的大小,可以理解為容量,乙個杯子就只能裝300毫公升水,你可以裝200毫公升或者100毫公升,但是不可以超過300,這個就是容量限制,同理,1個int值是有最大值的,有容量限制的,超過了,只能換個容器,比如轉為long

錯誤的例子

float

b = 1f;

int

a =b;

long

b = 1;

int

a =b;

double

b = 1;

long

a =b;

那麼數值型與布林型如何轉換?

boolean

a =

true

;double

b =(

double

)a;

long

c =(

long

)a;

這個也是錯誤的,不能強轉,因為兩者不是同乙個東西,不可以直接轉換,只能說true是1,false是0。

字元型與數值型的轉換

字元轉數值:

string b =

"10";

long

c = long.

parselong

(b);

int

d = integer.

parseint

(b);

double

f = double.

parsedouble

(b);

數值轉字元:

int

a = 10;

string b = a+

"";

string e = string.

valueof

(a);

char轉string:

char

i =

'a';

string

j = i+

"";

string

k = character.

tostring

(i);

string轉char:

string l =

"abcdefg"

;

char

n = l.charat(5);

//從0開始,5代表字串中的第6個字元,即f

char

m = l.tochararray();

//返回乙個字元陣列

Java基本資料型別之間的轉換

我們在平時開發過程中經常會處理到不同型別直接相互轉換的情況,深入了解他們的關係十分重要。我們首先以byte型別為例 public class datatypechangetest public static void main string args 測試基本資料型別與byte之間轉換關係 1.by...

Java 基本資料型別之間的轉換

一 資料型別 1.布林型 boolean true false,不可以以0或非0的數字代替 不能進行資料之間的轉換。2.整數型別 整型預設為int型,而long型別表示的範圍要超出int表數範圍,所以,宣告long型別時,常量後要加l l 如 long l1 12345678 數值在int範圍之內,...

java 的基本資料型別之間的轉換

1 所佔位數少的可以轉換為所佔位數多的型別,比如byte轉char,char轉int等 2 而所佔位數多的轉為所佔位數少的預設情況下不能實現轉換,需要強制型別轉換,這樣可能會丟失一部分原始資料 3 此外,boolean型別資料和其他七種不能互相轉換。which lines of the follow...