概述
程序三种结构
- 顺序结构(从上至下逐行依次执行)
- 选择结构(if/else、switch case)
- 循环结构(while、do while、for)
关键字(break、continue、return)
选择结构
if语句
语法:
if (布尔表达式) {
语句1;
语句2;
...
}
执行流程:
- 先判断布尔表达式
- 如果结果是true,就执行if后的{} 内的语句,然后继续执行后续的
- 如果结果是false,就跳过if后的{} 而是执行后续的代码
if..else..
if (布尔表达式) {
当布尔表达式值是true时,执行if后的语句,
且不执行else中的语句
} else {
当布尔表达式值是false时,不执行if后的
而是执行else后的语句,
}
if..else if..else if..else if..else
if(布尔表达式1) {
语句1;
} else if (布尔表达式2) {
语句2;
} else if (布尔表达式3) {
语句3;
} ...{
语句n;
} else {
语句n+1;
}
一旦有某个语句执行了,后续的if else if等不再执行.
switch case语句
语法 :
switch (值) {
case 值1:
语句1;
break;
case 值2:
语句2;
break;
...
case 值n:
语句n;
break;
default :
语句n+1;
}
执行流程:
- switch后的值,与case后的值比较
- 如果相等,就执行该case下的语句
- 如果遇到break,跳出switch结构,执行后续
- 如果没有break,会造成case击穿
- 如果不相等,比对下一个case
- ...
- 如果没有一个case比对成,那么会执行default中的语句
三目/三元运算:
- 数据类型 变量 = 布尔表达式 ?当前面结果是true时执行此处:当前面结果是false时执行此处;
- 数据类型 变量 = A ? B : C;
- 先执行A处的布尔运算,得到一个布尔值
- 当布尔值是true时,执行B处的代码
- 当布尔值是false时,执行C处的代码
- 整体结果的数据类型根据 执行B处或者C处的代码的结果而定
- B处和C处的结果数据类型一致
public void test(){
int a = 1;
int b = 2;
int s = a < b ? 1 : 0;
System.out.println(s);
int r1 = a < b ?(a > b ? a:b) : (a < b ? a : b);
int r2 = a < b ? (a+b*4): (a < b ? a : b);
System.out.println(r1);
System.out.println(r2);
}
循环结构
while循环 》》》 当型:先判断,后执行
语法:
while (布尔表达式) {
循环体;
循环迭代;(++ / --)-->控制循环次数
}
执行流程:
- 先判断while后的表达式
- 如果是true,就行{}内的语句
- 执行完{}内语句,再次判断while后的表达式
- 当while后的结果是false就不再执行{}内的内容,
- 继续执行后续
do while循环 》》》 直到型
语法:
先执行后判断
do{
循环体;
迭代
}while(布尔表达式);
执行流程
- 先执行do中的循环内容
- 判断while后的表达式
- 表达式为true,再执行do中内容
- 在判断..
- 直到判断为false时,跳过循环,执行后续
do while 至少会执行一次
for循环
for(初始值;控制条件;迭代) {
循环体;
}
- 变量名:在同一作用域内不能重复 》》》 变量在同一作用域内有效.
- 同一作用域: 在同一个最近的{}内
关键字
break :
- 只能在switch, 循环中使用,不能单独在if中使用
- 能跳出当前switch/循环的执行,继续执行后续
- 在循环中默认跳出当前一层循环
- break 后指定锚点,可以调到任意层循环外
- 锚点: 写在for/while/do字的前面或者上面,锚点名字任意
例如:
a:
for()...
b:
for()....
point:
for(int k = 1;k < 10;k++) {
System.out.println("K = "+k);
for(int j = 1;j < 10;j++) {
System.out.println("J = "+j);
for(int i = 1;i < 10 ;i++) {
System.out.println("I = "+i);
// break后指定锚点名
break point;
}
}
}
continue :
- 只能在循环中使用
- 结束当前层循环的这一次循环,继续下次循环
for(int j = 1;j < 10;j++) {
System.out.println("J = "+j);
for(int i = 1;i < 10 ;i++) {
if(i == 5) {
continue;
}
System.out.println("I = "+i);
}
}
return
- 不算流程控制语句中的关键字.但是它也能控制语句执行的顺序.
- 不管在任意地方,遇到return,当前方法结束执行.
public void test(){
for(int j = 1;j < 10;j++) {
System.out.println("J = "+j);
for(int i = 1;i < 10 ;i++) {
if(i == 5) {
// 结束当前方法的执行
return;
}
System.out.println("I = "+i);
}
}
}
最后
以上就是哭泣发夹为你收集整理的Java学习笔记——流程控制语句(if/else、switch case、while、do while、for)选择结构循环结构关键字的全部内容,希望文章能够帮你解决Java学习笔记——流程控制语句(if/else、switch case、while、do while、for)选择结构循环结构关键字所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复