Ⅰ 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,之后再进行赋值)。