Java学习ing(2)(循环):

#Java学习ing(2):

  • 循环:
    • while:
while(判断句);
输入:
	int i = 0;
	while (true)
		{System.out.println(++i);
		if (i ==5)
			break;}
输出:
	0
	1
	2
	3
	4
	5

    • for循环:
for ('起点(可省略)'';‘范围’;‘步长’)
输入:
	for(int i = 0; i<5;++i)
		{
		System.out.println(i)
		}
输出:
	5
	1
	2
	3
	4
  • 跳出循环:
    • break
输入:
	while 1:
		{System.out.println(++i);
		if (i ==5)
			break;
		}	
输出:
	1
	2
	3
	4
	5
    • continue
输入:
	while 1:
		{System.out.println(++i);
		if (i==4)
			continue;
		if (i == 5)
			break;
		}	
输出:
	1
	2
	3
	5
  • i++ 和 ++i的区别:
    • i++(a为一个临时设定的值):
      即:
i = a
i = i+1
    • ++i(a为一个临时设定的值)
      即:
i = i+1
a = i

另外,如果你们看上面的说法可能会认为,他们仅仅是过程不同,但是我最近在for循环中发现了一个事情

i++
输入:
	for (int i=0;i<10;i++)
			{System.out.println(i++);
			}

输出:
	0
	2
	4
	6
	8
++i
输入:
	for (int i=0;i<10;++i)
		{System.out.println(++i);
		}
输出:
	1
	3
	5
	7
	9		

从上面可以看出来:
for循环是先赋值再进行输出的
结果在i++进行循环的时候,第一遍循环的时候i++并没有进行+1,从而导致第一遍循环输出:0

即:
	0
	2
	4
	6
	8

而++i则在第一遍循环的时候进行了+1,所以第一遍循环输出:1

即:
	1
	3
	5
	7
	9

直接造成了++i起到了do while 的效果。
然而其本身在在while函数里却不会出现这种问题,
因为在while循环中,不管是 ++i还是i++都是直接结束了的!

另外

我的一个学长跟我说++i比i++更加高效

至于为啥我也不知道,等我学的更精深再回来改进吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值