用自己电脑做网站服务器-phpstudy+花生壳,开发前端后端,旅游公司的网站怎么做,qq官网登录循环语句: 可以让一部分代码,反复执行 1.1 循环语句while while循环: 编写格式:while(条件){ 循环体 } 条件: 当条件是true,就执行循环体,执行完循环体后 程序再次执行while中的条件,如果条件还是true,继续执行循环体 直到条件是false的时候,循环就结束 public class WhileDem… 循环语句: 可以让一部分代码,反复执行 1.1 循环语句while while循环: 编写格式:while(条件){ 循环体 } 条件: 当条件是true,就执行循环体,执行完循环体后 程序再次执行while中的条件,如果条件还是true,继续执行循环体 直到条件是false的时候,循环就结束 public class WhileDemo{public static void main(String[] args){//输出 1-4之间的整数//定义变量,整数类型, 循环的条件int i 1;while( i 5 ){System.out.println(i);i;}} 在上述代码中x初始值为1在满足循环条件x 4的情况下循环体会重复执行打印x的值并让x进行自增。因此打印结果中x的值分别为1、2、3、4。 大家要注意的是代码x用于在每次循环时改变变量x的值从而达到最终改变循环条件的目的。如果没有这行代码整个循环会进入无限循环的状态永远不会结束。 1.2 循环语句for for循环语句是最常用的循环语句一般用在循环次数已知的情况下。for循环语句的语法格式如下 for初始化表达式; 循环条件; 操作表达式{ 执行语句 ……… } /*for循环编写格式for(初始化变量 ; 条件 ; 增量){循环体}初始化变量: 定义变量,作用,控制循环的次数条件: 当条件是true,执行循环体,条件是false,结束循环增量: 变量自增情况
*/
public class ForDemo{public static void main(String[] args){//for循环,输出0-10for(int i 0 ; i 11 ; i){System.out.println(i);}}
} for循环执行示意图如下 利用for循环累加求和 *利用for循环,计算14的结果1 2 3 4 1012的和3123的和4
*/
public class ForDemo_1{public static void main(String[] args){// 定义变量,记录求和后的数据int sum 0;// 利用循环,将变量从1变化到4for(int i 1 ; i 4 ; i){//对变量进行求和sum sum i;}System.out.println(sum);}
} 1.3 循环语句do…while do…while循环语句和while循环语句功能类似其语法结构如下 do { 执行语句 ……… } while(循环条件); 在上面的语法结构中关键字do后面{}中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。这也就意味着 循环体会无条件执行一次然后再根据循环条件来决定是否继续执行。(也就是先做后判断)不管循环条件是否满足都会执行一次循环体 do…while循环的执行流程如下图所示 基础示例: *do...while循环编写格式:do{循环体}while(条件);特点: 无条件先执行一次
*/
public class DoWhileDemo{public static void main(String[] args){int i 0; do{System.out.println(i);i;}while( i 5);}
} 接下来使用do…while循环语句来实现打印1~4之间的自然数DoWhileDemo.java。 特点(也就是先做后判断)不管循环条件是否满足都会执行一次循环体 public class DoWhileDemo {public static void main(String[] args) {int x 1; // 定义变量x初始值为1do {System.out.println(x x); // 打印x的值x; // 将x的值自增} while (x 4); // 循环条件}
} 我们发现WhileDemo.java与DoWhileDemo.java运行的结果一致这说明什么呢这说明do …while循环和while循环能实现同样的功能。 然而在程序运行过程中这两种语句还是有差别的。如果循环条件在循环语句开始时就不成立那么while循环的循环体一次都不会执行 而do…while循环的循环体还是会执行一次。若将DoWhileDemo.java中的循环条件x4改为x 1 DoWhileDemo.java运行结果会打印x1而WhileDemo.java运行结果什么也不会打印。 1.4 无限循环 最简单无限循环格式 while(true){} 或 for(;;){} 无限循环存在的原因是并不知道循环多少次而是根据某些条件来控制循环。 如下代码是无限循环的几种写法 public class WhileForDemo{public static void main(String[] args){//while形式死循环/*while(true){}*///for形式死循环
// for( ; true ; ){
//
// }for(;;){System.out.println(a); }}
} 1.5 循环嵌套 嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套并且它们之间也可以互相嵌套如最常见的在for循环中嵌套for循环格式如下 外循环,控制的是行数
内循环,控制的是每行的个数 for(初始化表达式; 循环条件; 操作表达式) {………for(初始化表达式; 循环条件; 操作表达式) {执行语句………}………
} *循环的嵌套: 循环里面还有循环, for形式多for(){for(){}}总的循环次数 内循环次数 * 外循环的次数内循环,是外循环的循环体外循环,控制的是行数内循环,控制的是每行的个数
*/
public class ForForDemo{public static void main(String[] args){for(int i 0 ; i 9 ; i){for(int j 0; j i1 ;j){System.out.print(* );}System.out.println();}}
} 图1-1 运行结果 在上述代码中定义了两层for循环分别为外层循环和内层循环外层循环用于控制打印的行数内层循环用于打印“*”每一行的“*”个数逐行增加最后输出一个直角三角形。由于嵌套循环程序比较复杂下面分步骤进行详细地讲解具体如下 第一步在第3行代码定义了两个循环变量i和j其中i为外层循环变量j为内层循环变量。 第二步在第4行代码将i初始化为1条件i 9为true首次进入外层循环的循环体。 第三步在第5行代码将j初始化为1由于此时i的值为1条件j i为true首次进入内层循环的循环体打印一个“*”。 第四步执行第5行代码中内层循环的操作表达式j将j的值自增为2。 第五步执行第5行代码中的判断条件ji判断结果为false内层循环结束。执行后面的代码打印换行符。 第六步执行第4行代码中外层循环的操作表达式i将i的值自增为2。 第七步执行第4行代码中的判断条件i9判断结果为true进入外层循环的循环体继续执行内层循环。 第八步由于i的值为2内层循环会执行两次即在第2行打印两个“*”。在内层循环结束时会打印换行符。 第九步以此类推在第3行会打印3个“*”逐行递增直到i的值为10时外层循环的判断条件i 9结果为false外层循环结束整个程序也就结束了。 双层for循环示意图 1.6跳转语句break、continue break 关键字 作用于循环中,终止循环的作用 如下图示例: /*break 关键字作用于循环中,终止循环的作用
*/
public class BreakDemo{public static void main(String[] args){int i 1;while(i 2000){if(i 3){break;}else{System.out.println(i);}i;}}
} 2、 标记 当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环 如果想使用break语句跳出外层循环则需要对外层循环添加标记。接下来将ForForDemo.java稍作修改控制程序只打印4 行“*”如下所示。BreakDemo02.java public class BreakDemo_1{public static void main(String[] args){a:for(int i 0 ; i 2; i){for(int j 0; j 5 ;j){System.out.print(jj);break a;}System.out.println(ii);}}
} 3、 continue语句 continue语句用在循环语句中它的作用是终止本次循环执行下一次循环。 /*continue 关键字 作用: 在循环中, 终止本次循环,开始下一次循环
*/
public class ContinueDemo{public static void main(String[] args){for(int i 0 ; i 10 ; i){if(i%20){continue;}System.out.println(i);}}
}