Java的一些基本语法续

流程控制

(数组)后续

4.流程控制

A.顺序结构

程序从上往下的顺序执行

B.分支结构

if-else & switch-case

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(条件表达式){   }
if(条件表达式){
//执行的语句1;
}else{
//执行的语句2;
}
if(条件表达式1){
//执行的语句1;
}else if(条件表达式2){
//执行的语句2;
}else if( 条件表达式3){
//执行的语句3;
}...
}else{
//执行的语句;
}

[注意]

  1.一旦满足某个条件表达式, 则进入其执行语句块执行, 执行完毕, 跳出当前的条件判断结构, 不会执行剩下的条件结构语句.

  2.如果多个条件表达式之间为“互斥”关系, 多个结构可以上下调换顺序
如果多个条件表达式之间为“包含”关系, 要求条件表达式范围小的写在范围大的上面.

1
2
3
4
5
6
7
8
9
switch(变量){
case1:
//break;
case2:
//break;
...
default:
break;
}

[注意]

1.变量可以为如下的数据类型:byte short int char 枚举 String(jdk1.7)
2.case后只能填写变量的值, 不能写范围.
3.default是可以省略的, 并且其位置也是灵活的, 但通常将其放在case语句之后.
4.一旦满足某个case语句, 则进入执行其操作, 直至遇到break或者程序终止.
5.若要判断的语句的条件满足switch变量的数据类型, 且值不多的情况下, 建议选择switch-case .
除此之外, 选择if-else.

[例题]从键盘输入三个int类型的数存入三个int变量, 利用if-else实现对三个数的排序, 并输出.
[例题]输入一个年月日, 像: 2019/7/20, 输出该天是这一年中的哪一天.

C.循环结构

格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
for(①;②;③){

}

while(②){


}

do{


}while(②);

①初始化条件
②循环条件
③迭代部分
④循环体

注意 1.不同的循环结构之间可以相互转换
   2.while和do-while的区别; do-while程序至少会执行一次

嵌套循环: 上述循环体嵌套循环体
若外层循环执行m次, 内层循环执行n次, 整个程序执行m*n次 .

[例题]输出九九乘法表

[例题]输出100内的质数.(两种)

无限循环结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(;;){
...
if( ){
break;
}
...
}
//或者
while(true){
...
if( ){
break;
}
...
}

我们往往会在无限循环结构内部提供循环的终止条件, 使用break关键字跳出循环.避免死循环.

D.break&continue

break:

使用switch-case结构或者循环结构中
在循环结构中, 一旦执行到break, 就跳出当前循环 .

continue:

使用在循环结构中, 一旦执行到continue, 就跳出当次循环, 继续执行下一次循环.

1
2
3
4
5
6
7
for(int i = 1;i <= 10;i++){
if(i % 4 == 0){
//break; //程序执行结果:123
continue; //程序执行结果:123567910
}
System.out.print(i);
}

在嵌套循环中, 使用带标签的break和continue.

1
2
3
4
5
6
7
8
9
10
11
12
label:for(int i = 1;i < 5;i++){
for(int j = 1;j <= 10;j++){
if(j % 4 == 0){
//break;
//continue;
//break label;
continue label;
}
System.out.print(j);
}
System.out.println();
}

评论