标签:print 变量 表达式 数组 代码块 color span 条件表达式 更新
while循环 循环语句就是让计算机根据条件做循环计算,在条件满足时继续循环,条件不满足时退出循环。 Java提供的while条件循环。它的基本用法是 while (条件表达式) { 循环语句 } while循环在每次循环开始前,首先判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳出while循环,继续往下执行。 例如: //累加1到100 int sum = 0; // 累加的和,初始化为0 int n = 1; while (n <= 100) { // 循环条件是n <= 100 sum = sum + n; // 把n累加到sum中 n ++; // n自身加1 } System.out.println(sum); // 5050 注意:while循环是先判断循环条件,再循环,因此,有可能一次循环都不做。对于循环条件判断,以及自增变量的处理,要特别注意边界条件。如果循环条件永远满足,那这个循环就变成了死循环。 /* 一个很有意思的循环 表面上 n 会一直 >0 ,那么条件一直成立 但是,int类型有最大值,累加到最大后 n会变成 -1 循环便会跳出 */ int n = 1; while (n > 0) { sum = sum + n; n ++; } do while循环 在Java中,while循环是先判断循环条件,再执行循环。而另一种do while循环则是先执行循环,再判断条件,条件满足时继续循环,条件不满足时退出,那么do while循环会至少循环一次 do { 执行循环语句 } while (条件表达式); for循环 for循环的功能非常强大,它使用计数器实现循环。for循环会先初始化计数器,然后,在每次循环前检测循环条件,在每次循环后更新计数器。计数器变量通常命名为i。 for (初始条件; 循环检测条件; 循环后更新计数器) { // 执行语句 } 在for循环执行前,会先执行初始化语句,然后,循环前先检查循环条件,循环后更新计数器,在for循环的循环体内部,不需要去更新计数器的值。 //for循环计算数组的和 int[] ns = { 1, 4, 9, 16, 25 }; int sum = 0; for (int i=0; i<ns.length; i++) { System.out.println("i = " + i + ", ns[i] = " + ns[i]); sum = sum + ns[i]; } 注意:使用for循环时,计数器变量i要尽量定义在for循环中,遵循访问范围缩到最小的原则。 某些情况下,for循环还可以省略初始化语句、循环条件和每次循环更新语句,但不推荐这样写。 // 不设置结束条件: for (int i=0; ; i++) { ... } // 不设置结束条件和更新语句: for (int i=0; ;) { ... } // 什么都不设置: for (;;) { ... } for each循环 Java还提供了另一种for each循环,可以更简单地遍历数组,但是,for each循环无法指定遍历顺序,也无法获取数组的索引。除了数组外,for each循环能够遍历所有“可迭代”的数据类型,包括List、Map等 int[] ns = { 1, 4, 9, 16, 25 }; for (int n : ns) { System.out.println(n); } break 无论是while循环还是for循环,都可以用break语句和continue语句跳出循环体 break 语句通常都是配合 if 语句使用。要特别注意,break语句总是跳出自己所在的那一层循环。 例如: for (int i=1; i<=10; i++) { System.out.println("i = " + i); for (int j=1; j<=10; j++) { System.out.println("j = " + j); if (j >= i) { break; } }//内层for // break跳到这里 System.out.println("breaked"); }//外层for //break位于内层的for循环,会跳出内层for循环,但不会跳出外层for循环 continue break会跳出当前循环,也就是整个循环都不会执行了。而continue则是提前结束本次循环,直接继续执行下次循环。在多层嵌套的循环中,continue语句同样是结束本次自己所在的循环。 int sum = 0; for (int i=1; i<=10; i++) { System.out.println("begin i = " + i); if (i % 2 == 0) { continue; // continue语句会结束本次循环 } sum = sum + i; System.out.println("end i = " + i); } //当i为奇数时,完整地执行了整个循环,会打印begin i=1 和 end i=1。 //在i为偶数时,continue语句会提前结束本次循环, //因此,会打印begin i=2但不会打印end i = 2。 break label 用法:跳出多重嵌套循环 break label 则是可以跳出通过label的标签定义的代码块。 label1://标记语句块 label后面要加 : while (true) { for (int i = 0; i <= 10; i++) { System.out.println("i=" + i); if (i == 5) { break label1;//跳出 } }
标签:print 变量 表达式 数组 代码块 color span 条件表达式 更新
原文地址:https://www.cnblogs.com/nsss/p/11417456.html