##程序结构 顺序结构:从上往下依次执行 选择结构:根据条件执行对应的内容 循环结构: 1.while循环 2.do-while循环 3.for循环 4.循环嵌套 使用 break语句 continue语句跳出循环 ```java while(循环条件) { //语句; } ``` ###循环输出小于5的数 ```java int n=1; //n必须进行初始化 while(n<5) { //输出n的值 循环变量n的值必须被改变,避免死循环 n++; } ``` ###例:求1-5的累加和 ```java package imoocProj; public class PlusDemo { public static void main(String[] args) { // 求1-5的累加和 int sum=0,i=0; while(i<=5) { sum=sum+i; i++; } System.out.println("sum="+sum); } } ``` ```java package imoocProj; public class CharDemo { public static void main(String[] args) { // 循环输出26个英文小写字母,分两行显示 char ch='a'; int n=1; while(ch<='z') { System.out.print(ch); if(n%13==0) System.out.println(); ch++; n++; } } } ``` ###使用while循环求1到5的平方和 ```java public class LoopDemo { public static void main(String[] args) { int n=1;//定义整型变量n作为循环变量,并初始化 int sum=0;//定义整型变量sum存放和,并初始化 while(n<=5){ sum=sum+n*n; n++; }//使用while循环求1到5的平方和 System.out.println("1到5的平方和为:"+sum);//输出平方和 } } ``` ###do-while 循环 语法格式 ```java do{ 语句; }while(条件); ``` 1.do-while 循环至少执行一次 2.循环条件后的分号不能丢 ```java package imoocProj; public class DoWhileDemo { public static void main(String[] args) { // 求1-5的累加和 int n=1; int sum=0; do { sum=sum+n; n++; }while(n<=5); System.out.println(sum); } } ``` ###do-while循环猜字游戏 ```java package imoocProj; import java.util.Scanner; public class GuessDemo { public static void main(String[] args) { // 猜数游戏 //设置要猜的数 int number=(int)(Math.random()*10+1);//随机数函数 int guess; System.out.println("猜一个介于1到10之间的数"); do { System.out.println("请输入您猜测的数字:"); Scanner sc=new Scanner(System.in); guess=sc.nextInt(); if(guess>number) { System.out.println("太大!"); }else if(guess Loading... ##程序结构 顺序结构:从上往下依次执行 选择结构:根据条件执行对应的内容 循环结构: 1.while循环 2.do-while循环 3.for循环 4.循环嵌套 使用 break语句 continue语句跳出循环 ```java while(循环条件) { //语句; } ``` ###循环输出小于5的数 ```java int n=1; //n必须进行初始化 while(n<5) { //输出n的值 循环变量n的值必须被改变,避免死循环 n++; } ``` ###例:求1-5的累加和 ```java package imoocProj; public class PlusDemo { public static void main(String[] args) { // 求1-5的累加和 int sum=0,i=0; while(i<=5) { sum=sum+i; i++; } System.out.println("sum="+sum); } } ``` ```java package imoocProj; public class CharDemo { public static void main(String[] args) { // 循环输出26个英文小写字母,分两行显示 char ch='a'; int n=1; while(ch<='z') { System.out.print(ch); if(n%13==0) System.out.println(); ch++; n++; } } } ``` ###使用while循环求1到5的平方和 ```java public class LoopDemo { public static void main(String[] args) { int n=1;//定义整型变量n作为循环变量,并初始化 int sum=0;//定义整型变量sum存放和,并初始化 while(n<=5){ sum=sum+n*n; n++; }//使用while循环求1到5的平方和 System.out.println("1到5的平方和为:"+sum);//输出平方和 } } ``` ###do-while 循环 语法格式 ```java do{ 语句; }while(条件); ``` 1.do-while 循环至少执行一次 2.循环条件后的分号不能丢 ```java package imoocProj; public class DoWhileDemo { public static void main(String[] args) { // 求1-5的累加和 int n=1; int sum=0; do { sum=sum+n; n++; }while(n<=5); System.out.println(sum); } } ``` ###do-while循环猜字游戏 ```java package imoocProj; import java.util.Scanner; public class GuessDemo { public static void main(String[] args) { // 猜数游戏 //设置要猜的数 int number=(int)(Math.random()*10+1);//随机数函数 int guess; System.out.println("猜一个介于1到10之间的数"); do { System.out.println("请输入您猜测的数字:"); Scanner sc=new Scanner(System.in); guess=sc.nextInt(); if(guess>number) { System.out.println("太大!"); }else if(guess<number) { System.out.println("太小!"); } }while(number!=guess); System.out.println("您猜中了!答案为"+number); } } ``` ###for循环 ```java for(循环变量初始化①;循环条件②;循环变量变化④){ 循环操作③ } ``` 例: ```java for(int n=1;n<5;n++){ //输出语句; } ``` for循环注意事项 1.三个表达式都是可以省略的 2.break语句表示跳出当前循环 ###练习 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。 ```java public class LoopDemo { public static void main(String[] args) { int ge,shi,bai; //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字 int i,ji,sum; for(i=200;i<=300;i++)//使用for循环 { bai=i/100;//取出百位数 shi=i%100/10;//取出十位数 ge=i%100%10;//取出个位数 ji=bai*shi*ge;//计算三个数字之积 sum=bai+shi+ge;//计算三个数字之和 if((ji==42)&(sum==12)){ System.out.println(i); } //如果积等于42并且和为12,则将满足条件的数输出 } } } ``` ```java package imoocProj; public class StarDemo { public static void main(String[] args) { // 输出十行十列的星号 int m=1;//外重循环 int n=1;//内重循环 while(m<=10) { n=1; while(n<=10) { System.out.print("*"); n++; } System.out.println(); m++; } } } ``` ```java package imoocProj; public class JiechengPlus { public static void main(String[] args) { // 1到10的阶乘 int s=1,sum=0; for(int i=1;i<=10;i++) { s=1; for(int j=1;j<=i;j++) { s=s*j; } sum=sum+s; } System.out.println("1!+2!+3!+..+10!="+sum); } } ``` ###用星号输出一个梯形,如下图所示:(使用嵌套for循环完成) ```java *** ***** ******* ********* *********** ``` 任务 1、外重循环控制输出行数 2、第一个内重循环控制输出的空格数,依次递减。 注意:由于星号和空格在屏幕上所占的空间不同,所以可以适当调整空格的输出,比如每次循环都输出两个空格。这样输出来的图形会更加接近梯形 3、第二个内重循环控制每行输出的星号数 4、输出完一行的星号和空格后换行 ```java public class StarDemo { public static void main(String[] args) { // 输出星号组成的梯形 int N=5; for(int i=1;i<=N;i++){ for(int j=1;j<=N-i;j++){ System.out.print(" "); } for(int j=1;j<=2*i+1;j++){ System.out.print("*"); } System.out.println(); } } } ``` ###break语句 1.break语句可以结束当前循环的执行 2.执行完break语句后,循环体中位于break语句后面的语句就不会被执行 3.在多重循环中,break语句只向外跳一层 break语句只能用在循环语句和switch语句中, continue只能用在循环语句中,而且continue语句只是结束当前次的循环执行,但是还要继续下一次的循环。 ###Debug 调试的作用:能看清程序每一步的效果,在需要查看见过的时候,使用debug查看实际结果是否与预期结果一致 调试:设置断点(可设置多个) debug窗口显示当前运行的什么类当中的什么方法的第几行 Variables(变量):显示当前变量 Breakpoints:当前断点 Outline:大纲 F6:是进行单步调试的快捷键 F5:到方法内部执行 F8:直接跳到下一个断点 最后修改:2019 年 12 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏