随笔——java for循环

本人之前对for循环,只知道基本的用法,但是对具体的检查判断条件、变量改变的时机把握的不是很准,尤其是嵌套几层的时候,就更糊涂了,如果面试笔试的时候碰上类似的问题,如果答错就直接悲剧了。

所以特此记录一下,等以后又忘记的时候看看,可以节省很多时间,呵呵。

 

 

/**
 * initialize
 * judge
 * print value
 * grow
 * judge
 * print value
 * grow
 * judge
 * print value
 * grow
 * judge
 */
public class LoopTest1 {
	public static void main(String[] args) {
		for (int i = getInitValue(); judge(i); i = grow(i)) {
			System.out.println("print value");
		}
	}

	private static int grow(int i) {
		System.out.println("grow");
		return ++ i;
	}

	private static boolean judge(int i) {
		System.out.println("judge");
		return i < 3;
	}

	private static int getInitValue() {
		System.out.println("initialize");
		return 0;
	}
}

 总结:

1. i 变量的初始化只执行了一次

2. 第一次循环时,在完成变量初始化之后,进行判断,然后进入代码块

3. 第二次到最后一次循环之前,先改变变量的大小,然后进行判断,最后进入代码块

4. 最后一次循环,改变变量大小,之后判断为假,跳出循环

 

 

最后多说一句i++和++i的问题,这两条语句只要不是直接return,或者直接参与到其他的计算当中,起到的作用是等同的,不会有什么不同,即这两条语句对循环体起到的作用是相同的,不会有什么不同的影响,即两条语句在执行之后,变量i都增加了1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值