#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 = a
i = i+1
-
- ++i(a为一个临时设定的值)
即:
- ++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++更加高效
至于为啥我也不知道,等我学的更精深再回来改进吧