循环 又是一个老生常谈的问题。Java中的循环大概有:while、do……while、for等。
我们先从头来看:
一:while循环
语法结构:
while( 布尔表达式 ) { //循环内容 }
我们来测试一下:
public class one { /** * main函数 * @param args */ public static void main(String[] args) { // 调用测试while循环函数 (new one()).whileS(); } /** * while 循环 */ public void whileS() { // ================================================== // 语言多重多样,while循环万变不离其宗。先判断,后执行。 int x = 10; while(x > 0) { System.out.print("value of x : " + x ); System.out.print("\n"); x--; } } }
输出:
value of x : 10 value of x : 9 value of x : 8 value of x : 7 value of x : 6 value of x : 5 value of x : 4 value of x : 3 value of x : 2 value of x : 1
二:do-while循环
语法结构:
do { //代码语句 }while(布尔表达式);
我们来测试一下:
public class one { /** * main函数 * @param args */ public static void main(String[] args) { // 调用测试do-while循环函数 (new one()).doWhileS(); } /** * do-while循环 */ public void doWhileS() { // ============================================= // 语言多重多样,do-while循环万变不离其宗。先执行,后判断。 int x = 10; do{ System.out.print("value of x : " + x ); System.out.print("\n"); x--; }while(x > 0); } }
输出:
value of x : 10 value of x : 9 value of x : 8 value of x : 7 value of x : 6 value of x : 5 value of x : 4 value of x : 3 value of x : 2 value of x : 1
看到这里,我发现了一个小问题,那就是,while和do-while的区别是什么呢?简单讲:while是先判断,满足条件后在进入循环。不满足条件则不会进入。
Do-while是先执行,在判断,也就是说,无论判断条件是否满足条件,都会进入一次循环体。
这个一定要搞清楚,do-while在某些场景下有大用处。
三:for循环
虽然所有的循环都可以使用while、do-while来实现,但是,我一般不咋用,我用的比较多的是for循环。
Java同样为我们提供了 for循环。
语法结构:
for(初始化; 布尔表达式; 更新) { //代码语句 }
我们来测试一下:
public class one { /** * main函数 * @param args */ public static void main(String[] args) { // 调用测试for循环函数 (new one()).forS(); } /** * 测试for循环 */ public void forS() { // =============================================================== // 语言多重多样,普通的for循环万变不离其宗。 for(int x = 10; x < 20; x++) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
输出:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
四:增强版for循环
For循环相对来说还是比较麻烦,java为我们提供了另一种增强版的for循环。
语法结构:
for(声明语句 : 表达式) { //代码句子 }
声明语句: 声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式: 表达式是要访问的数组名,或者是返回值为数组的方法。
我们来测试一下:
public class one { /** * main函数 * @param args */ public static void main(String[] args) { // 调用测试for循环函数 (new one()).forS(); } /** * 测试for循环 */ public void forS() { // ====================================== // 语言多种多样,java的for循环是有增强版的~ // 测试增强版的for循环需要用到数组……嗯,好像是又超纲了,就当曾经认识过她,循环完事才是数组…… int [] array = {1,2,3,4,5,6,7,8,9}; for(int x:array) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
输出:
value of x : 1 value of x : 2 value of x : 3 value of x : 4 value of x : 5 value of x : 6 value of x : 7 value of x : 8 value of x : 9
增强版的for循环,相对于for循环,语法相对简单了一些。嗯,大概是这个样子。
五:嵌套循环
循环是可以嵌套循环的,我觉得我好想再说废话,测试这个得想个好玩的东西,使用for循环嵌套输出个九九乘法表吧。
public class one { /** * main函数 * @param args */ public static void main(String[] args) { // 调用测试99乘法表 (new one()).nine(); } /** * 99乘法表 */ public void nine() { for (int i = 1;i <= 9;i++) { System.out.print("\n"); for (int k = 1;k <= i;k++) { int res = k * i; System.out.print( k + " * " + i + " = "+res+" | " ); } System.out.print("\n"); } } }
输出:
六:跳出循环
跳出循环这里有两个关键字:break、continue。
我这里仍然使用for循环来进行测试。
1:break
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
我们来测试一下:
/** * break跳出循环 */ public void keyBreak() { // ================================================ // 语言多重多样,普通的for循环万变不离其宗。 for(int x = 10; x < 20; x++) { if(x == 15) { break; } System.out.print("value of x : " + x ); System.out.print("\n"); } }
输出:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14
通过输出的结果,我们可以看到,当循环到15的时候直接跳出了循环
2:continue
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
我们来测试一下:
/** * break跳出循环 */ public void keyContinue() { // =============================================================== // 语言多重多样,普通的for循环万变不离其宗。 for(int x = 10; x < 20; x++) { if(x == 15) { continue; } System.out.print("value of x : " + x ); System.out.print("\n"); } }
输出:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 16 value of x : 17 value of x : 18 value of x : 19
通过输出的结果,我们可以看到,当循环到15的时候直接跳出了本次循环,继续进行下一次循环。
以上大概就是java循环的基本知识,有好的建议,请在下方输入你的评论。