2020.12.22——java流程控制—结构
顺序结构
-
java的基本机构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
-
顺序结构是最简答的算法结构
-
语句与语句之间,框与框之间是按照从上到下顺序执行的,它是由若干个处理步骤组成的,它是任何一个算法都离不开的基本算法结构
选择结构
-
if单选择结构
-
判断一个东西是否可行,然后再执行,可以在这样一个程序中用if来表示
-
语法
if(布尔值表达式){
//如果布尔表达式结果为true,将执行的语句
}
-
-
if双选择结构
-
在if的基础上,增加false所执行的操作,即有两个判断,就使用if-else 结构
-
语法
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
-
-
if多选择结构
-
if后面可以跟else if — else 语句,用于应对多种可能的情况
-
需要注意,if语句最多只能有一个else语句,且处于最后,可以有多个else if ,但必须在else语句之前,一旦一直else if 检测为true,则其他语句不执行了
-
语法
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
-
-
嵌套的if结构
-
即你可以在if-else里再次使用if-else,但为了代码可读性和简洁,尽量少用嵌套结构
-
语法
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}
-
-
switch多选择结构
-
多选结构还有一个实现方式就是switch-case语句
-
switch-case语句判断一个变量与一系列值中的某个值是否相等,每个值为一个分支
-
switch语句中的变量类型可以是:
-
byte,short,int,char
-
从java se7开始,支持字符串string
-
同时case标签必须为字符串常量或字面量
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
} -
-
循环结构
-
while循环
-
while是最基本的循环,它的结构为:
while( 布尔表达式 ) {
//循环内容
} -
只要表达式为true,循环就会一直执行下去
-
大多数情况需要循环停止下来,需要一个让表达式失效的方式来结束循坏
-
少数情况需要循环一直进行,比如服务器监听等
-
循环条件一直为true会造成无限循环(死循环),正常编程中应该尽量避免死循环,会影响程序性能或造成卡死崩溃
int i = 0;
int t = 0;
while (i < 100) {
i++;
t = t + i;
}
System.out.println(t);//结果:5050,即1+2+3+...+99+100=5050
-
-
do-while循环
-
对于while而言,如果不满足条件则不能进入循环,但有时候我们需要既是不满足条件也至少执行一次
-
do...while和while相似,不同的是do...while至少会执行一次循环
do {
//代码语句
}while(布尔表达式); -
while和do...while的区别在于,while先判断后执行,do...while先执行后判断
int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); }while( x < 20 );
-
-
for循环
-
虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单
-
for循环语句是支持迭代的一种通用结构,是最有效,灵活的循环结构
-
for循环的执行次数是在执行前就确定的
for (int i = 1; i <= 9; i++)//外循环控制行 { for (int j = 1; j <= i; j++)//内循环控制列 { System.out.print(i + "*" + j + "=" + i * j + "\t");//输出结果 } System.out.println("\n");//换行 } //99乘法表
-
-
增加for循环
-
Java5 引入了一种主要用于数组的增强型 for 循环
-
暂时做个了解,数组的时候再重点使用
for(声明语句 : 表达式) { //代码句子 }
-
新声明的局部变量必须和数组中元素类型相同,作用于限定在循环中
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
-
-
break
-
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块
-
break 跳出最里层的循环,并且继续执行该循环下面的语句
-
break 跳出循环后不再执行循环内剩下的语句
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等于 30 时跳出循环
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
-
-
continu
-
在循环中continu终止本次循环,跳过还未执行的语句,接着进行下次是否执行的判断
-
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代
-
在 for 循环中,continue 语句使程序立即跳转到更新语句
-
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
-
-
goto
-