1.流程概述
概念:流程是指程序步骤执行的先后顺序,先做什么,后做什么。
分类:
1.顺序结构
2.选择结构
3.循环结构
A.顺序结构
B.选择结构
Java中主要通过if语句来实现选择分支流程,if语句的格式有常用的三种:
·单if语句(根据条件判断,成立则执行一些代码,不成立则不执行)
if (1 > 0) {
System.out.println("我爱Java");
}
·标准的if-else语句(根据条件判断,成立则执行if中的代码,不成立则执行else中的代码)
if (1 > 0) {
System.out.println("我爱Java");
} else {
System.out.println("我不爱Java");
}
·扩展的if-else语句(在N个语句体当中选择其中一个执行)
if (a > b) {
System.out.println("我爱Java");
} else if (a == b) {
System.out.println("我不爱Java");
} else {
System.out.println("我爱学习");
}
1.switch条件语句
概念:针对某个表达式的值做出判断,从而决定程序执行哪一段代码。
switch (5) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default : // 若没有找到匹配的值,就会执行default后的语句
System.out.println("输入有误");
break;
}
//输出结果为星期五
C.循环结构
一个循环结构的典型组成部分有:
1.初始化语句:最先执行,且只执行一次。
2.条件判断:成立则继续循环,不成立则退出循环。
3.循环体:每次循环都将重复执行循环体的代码内容。
4.步进语句(操作表达式):每次循环后执行一次步进语句。
·while循环
int a = 1;
int sum = 0;
while (a <= 10) {// 判断是否满足条件
sum += a;
a++;// a自增
}
System.out.println(sum);// 输出结果为55
·for循环
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println(sum);
·do…while循环
int a = 1;
int sum = 0;
do {
sum += a;
a++;
} while (a <= 10);
System.out.println(sum);
for与while的区别
大多数时候,for循环与while循环可以等效替换,但是二者存在几点区别:
1.for循环格式固定,控制次数更方便,而while循环格式灵活,不太在意循环次数,所以:
·次数确定一般使用for循环
·次数不确定一般使用while循环
2.for循环小括号内定义的变量,循环内可用,循环外不可用。while循环的初始化表达式就在外边,仍然可用。
循环嵌套
概念:在一个循环内部,套用又一个循环,形成内外嵌套的结构。
在循环嵌套中,外层循环的每一次执行,都对应着内层循环的完整多次执行。
跳转语句(break.continue)
break语句
出现在switch语句当中:终止某个case并跳出switch结构.
出现在循环语句当中:跳出循环语句,执行后面的代码(结束本层循环)。
·标记的使用(break语句出现在循环嵌套的中的内层循环时,它只能跳出内层循环,如果想要跳出外层循环,就需要对外层循环添加标记),代码如下:
flag: for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
if (i == 5) {
break flag;
}
System.out.print("*");
}
System.out.println();
}
continue语句
用于循环语句当中,终止本次循环,执行下一次循环(结束本次循环)。
代码示例:
int sum = 0;// 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {// i是偶数,不累加
continue;// 结束本次循环
}
sum += i;// 实现sum和i的累加
}
System.out.println(sum);
break语句和continue语句的区别
·break语句会将整个循环彻底打断,剩余的次数都没有了。
·continue只是跳过当前次,剩余更多次仍然还有。
死循环(永真循环)
概念:永远无法退出的循环。
while (true) {
System.out.println("我喜欢学习Java");
}
注:死循环当中仍然可以根据实际需要使用break语句或continue语句