⑴ 有關java中Int數值運算的int a =(int)str.charAt(0)與int a = Integer.parseInt(str.charAt(0)+"")的區別
因為int a=(int)str.charAt(0)得到的a不是等於1,而是等於1的ASCII碼
Integer.parseInt是常用的向int轉換的函數
⑵ java int計算問題
首先你要明白什麼是二進制,在計算機里存儲的數據都是用二進製表示的,也就是0和1,int有正負,首位如果是 0,就是正的,1 就是負的。Java 中的 int 總共就 32 位,正數上限的情況首位也只能是 0,其他位都可以是 1(就是 2^31-1 的情況)。但是如果正數過大了,例如 2^31,計算機把首位變成 1。
http://blog.csdn.net/snipps/article/details/5408651看看這個,講的比較明白
⑶ java中double和int類型可以相加嗎
可以。多個double類型的數直接相加的時候,可能存在精度誤差.( 由於計算機演算法以及硬體環境決定只能識別 0 1。
計算機默認的計算結果在都在一個指定精度范圍之內,想往深的了解,可以學習數值分析等) 在金融方面是絕對不允許的,好在java開發者有這個先見之明。
自動轉換
一個 int 類型變數和一個 byte 類型變數進行加法運算, 結果會是什麼數據類型?
int i = 1;
byte b = 2;
運算結果,變數的類型將是 int 類型,這就是出現了數據類型的自動類型轉換現象。
自動轉換:將 取值范圍小的類型 自動提升為 取值范圍大的類型 。
public static void main(String[] args) {
int i = 1;
byte b = 2;
// byte x = b + i; // 報錯
//int類型和byte類型運算,結果是int類型
int j = b + i;
System.out.println(j);
}
⑷ java里int類型和char類型的運算原理
這種簡單運算還要什麼原理?
⑸ java中兩個int類型的數據不能進行或運算嗎
publicclassOrTest{
publicstaticvoidmain(String[]args){
inta=8,b=2;
System.err.println("與運算: "+(a&b));
System.err.println("或運算: "+(a|b));
System.err.println("非運算: "+(~a));
System.err.println("按位左移: "+(a<<b));
System.err.println("按位右移: "+(a>>b));
System.err.println("異或運算: "+(a^b));
}
}
⑹ java int double 加減法 基本類型運算問題
1.-2.8421709430404007E-14表示-2.8421709430404007乘以10的-14次方,計算機能准確表示十進制的整數,但不能准確表示十進制小數。System.out.println(150.0+0+183.28-0-183.28-150.0);150.0+0+183.28-0-183.28-150.0的結果為0.00000000000...,只不過你的輸出結果為double型,精度比較高,沒有超出列印函數(println之類的)的默認精度而已。
2.System.out.println(((150.00)+0.00+(183.28))-(0.00+(183.28)+(150.00)));中將((150.00)+0.00+(183.28))作為個運算單元,二個括弧內的運算的結果肯定一樣,與精度無關。結果當然為0。
3.用System.out.println((long)(150.0+0+183.28-0-183.28-150.0));(150.0+0+183.28-0-183.28-150.0)的結果為0.00000000...,轉換成long,舍棄小數位,結果自然為0;
4.System.out.println(150.0F+0+183.28F-0-183.28F-150.0F); 運算結果為float型,超出列印函數(println之類的)的默認精度,截取下來為0。
不知道解釋的你滿意不?
⑺ java中的int的取值范圍如何計算
1、java中int的取值范圍為-2147483648到+-2147483648。
2、首先jdk中定義int佔4個位元組32位,32位就是jvm僅僅給分配32個格子的空間,用以存放數據。
3、計算機中用0和1存放數據。那麼,32個格子中放滿0或1的方法,有2的32次方種。
4、但是java中int有正負之分,所以32個格子中佔用一個格子標識正負,僅僅能用31個格子來標識數值。最後int能標識的最大/最小數字是:2的31次方即+/-2147483648。取值范圍即為二者之間。
(7)javaint運算擴展閱讀:
一位元組表示八位,即:1byte = 8 bit;
int: 4byte = 32 bit 有符號signed范圍:2^31-1 ~ -2^31即:2147483647 ~ -2147483648無符號unsigned范圍:2^32-1 ~ 0即:4294967295 ~ 0
long: 4 byte = 32 bit 同int型
double: 8 byte = 64 bit 范圍:1.79769e+308 ~ 2.22507e-308
long double: 12 byte = 96 bit 范圍: 1.18973e+4932 ~ 3.3621e-4932
float: 4 byte = 32 bit 范圍: 3.40282e+038 ~ 1.17549e-038
⑻ java的int的兩個類型相除,結果怎麼取捨
Java中有除法運算(/)和取余運算(%)。
如果是兩個int相除,取整除部分,忽略余數;
如果是兩個int取余,取余數部分,忽略整除。
如:
publicstaticvoidmain(String[]args){
intm=5;
intn=2;
System.out.println("整除:"+(m/n));//結果為2
System.out.println("取余:"+(m%n));//結果為1
}
⑼ 關於java的int 數據計算。
這個其實就是先賦值後自加的問題,你換成int a,b,c;a=i++;b=i++;c=i++; count=a+b+c;然後把abc都列印出來就可以看到。加不加括弧結果都一樣但最後c的值才是5,但是賦值完後i還要自加所以是6.
⑽ java中int的用法
如果只是 d = 0肯定報錯的,因為你沒有指定類型
如果先寫了int d = 0,再寫 d = 0是沒錯的,因為前面已經聲明過,後面的意思是改變其值