多重循环和程序调试
1.掌握Java二重循环(2层嵌套的循环)
1.1需求打印图形
需求:打印一些图形
1.1(1)图形一:矩形
*****
*****
*****
标准方法: 【总结:外层循环控制打印多少行 内层循环控制每行打印的内容】
/**
* 需求:打印矩形
* 思路:
* 1.先看图形的每一行在干什么 能不能通过一个循环搞定
* 2.每一行东西能搞定之后 考虑能不能搞定n行
*
*
*/
public class XingZhuang {
public static void main(String[] args) {
/*
*****
*****
*****
*****
*/
// 通过一个一个的*来打印出上述图形
for(int j = 0; j < 4; j++) {
// System.out.println("*****");
for(int i = 0; i < 5; i++) {
System.out.print("*");
}
System.out.println();
}
}
}
1.1(2) 图形二:直角三角形
*
***
*****
*******
*********
解决方案
/**
* 口诀:外层循环控制打印多少行
*内层循环控制每行打印的内容
*/
public class Demoxx{
public static void main(String[] args) {
/*
*
***
*****
*******
*********
*/
// 外层循环:外层循环控制行数
for(int i = 1; i <= 5; i++) {
// 内层循环 1 3 5 7 9 ... 2n(第几行) - 1 控制每行的内容
for(int j = 1; j <= (2 * i - 1); j++) {
System.out.print("*");
}
System.out.println();
}
}
}
1.1.3 图形三:打印等腰三角形
*
***
*****
*******
*********
1.1.4打印九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2. 多重循环的语法
多重循环指的就是循环嵌套,但是一般嵌套的循环也就2层 所以多重循环又被称为二重循环。
你能想到的循环结构都可以随意嵌套。
多重的循环:最外层的被称为外层循环,嵌套的循环被称为内层循环。
外层循环执行一次,内层循环会执行一遍。
2. 使用跳转语句控制程序流程
break
(中断):switch中有
- 在switch中是用于结束判断的
- 在循环中是用于结束循环的 多重循环的时候 break只会结束当前循环。
continue
(继续):只能出现在循环中
死循环:无法结束的循环。
3. 掌握程序调试(debug)****
世界没有完美的程序,我们是尽力将我们的程序接近完美。
bug (八阿哥) :臭虫
-
盯 (读代码,构想代码运行的结果)
-
通过输出语句(System.out.println())/日志来打印内容
-
通过debug工具
断点(break point):程序中断(暂停)的位置
变量表(variables):展示在当前方法内的局部变量(在debug时经常观察它)
- 在预测的可能出现问题的位置左侧双击 可以添加断点
- 通过debug as 方式运行程序 它会自动运行到断点位置然后暂停 等待你的下一步指令,暂停的这一行目前处于将要执行还未执行的状态。
- F6(Step Over) 掌握 表示执行当前行的代码 切换到下一行
- F8(Resume) 掌握 快速放行到下一个断点位置(跳过我们不想查看的部分)
- F5(Step into) 目前了解 表示进入到要执行的方法内
- 观察变量表等信息 发现问题 解决问题