流程控制分类
- 顺序结构
- 判断(分支选择)结构
-
顺序结构
分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构
if 结构
具备三种类型的结构表现形式
形式一:
if (logic expression) {statement;}
示例:
int age = 20;if (age > 18) {String name = "Tom";System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");}
形式二:
if (logic expression) { statement; } else { statement; }示例:
int age = 16; if (age > 18) { String name = "Tom"; System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!"); } else { System.out.println("我还未成年!"); }形式三:
if (logic expression) { statement; } else if (logic expression) { statement; } else { statement; }示例:
if (age >= 0 && age <= 10) { System.out.println("少年"); } else if (age <= 18) { System.out.println("青少年"); } else if (age <= 30) { System.out.println("青年"); } else if (age <= 50) { System.out.println("中年"); } else { System.out.println("老年"); }
switch 结构
swtich 语句是有控制表达式和多个 case 标签块组成。
在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。
switch (expression) {
case condition1 : {
statement;
break;
}
case condition2 : {
statement;
break;
}
default : {
statement;
break;
}
}
示例:
String color = "red";
switch (color) {
case "red": {
System.out.println("红色");
break;
}
case "blue": {
System.out.println("蓝色");
break;
}
case "green": {
System.out.println("绿色");
break;
}
default: {
System.out.println("没有找到");
break;
}
}
在 case 中要加入 break 关键字跳出;
在实际的开发中,我们一般使用 if - else 结构替代 switch。swtich 结构应用的较少。
循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
循环语句可能包含的部分有:
- 初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
- 循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
- 循环体(body_statement):如果条件允许,循环体会被反复执行。
- 迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
while 结构
(init_statement);
while (test_expression) {
body_statement;
[iteration_statement];
}
示例:
int sum = 0;
int i = 1;
while (i <= 10) {
sum = sum + i;
i++;
}
System.out.println(sum); // 55
1~5的累加和
int n = 1;
int sum = 0;
while(n<=5){
sum+=n;//sum是存放和的变量
n++;
}
嵌套while循环应用
int m =1;//外重循环的循环变量
int n =1;//内重循环的循环变量
System.out.println("输出4行4列的星号");
//外重
while(m<=4){
//内重
n =1;
while(n<=m){
System.out.print("*");
n++;
}
System.out.println();
m++;
}
do-while 结构
(init_statement);
do {
body_statement;
[iteration_statement];
} while (test_expression)
无论如何都会执行一次循环体内容
示例:
int i = 1;
int sum = 0;
do {
sum += i++;
// sum = sum + i;
// i = i + 1;
} while (i <= 10);
System.out.println(sum); // 11
1~5的累加和
int n =1;
int sum =0;
do{
sum+=n;
n++;
} while(n<=5);
System.out.println("sum="+sum);
for 循环
语法:
for ([init_statement]; test_expression; [iteration_statement]) {
body_statement;
}
示例:
int sum = 0;
for (int i = 1; i <= 28; i++) {
sum = sum + i;
}
System.out.println(sum);
在实际的开发中,对于已知循环次数的遍历,一般使用 for 循环。而且 for 循环的应用场景要比 while 循环多。
**
控制循环结构
break
在循环体中,使用 break 关键字跳出整个循环
一旦被执行,循环体中break后面的代码将不再执行
int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (i == flag) {
break;
}
}
System.out.println(sum); // 21
continue
在循环体中,使用 continue 跳出本次循环,循环还会继续执行
continue语句可以结束当前循环的执行,但要继续下一次循环
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
sum = sum + i;
}
System.out.println(sum); // 25
程序调试-debug
开发人员经常会在开发程序的时候出现错误。那么,如何快速的找出错误,就成为开发人员重要的一项技能。
我们把错误通常称为bug,而把找错误叫做debug。
对于找错误,我们通常会采用调试这一方法,它的作用在于能让程序员看清楚程序每一步的效果,在需要查看结果的时候,使用debug查看实际结果是否与预期结果一致。
注意:编译的错误,开发工具一般会自动的报错,我们一般对程序进行调试是为了找出逻辑上的错误。
**
我们以这段代码为例,进行调试
public static void main(String[] args) {
int sum = 0;
for(int n = 1; n <= 5; n++) {
sum = sum + n;
//输出sum的值
System.out.println("sum=" + sum);
}
System.out.println("sum=" + sum);
}
步骤
- 设置断点(断点是指程序运行到点的位置就终止了,断点可以设置多个)

比如想要查看sum的值,就可以在蓝色区域双击,就会出现一个小点,这就是断点。双击和鼠标右键选择也可以取消断点。
- 选择调试运行

鼠标右键选择调试运行,或选择如图所示的调试运行的运行按钮。
- 打开debug视图

- 视图作用

- 快捷键调试
F5进入函数,单步条数
F6不进入函数,单步调试
F7由函数内部,返回调用处
F8一直执行到下个断点处,知道终止调试
