當前位置:首頁 » 編程語言 » javalongtolong

javalongtolong

發布時間: 2023-08-08 08:44:34

java中如何把Integer轉換成Long

可以使用Long包裝類的方法來進行轉換,代碼如下:

Integerfloatee;//定義一個Integer類
floatee=Long.valueOf(floatstr);//valueof方法可以在內部把Integer轉換成Long類型。
Long型的表示數據范圍比int類型打,所以可以進行轉換。

❷ Java中的Long和Double類型

Java中的原子操作包括:
1)除long和double之外的基本類型的賦值操作

2)所有引用reference的賦值操作

3)java.concurrent.Atomic.* 包中所有類的一切操作。

但是java對long和double的賦值操作是非原子操作!!long和double佔用的位元組數都是8,也就是64bits。在32位操作系統上對64位的數據的讀寫要分兩步完成,每一步取32位數據。這樣對double和long的賦值操作就會有問題:如果有兩個線程同時寫一個變數內存,一個進程寫低32位,而另一個寫高32位,這樣將導致獲取的64位數據是失效的數據。因此需要使用volatile關鍵字來防止此類現象。volatile本身不保證獲取和設置操作的原子性,僅僅保持修改的可見性。但是java的內存模型保證聲明為volatile的long和double變數的get和set操作是原子的。(from
http://www.iteye.com/topic/213794)

舉個例子來說:(example is from
http://stackoverflow.com/questions/17481153/long-and-double-assignments-are-not-atomic-how-does-it-matter)

public class UnatomicLong implements Runnable {

private static long test = 0;

private final long val;

public UnatomicLong(long val) {

this.val = val;

}

@Override

public void run() {

while (!Thread.interrupted()) {

test = val;
//兩個線程都試圖將自己的私有變數val賦值給類私有靜態變數test

}

}

public static void main(String[] args) {

Thread t1 = new Thread(new
UnatomicLong(-1));

Thread t2 = new Thread(new
UnatomicLong(0));

System.out.println(Long.toBinaryString(-1));

System.out.println(pad(Long.toBinaryString(0),
64));

t1.start();

t2.start();

long val;

while ((val = test) == -1
|| val == 0) {

//如果靜態成員test的值是-1或0,說明兩個線程操作沒有交叉

}

System.out.println(pad(Long.toBinaryString(val), 64));

System.out.println(val);

t1.interrupt();

t2.interrupt();

}

// prepend 0s to the string to make it the target
length

private static String pad(String s, int targetLength) {

int n = targetLength - s.length();

for (int x = 0; x < n; x++) {

s = "0" + s;

}

return s;

}

}

❸ Java中的強制類型轉換是如何轉換的

java中數據類型的強制轉換是通過強制轉換語句完成的,強制轉換語句的格式為「目標數據類型 變數 = (目標數據類型) 數據;」。下面給出例子:

1、定義兩個位元組數據類型a、b、c,分別賦予1和2和a+b的值,進行加法運算的式子a+b=3,得出的結果「3」將會被編譯環境判定為整形數據,把這個整形數據賦值給c,系統將會報錯,這樣就需要用到格式為「目標數據類型 變數 = (目標數據類型) 數據;」的強制轉換語句。

2、根據強制轉換語句的格式,易得「byte c = (byte)(a+b);」;

3、這樣就把整形數據的「3」賦值給位元組數據類型的c了,其中完成數據的強制類型轉換。

(3)javalongtolong擴展閱讀:

基本類型 轉換原則:

1、類型轉換主要在在賦值、方法調用、算術運算三種情況下發生。

a、賦值和方法調用 轉換規則:從低位類型到高位類型自動轉換;從高位類型到低位類型需要強制類型轉換:

(1)布爾型和其它基本數據類型之間不能相互轉換;

(2)byte型可以轉換為short、int、、long、float和double;

(3)short可轉換為int、long、float和double;

(4)char可轉換為int、long、float和double;

(5)int可轉換為long、float和double;

(6)long可轉換為float和double;

(7)float可轉換為double;

b、算術運算 中的類型轉換:

1、基本就是先轉換為高位數據類型,再參加運算,結果也是最高位的數據類型;

2、byte short char運算會轉換為Int;

(1)如操作數之一為double,則另一個操作數先被轉化為double,再參與算術運算。

(2)如兩操作數均不為double,當操作數之一為float,則另一操作數先被轉換為float,再參與運算。

(3)如兩操作數均不為double或float,當操作數之一為long,、則另一操作數先被轉換為long,再參與算術運算。

(4)如兩操作數均不為double、float或long,則兩操作數先被轉換為int,再參與運算。

特殊:

(1)如採用+=、*=等縮略形式的運算符,系統會自動強制將運算結果轉換為目標變數的類型。

(2) 當運算符為自動遞增運算符(++)或自動遞減運算符(--)時,如果操作數為byte,short或char類型不發生改變;

❹ java中怎樣把long類型轉換成Long類型最好給一個程序 long l = 8l; Long ll = new Long(l);

public class LongToLong {
public static void print(Long l) {
System.out.println(l);
}

public static void main(String[] args) {
print(213L);
}

}

❺ java 中怎樣將 bytes 轉換為 long 類型

方法有以下三種:

1、不藉助其他任何已經有的類,直接進行轉換。

2、藉助java.nio.ByteBuffer實現,只要將byte[]轉換為ByteBuffer就可以實現所有primitive類型的數據讀取。

3、藉助java.io.DataInputStream實現,只要將byte[]轉換為DataInputStream就可以實現所有primitive類型的數據讀取。

❻ 在JAVA中把double類型轉換成long類型,丟失數據位是什麼,為什麼

double是浮點型,long是整數型,以上語句轉換時小數部分沒有了,這就是丟失。javadouble轉long型是取整運算,用Double封裝下基本類型double,再調用longValue方法。Double(doublevalue)

longlongValue(),將此Double值作為long類型返回(通過強制轉換為long類型),詳細步驟:

1、首先在visualstudio中用c#語言進行類型轉換,新建項目命名"longdouble",項目結構圖如下。

❼ 將java怎麼將long類型的時間轉換成年月日的形式

用java代碼實現:

public static String longToDate(long lo){

Date date = new Date(lo);

SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return sd.format(date);

}

資料拓展:

長整型(long)是計算機程序語言,是程序設計中數據類型的一種表現方式,一般情況下用long 表示長整型。 long 有符號64位整數,范圍是-2^63-2^63 -1 Int64。

❽ java中 求一個把Long型IP 轉換成String的方法

//ip long to String
public String iplongToIp(long ipaddress) {
StringBuffer sb = new StringBuffer("");
sb.append(String.valueOf((ipaddress >>> 24)));
sb.append(".");
sb.append(String.valueOf((ipaddress & 0x00FFFFFF) >>> 16));
sb.append(".");
sb.append(String.valueOf((ipaddress & 0x0000FFFF) >>> 8));
sb.append(".");
sb.append(String.valueOf((ipaddress & 0x000000FF)));
return sb.toString();
}

//string ip to long
public long ipStrToLong(String ipaddress) {
long[] ip = new long[4];
int position1 = ipaddress.indexOf(".");
int position2 = ipaddress.indexOf(".", position1 + 1);
int position3 = ipaddress.indexOf(".", position2 + 1);
ip[0] = Long.parseLong(ipaddress.substring(0, position1));
ip[1] = Long.parseLong(ipaddress.substring(position1+1, position2));
ip[2] = Long.parseLong(ipaddress.substring(position2+1, position3));
ip[3] = Long.parseLong(ipaddress.substring(position3+1));
return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
}

//希望能幫助你

❾ java中長整型定義

java整型有四種分貝是:byte(1位元組)、short(2位元組)、int(4位元組)、long(8位元組)

0x100080000000超出范圍,其實不是long不能保存這么大,而是這個數是個int型數。它超出的其實是int的范圍(The literal 0x100080000000 of type int is out of range),在整數賦值時。

可以將賦值語言修改如下,指定它的類型為long型就可以了:

long y=0x100080000000l;//

(9)javalongtolong擴展閱讀

java整形與長整型之間的轉換可以藉助Long類或字串

1、藉助Long類:

int new_a = new Long(a).intValue();

2、藉助字串:

int new_a = Integer.parseInt(String.valueOf(y));

java整形、長整型、浮點型 邊界值:

int型邊界最大值:Integer.MAX_VALUE

int型邊界最小值:Integer.MIN_VALUE

long型邊界最大值:Long.MAX_VALUE

long型邊界最小值:Long.MIN_VALUE

float型邊界最大值:Float.MAX_VALUE

float型邊界最小值:Float.MIN_VALUE


熱點內容
bi可視化php 發布:2025-02-06 13:50:15 瀏覽:929
shell寫腳本文件 發布:2025-02-06 13:47:32 瀏覽:229
健身器材腳本 發布:2025-02-06 13:46:36 瀏覽:853
怎麼從手機里卸載存儲卡 發布:2025-02-06 13:35:04 瀏覽:641
誅仙青雲志2ftp 發布:2025-02-06 13:34:48 瀏覽:31
mill91編程 發布:2025-02-06 13:10:27 瀏覽:291
華為平板怎麼儲存伺服器文件 發布:2025-02-06 12:49:21 瀏覽:481
php查詢結果數組 發布:2025-02-06 12:31:05 瀏覽:717
怎樣把照片壓縮打包 發布:2025-02-06 12:15:19 瀏覽:498
如何編譯java文件 發布:2025-02-06 12:05:58 瀏覽:237