Ⅰ java中int i=20 1<<i是什麼功能
<<, >>都是移位操作符,是作二進制移位的有符號左移和右移。
操作符的前後都要求是整型(byte, short, int, long),左邊操作數表示被移位的整數,右邊操作數表示移位的位數(注意,整型數的最高位是符號位,0表示正數,1表示負數,有符號移位表示移動時考慮符號,因此移位時有可能會溢出,而且這個移位是循環的,也就是說移到該類型的最高位再移一位就跑到最低位,比如int是32位,1<<32得到的還是1, 1<<31得到int能表示的最大負數)。
計算機內部使用2進製表示數字的,1<<i,就是把二進制整數1左移20位,表示成十進制實際上是2^20,等於1048576。
樓主可以運行以下程序實驗:
public class test1 {
public static void main(String[] args) {
int i=20;
int ii=1<<i;
System.out.println(ii);
System.out.println((int)Math.pow(2, 20));
}
}
Ⅱ java中i+=i-=i*=i的運行結果
這個等式要等同於i=i+i+(i=4);
因為在java中變數要初始化所以前面應該有給i賦值的語句
public
static
void
main(sting[]
args)
{
int
i=0;
i+=i+(i=4);
system.out.print(i);
}
如果i=0就是i=0+0+(4),如果i=1就是i=1+1+(4),這下應該清楚了吧
Ⅲ java中,+i+是什麼意思
您好,提問者:
我們還是結合程序來看一下吧。
int i = 0;
System.out.println(+i+","); //這里一個+號是連接i的意思,輸出0,
System.out.println(++i+",");//這里的兩個++i是把i先++,之後再連接, 輸出1,
System.out.println(","++i); //這里字元串,在前,這樣JVM就會把後面的也當成字元串,報錯
Ⅳ java中(--i + i + i++)
後自增操作符即i++返回的是將操作數原來的、未修改的值作為表達式的結果值; 例如
i=0; j=i++(此時i還沒有自增); 執行到這里的時候 j=0,i=1
前自增操作符即++i返回的是將修改後的的操作數的值作為表達式的結果值。
i=0; j=++i(i先進行自增); 執行到這里的時候 j=1,i=1
自減 i-- 和 --i 的原理跟自增一樣的
這題中 先進性了--i 運算,i值變為-1,故後面的幾個i值都為-1
結果為-3, 最後有個i++的操作,i會自增為0 ,
但不影響(--i + i + i++) 裡面i的取值
System.out.println(--i + i + ++i); 這樣是-1
稍微復雜點的是這樣的例子,你可以試試,比較容易理解++的原理
i=0,j=0;
i=i++ + ++i;
j=++j+j++ +j++ +j++
Ⅳ Java 中 i-- 和 --i 的實際應用
你這兩段代碼執行結果沒有任何區別,--i和i--的區別我寫個例子你看一下估計就明白了:
inti=10,a,b;
System.out.println("i="+i);
a=i--;
System.out.println("執行a=i--;//i="+i+",a="+a);
b=--i;
System.out.println("執行b=--i;//i="+i+",b="+b);
結果如下:
i=10
執行a=i--;//i=9,a=10
執行b=--i;//i=8,b=8
Ⅵ java語言中i--和--i有什麼區別
後置加加是先參與其餘運算,然後自己加1,前置是反的
Ⅶ java中a[i]=i什麼意識
a[i]是一個數組, i 是一個變數,意思是把 i 這個變數的值賦給 a 這個數組中的第 i 個元素
Ⅷ java中*=是什麼意思比如:i*=n
轉義序列符的意思。
Ⅸ java 中+i+ 是什麼意思
如果前面就一個加號的話代表的是連接符,後面一個加號的話,也代表的是連接符。
如果是」i++「和」++i「是有一定意義的。
解釋:
」i++「表示獲取到i的值,之後進行加1操作(直接先賦值i,之後在加1)。
「++i」表示的先對i的值進行加1,自後在賦值給新值(先加1,之後再進行賦值)。