Java第四章控制结构

本文详细介绍了Java编程中的控制结构,包括顺序执行、单分支if、双分支if-else、多分支if-else-if,switch分支,以及循环结构如for、while、do-while和嵌套循环。同时讲解了break和continue语句的用法和return语句的作用。
摘要由CSDN通过智能技术生成

控制结构

顺序

程序从上到下逐行执行,中间没有任何判断和跳转。

分支(if ,else ,switch)

让程序有选择的执行,分支控制有三种

1.单分支
if(条件表达式){
​
•   执行代码块;//可以有多条语句
​
}

import java.util.Scanner;
public class Input {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入年龄:");
        int age = scanner.nextInt();
        if(age > 18){
            System.out.println("你的年龄大于18,要为自己的行为负责。");
        }
        System.out.println("程序继续");
    }
}
2.双分支
if(条件表达式){
​
•   执行代码块1;
​
}
​
else{
​
•   执行代码块2;
​
}
import java.util.Scanner;
public class Input {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入年龄:");
        int age = scanner.nextInt();
        if(age > 18){
            System.out.println("你的年龄大于18,要为自己的行为负责。");
        }
        else {
            System.out.println("放过你了");
        }
        System.out.println("程序继续");
    }
}
3.多分支

特别说明:

1.多分支可以没有else,如果前面的所有表达式都不成立,则一个执行入口都没有;

2.如果有else,如果前面的所有表达式都不成立,则默认执行else代码块;

if(条件表达式1){
​
•   执行代码块1;
​
}else if(条件表达式2){
​
•   执行代码块2;
​
}
​
......
​
else{
​
•   执行代码n;
​
}
嵌套分支

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支,外面的分支结构称为外层分支。(一般不要超过三层,可读性不好)

if(){
​
•   if(){
​
•       //if-else...
​
}else{
​
•       //if-else
​
•       }
​
}
switch分支
switch(表达式){
    case 常量1:
            语句块1;
            break;
    case 常量2:
            语句块2;
            break;
            ...
    case 常量n:
            语句块n;
            break;
        default;
        default语句块;
        break;      
}

switch细节:

1.表达式数据类型,应和case后的常量类型一致,或者是可以自动跳转成可以相互比较的类型,比如输入的是字符,而常量是int;

2.switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)

3.case子句中的值必须是常量,而不能是变量

4.default子句是可选的,当没有匹配的case时,执行default,如果没有default子句,也没有任何常量匹配,则没有输出;

5.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾,除非执行到break;

//细节1
public class Input {
    public static void main(String[] args){
        char c1 = 'a';
        switch (c1){
            case 'a':
                System.out.println("ok1");
                break;
            case 'b':
                System.out.println("ok2");
                break;
            default:
                System.out.println("ok3");
        }
    }
}
//细节2
char c = 'a';
        switch (c){
            case 'a':
                System.out.println("ok1");
                break;
            case 'b':
                System.out.println("ok2");
                break;
            default:
                System.out.println("ok3");

※循环(for,while,do while,多重循环)

for循环控制
for(循环变量初始值;循环条件;循环迭代变量){
    循环操作语句;//可以有多条
}

1.for关键字,表示循环控制

2.for有四要素

(1)循环变量初始值

(2)循环条件

(3)循环操作

(4)循环变量迭代

3.循环操作,这里可以有多条语句,也就是我们要循环执行的代码

4.如果循环操作只有一条语句,可以省略{},建议不要省略

for循环细节

1.循环条件是返回一个布尔值的表达式

2.for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略

3.循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开;

//细节2
int i = 1;
for (;i<=10;){
    System.out.println("韩顺平教育"+i);
    i++;
}
//
int i = 1;
for (;i<=10;){
    System.out.println("韩顺平教育"+i);
    i++;
}
System.out.println(i);//i=11
//补充
for(;;){
    //表示一个无限循环,死循环
    System.out.println("ok~");
}
while循环控制

基本语法:while循环也有四要素,只是存放位置和for不一样

循环变量初始化;
​
    while(循环条件){
​
        循环体(语句);
​
        循环变量迭代;
​
}

注意事项:

1.循环条件是返回一个布尔值的表达式

2.while循环是先判断再执行语句

public class Input {
    public static void main(String[] args){
        int i = 1;//循环变量初始化
        while (i <= 10){//循环条件
            System.out.println("韩顺平教育"+i);//执行语句
            i++;//循环变量迭代
        }
    }
}

do...while循环控制
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);

说明:

1.do while是关键字

2.也有循环四要素,只是位置不一样

3.先执行再判断也就是说一定会执行一次

4.最后有一个分号

5.while和do...while区别、

注意事项:

1.循环条件是返回一个布尔值的表达式

2.do...while循环时先执行,再判断,因此它至少执行一次

多重循环控制

1.将一个循环放在另一个循环体内,就形成了嵌套循环。其中for,while,do...while均可作为外层循环和内层循环。【一般建议使用两层,最多不要超过3层】

2.实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当此循环,开始下一次的循环。

3.设外层循环次数为m次,内层为n次,则内层循环实际上需要执行m*n次。

break

break语句用于终止某个语句块的执行,一般使用在switch或者循环中

基本语法

{
    ......
    break;
    ......
}

以while为例

注意事项

1.break语句出现在多层嵌套的语句块中,可以通过标签指明要终止的是哪一层语句块

2.标签的基本使用:

label1:{......

label2: {......

label3: { ......

break label2;

......

}

}

}

(1).break语句可以指定退出哪层

(2).label1是标签,由程序员指定

(3).break后指定到哪个label就退出到哪里

(4).在实际的开发中,尽量不要使用标签

(5).如果没有指定break,默认退出最近的循环体

public class Input {
    public static void main(String[] args){
        label1:
        for (int j=0;j<4;j++){//外层for
            label2:
            for (int i=0;i<10;i++){//内层for
                if (i==2){
                    break;//等价于break label2
                }
                System.out.println("i="+i);
            }
        }
    }
}

continue

1.continue语句用于结束本次循环,继续执行下一次循环

2.continue语句出现在多层嵌套的循环语句体中,可以通过标签指明要跳过的是哪一层循环

基本语法

{

......

continue;

......

}

return

return表示跳出所在的方法,如果return写在main方法中,退出程序

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值