Java基础-程序控制流程

目录

1.顺序结构

1.1特点:

示例:

2.分支结构

3.循环结构


1.顺序结构

顺序结构是程序控制结构中的一种基本形式。在顺序结构中,程序按照从上到下的顺序依次执行每一条语句。这意味着程序的执行路径是线性的,不会有跳转或重复。

1.1特点:

  • 线性执行:程序的每一条语句在前一条语句执行完成后才会被执行。
  • 简单明了:因为没有复杂的跳转或循环,顺序结构是最基础且最容易理解的控制结构。

1.2示例:

假设我们用伪代码描述一个简单的顺序结构程序:

plain  textCopy Code

开始

输入数字A

输入数字B

计算A + B

输出结果

结束

在这个示例中,程序首先输入两个数字,然后计算它们的和,最后输出结果。每一步都是在前一步之后执行的,这就是顺序结构的典型特点。

2.分支结构

2.1 If分支

If的三种格式:

  • 基本格式
if 条件:
    语句块

在条件为真时执行语句块。

  • if-else 格式
if 条件:
    语句块1
else:
    语句块2

在条件为真时执行语句块1,否则执行语句块2。

  • if-elif-else 格式
if 条件1:
    语句块1
elif 条件2:
    语句块2
else:
    语句块3

根据条件1或条件2的真伪执行不同的语句块,若都不满足,则执行语句块3

2.2 switch分支

2.2.1 switch分支结构:

switch(表达式){
   case 值1:
       执行代码...;
       break;
   case 值2:    
       执行代码...;    
       break;
    … 
   default:   
   执行代码n;}

2.2.2switch分支的执行流程:

  • 先执行表达式的值,再拿着这个值去与case后的值进行匹配。
  • 与哪个case后的值匹配为true就执行哪个case块的代码,遇到break就跳出switch分支。
  • 如果全部case后的值与之匹配都是false,则执行default块的代码。

2.2.3  if、switch的比较:各自适合什么业务场景?

  • if在功能上远远强大于switch。
  • 当前条件是区间的时候,建议使用if分支结构来实现
  • 当条件是与一个一个的值比较的时候,建议用switch更合适(格式良好,性能较好,代码优雅)。

2.2.4switch分支结构的几点注意事项:

  • 表达式类型只能是byte、short、int、char,
  • JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。

3.循环结构

3.1 for循环

3.1.1for循环格式:

for (初始化语句; 循环条件; 迭代语句) {
	循环体语句(重复执行的代码);
}

3.1.2例子:

输出3次Hello World

for (int i = 0; i < 3; i++) { 
  System.out.println("Hello World");
}

3.1.3 for循环案例:求水仙花数:

public class waterFlower {
    public static void main(String[] args) {
        getWaterFlower();
    }
    public static void getWaterFlower() {

        int count = 0;
        for (int i = 100; i <= 999; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100;
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
                System.out.print(i + "\t");
                count++;
                if (count % 2 == 0) {
                    System.out.println();
                }
            }
        }
    }
}

3.2 while循环

3.2.1 while循环格式

初始化语句;
while (循环条件) {
   循环体语句(被重复执行的代码);
    迭代语句;
}

3.2.1 例子

int i = 0;
while (i < 3) {
    System.out.println("Hello World");
    i++;}

3.2.2 一张纸折几次可以达到珠穆朗玛峰的高度?

需求:世界最高山峰珠穆朗玛峰高度是:8848.86米=8848860毫米,假如我有一张足够大的纸,它的厚度是0.1毫米。请问:该纸张折叠多少次,可以折成珠穆朗玛峰的高度?

public static void main(String[] args) {
        getPaper();
    }
    public static void getPaper(){
        int count = 0;
        double paper = 0.0001;
        double height = 8848;
        while(true){
            paper = paper*2;
            count++;
            System.out.println("第"+count+"次,厚度为"+paper);
            if(paper>=height){
                System.out.println("需要"+count+"次");
                break;
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值