java中i++与++i知识点

一、中间缓存变量机制
1.下列程序输出结果是
public class Test4 {
public static void main(String[] args) {
int j = 0;
for(int i =0;i<100;i++)
{
j=j++;
}
System.out.println(j);
}
}
结果为 j=0
Java用了中间缓存变量机制,所以 j= j++ 可换成如下写法:
Temp = j;
j = j+1;
j= temp

2.假如”int a =5,b =3;”,则执行”if(!(ab)&&(a1+b++)){}”后a和b的值分别是多少?
a = 5 ,b =4。

二、i++与++i详解

	 System.out.println("i、j一个数的情况");
	 int i = 0;
	 i = i++;
	 System.out.println("i++ ="+i);
	 int j = 0;
	 j = ++j;
	 System.out.println("++j ="+j);
	 System.out.println("A两个数的情况");
 	 int A =0;
	 A  = ++A + A++;
	 System.out.println("++A + A++ ="+A);
	 int A1 = 0;
	 A1 = ++A1 + ++A1;
	 System.out.println("++A1 + ++A1 ="+A1);
	 int A2 =0;
	 A2 = A2++ + A2++;
	 System.out.println("A2++ + A2++ ="+A2);
	 System.out.println("B三个数的情况");
	 int B = 0;
     B = B++ + ++B + B++;
     System.out.println("B++ + ++B + B++="+B);
     int B1=0;
     B1 = B1++ + B1++ + B1++;
     System.out.println("B1++ + B1++ + B1++ ="+B1);
   	  int B2 =0;
     B2 = ++B2 + ++B2 + ++B2;
     System.out.println("++B2 + ++B2 + ++B2 ="+B2);
     System.out.println("推导");
     int C = 0;
     C = ++C + ++C + ++C + ++C;
     System.out.println("C = ++C + ++C + ++C + ++C ="+C);
     int D = 0;
     D = D++ + D++ + D++ +D++;
     System.out.println("D++ + D++ + D++ + D++ ="+D);

运行结果如下图

在这里插入图片描述
解析:
i++和++i使用的不同点在于一个是程序完毕后自增,一个是程序开始前自增。
在这里插入图片描述
如果是j++在式子最后一个的话,总的全体程序结束后才用到,所以相当于最后一个(j++),
保持前一个的值,对式子的总结果没影响。
总结后一项在前一项的基础上加1。++I 与i++就根据实际进行增加。
三、面试题
下列代码的执行结果是多少?

public class Test5 {
public static void main(String[] args) {
	int i = 0;
	i = i++ + ++i;
	int j = 0;
	j=++j + j++ + j++ +j++;
	int  k=0;
	k= k++ + k++ +k++ + ++k;
	int h = 0;
	h = ++h + ++h;
	int p1 =0,p2=0; int q1=0,q2=0;
	q1=++p1;
	q2=p2++;
	System.out.println("i="+i);
	System.out.println("j="+j);
	System.out.println("k="+k);
	System.out.println("h="+h);
	System.out.println("p1="+p1);
	System.out.println("p2="+p2);
	System.out.println("q1="+q1);
	System.out.println("q2="+q2);	
}
}

运行结果如下图所示
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值