本文共 5193 字,大约阅读时间需要 17 分钟。
Java的循环结构要相对于Java的顺序结构来说明。程序的运行时由上到下的顺序结构,但是有的程序需要特殊的处理,其不止需要执行一次,这样就需要使用到循环结构。
Java循环结构:Java循环结构包括三种:for循环 while循环及do...while循环for循环及增强否for循环:for循环的语法格式如下:for(初始化;布尔表达式;更新运算){//代码语句}
for循环的工作原理是这样的:
首先执行初始化步骤,初始化是为了得到一个判定条件的值,用于后面的布尔表达式接着使用前面初始化的值在布尔表达式里面进行比较,如果布尔表达式的结果是真,那么就执行代码语句,代码语句执行完成后,执行更新运算,这里更新的是前面初始化的那个值,然后在进行布尔表达式的运算,如此循环,直到布尔表达式运算结果为假,则跳出循环.class circilationToFor { public static void main(String[] args) { int i;//声明一个int变量 当然你也可以在for()里面进行声明和初始化 for (i = 0; i < 10; i++) { System.out.println("是否 "+i+" <10 ? :" + (i < 10) + " 本次循环的i值为: " + i); } System.out.println("是否 "+i+" <10 ? :" + (i < 10) +" 跳出循环的i值为: " + i); }}
输出:
是否 0 <10 ? :true 本次循环的i值为: 0是否 1 <10 ? :true 本次循环的i值为: 1是否 2 <10 ? :true 本次循环的i值为: 2是否 3 <10 ? :true 本次循环的i值为: 3是否 4 <10 ? :true 本次循环的i值为: 4是否 5 <10 ? :true 本次循环的i值为: 5是否 6 <10 ? :true 本次循环的i值为: 6是否 7 <10 ? :true 本次循环的i值为: 7是否 8 <10 ? :true 本次循环的i值为: 8是否 9 <10 ? :true 本次循环的i值为: 9是否 10 <10 ? :false 跳出循环的i值为: 10说道for循环就不得不提一下增强for循环:
增强for循环是由Java5开始引入的,增强for循环是用于数组类型,格式如下:for(声明语句 : 表达式){ //代码句子}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。class CircilationToEnhanceFor { public static void main(String[] args) { int[] i = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; //增强for循环的写法 for (int value : i) { System.out.println("增强for循环遍历的i数组本次值为: "+value); } System.out.println("===================我是分割线==================="); //一般for循环的写法 for(int a = 0;a
输出:
增强for循环遍历的i数组本次值为: 1增强for循环遍历的i数组本次值为: 2增强for循环遍历的i数组本次值为: 3增强for循环遍历的i数组本次值为: 4增强for循环遍历的i数组本次值为: 5增强for循环遍历的i数组本次值为: 6增强for循环遍历的i数组本次值为: 7增强for循环遍历的i数组本次值为: 8增强for循环遍历的i数组本次值为: 9增强for循环遍历的i数组本次值为: 0===================我是分割线===================普通for循环遍历的i数组本次值为: 1普通for循环遍历的i数组本次值为: 2普通for循环遍历的i数组本次值为: 3普通for循环遍历的i数组本次值为: 4普通for循环遍历的i数组本次值为: 5普通for循环遍历的i数组本次值为: 6普通for循环遍历的i数组本次值为: 7普通for循环遍历的i数组本次值为: 8普通for循环遍历的i数组本次值为: 9普通for循环遍历的i数组本次值为: 0其结果是一样的,但是对于foreach来说更加的方便.
while循环:
while是一种很简单的循环结构:while( 布尔表达式 ) { //循环内容}只要布尔表达式的计算结果为真,则会进入循环内容,循环内容结束后继续检查布尔表达式,如此重复,知道布尔表达式输出假.class CircilationToWhile { public static void main(String[] args) { byte i = 0; while(i<10) { System.out.println("(i<10) ? "+(i<10)+ " while循环内容为: " +i); i++; } //当(i<10)为fals时跳出循环. System.out.println("(i<10) ? "+(i<10)+ " i= " +i); }}
输出:
(i<10) ? true while循环内容为: 1(i<10) ? true while循环内容为: 2(i<10) ? true while循环内容为: 3(i<10) ? true while循环内容为: 4(i<10) ? true while循环内容为: 5(i<10) ? true while循环内容为: 6(i<10) ? true while循环内容为: 7(i<10) ? true while循环内容为: 8(i<10) ? true while循环内容为: 9(i<10) ? false i= 10do…while 循环
do…while 循环循环与while循环唯一不同的地方在于,无论如何do…while 循环都会干一次! 对,无论怎样都会干一次的.干了再说class CircilationToDoWhile { public static void main(String[] args) { byte i = 10; do { //无论如何都会干一次的,无论你原本不愿意还是愿意 System.out.println("(i<10) ? " + (i < 10) + " i= " + i); i++; } while (i < 10); //当(i<10)为fals时跳出循环. System.out.println("(i<10) ? "+(i<10)+ " i= " +i); }}
输出:
(i<10) ? false i= 10(i<10) ? false i= 11循环讲完了我们需要老认识一下控制循环的两个Java关键字
break:break的作用是跳出循环class Control { public static void main(String[] args) { int i; //一层for循环 for (i = 0; i < 10; i++) { System.out.println("还没有执行break,执行到了这里"); break; } System.out.println("当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环"); }}
输出:
还没有执行break,执行到了这里当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环class Control1 { public static void main(String[] args) { //多层循环 int a; int c; for (a = 0; a < 10; a++) { System.out.println("第" + a + "次外层for循环==========="); for (c = 0; c < 10; c++) { System.out.println(" 第" + c + "次里层for循环 跳出!"); break;//brake语句只是会结束他所在的循环体 } } }}
输出:
第0次外层for循环===========第0次里层for循环 跳出!
第1次外层for循环===========
第0次里层for循环 跳出!
第2次外层for循环===========
第0次里层for循环 跳出!
第3次外层for循环===========
第0次里层for循环 跳出!
第4次外层for循环===========
第0次里层for循环 跳出!
第5次外层for循环===========
第0次里层for循环 跳出!
第6次外层for循环===========
第0次里层for循环 跳出!
第7次外层for循环===========
第0次里层for循环 跳出!
第8次外层for循环===========
第0次里层for循环 跳出!
第9次外层for循环===========
第0次里层for循环 跳出!
class Contro2 { public static void main(String[] args) { int d; int e; for (d=0;d<10;d++){ System.out.println("第" + d + "次外层for循环==========="); for(e=0;e<10;e++){ System.out.println(" 第"+e+"次里层for循环"); break;//brake语句只是会结束他所在的循环体 } break; } }}
输出:
第0次外层for循环===========第0次里层for循环
continue 关键字
continue 关键字是标识结本次循环,进入下一次循环,class Contro3{ public static void main(String[] args) { int i; for (i=0;i<10;i++){ System.out.println(i+ " 本循环不输出下一个语句."); continue; } }
输出:
0 本循环不输出下一个语句.1 本循环不输出下一个语句.2 本循环不输出下一个语句.3 本循环不输出下一个语句.4 本循环不输出下一个语句.5 本循环不输出下一个语句.6 本循环不输出下一个语句.7 本循环不输出下一个语句.8 本循环不输出下一个语句.9 本循环不输出下一个语句.在Java中很多地方都用得到循环结构,可以结合使用它们.
循环先这样吧,后面和数组,集合在配合描述.转载地址:http://ynpfx.baihongyu.com/