热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java基础day04分支结构和循环

分支结构和循环1.分支结构1.1switch–caseswitch(/*选择

分支结构和循环

1. 分支结构

1.1 switch – case
switch (/* 选择变量 */) {
    case 常量1:
        处理方式1;
        break;
    case 常量2:
        处理方式2;
        break;
    case 常量3:
        处理方式3;
        break;
    default:
        最终处理方式;
        break;
}
/*
执行流程:
    当程序运行到switch case结构,会拿出switch之后保存选择数据的变量,匹配case之后的常量,找到对应的常量,会执行对应的处理方式,如果没有任何一个case匹配。执行default中的最终处理方式。
    case之后的常量建议数据类型
        int 整型
*/
import java.util.Scanner;

/* switch case演示 */
class Demo1 {
    public static void main(String[] args) {
        // 用于保存用户输入的选择,int数据类型
        int choose = 0;
        Scanner sc = new Scanner(System.in);
        
        System.out.println("1. 红牛");
        System.out.println("2. 二锅头");
        System.out.println("3. 尖叫");
        System.out.println("4. 怡宝");
        System.out.println("5. 百岁山");
        
        choose = sc.nextInt();
        
        switch (choose) {
            case 1:
                System.out.println("1. 红牛 8RMB");
                break;
            case 2:
                System.out.println("2. 二锅头 30RMB");
                break;
            case 3:
                System.out.println("3. 尖叫 4RMB");
                break;
            case 4:
                System.out.println("4. 怡宝 2RMB");
                break;
            case 5:
                System.out.println("5. 百岁山 3RMB");
                break;
            default:
                System.out.println("小店没有...");
                break;
        }
    }
}
1.2 switch – case使用注意事项
1. switch case结构中,能够执行的代码,有且只有case之后,或者default之后的代码。
2. break关键字作用是跳出switch - case结构,代码中有些情况下可以省略break,但是不建议使用。省略break之后,代码会继续运行到下一个break,或者整个switch case 大括号结束代码运行。
3. default处理模块是可以省略的,但是AJCG(阿里巴巴Java开发规范)要求不得省略。default处理模块,可以用于错误信息,异常情况处理,增强代码的健壮性。
4. case选项可以合并,但是不建议这样使用。
5. case选择不得重复,计算机无法选择执行。

2. 循环结构

2.1 为什么要用循环结构
    实际开发中,会存在很多功能代码需要重复使用,重复运行,如果使用CV大法解决问题,会导致代码出现以下一些问题:
    1. 代码过于臃肿
    2. 代码阅读性极差
    3. 代码维护性极差

模块化开发!!!
2.2 while 循环结构
while (/* 循环条件判断 boolean true or false */) {
    // 循环体
    // (循环条件变更)
}
/*
执行流程:
    当前程序运行到while循环结构,首先判断while之后的小括号内容是不是为true,如果为true,执行循环体,直到while之后小括号内容为false,终止循环。
*/
/* while循环结构 */
class Demo3 {
    public static void main(String[] args) {
        int num = 100;
        
        /* Ctrl + C 终止程序运行 */
        while (num > 0) {
            System.out.println("生命之水");
            num -= 1;
        }
    }
}
2.3 do while 循环结构
do {
    // 循环体
    // (循环条件变更)
} while (/* 循环条件判断 boolean true or false */);
/*
执行流程:
    当程序运行到do - while 循环结构,首先不管三七二十一,直接执行一次循环体。然后再来判断while小括号之后的内容是否为true,true继续执行循环体,false终止循环。
*/
/* do while循环结构 */
class Demo4 {
    public static void main(String[] args) {
        int num = 10;
        
        do {
            System.out.println("腹有诗书气自华");
            num -= 1;
        } while (num > 0);
    }
}
2.4 while 和 do while结构对比
while循环 
    每一次循环的执行,都是在循环条件控制范围以内进行的。

do while循环
    第一次执行循环体,是没有任何的条件约束和判断。
    
    两者对比,第一次循环执行 do while是存在隐患的。开发中如果可以使用while循环,尽量不要使用do while来解决问题。
    【已知,可控!!!】
2.5 for 循环结构
for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) {
    // 循环体
}
java基础-day04-分支结构和循环
image.png
/* for循环演示 */
class Demo5 {
    public static void main(String[] args) {
        /*
        通常情况下,for循环中使用的循环变量一般情况下
        i j k l m n 
        */
        for (int i = 0; i 
2.6 break关键字
作用:
    1. 跳出switch case结构
    2. 跳出循环结构
    3. 【要求】有且只能跳出一层结构

    在循环中使用break关键字,是用于在当前循环满足一定条件下,跳出循环,终止当前循环运行。有效的提高程序的运行效率。
class Demo6 {
    public static void main(String[] args) {
        for (int i = 0; i 
2.7 continue关键字
作用:
    跳出本次循环,直接进入下一次循环

continue关键字使用注意事项:
    1. while 和 do while循环结构中,因为continue和循环条件变更前后关系会导致代码出现一定的死循环情况,这里不建议while和do while循环结构中使用continue关键字。
    2. continue关键字在for循环结构中使用,是没有太多的顾虑
    3. continue在实际开发中使用很少
/* continue关键字演示 */
class Demo7 {
    public static void main(String[] args) {
        int num = 10;
        while (num > 0) {
            num -= 1;
            
            if (5 == num) {
                System.out.println("Continue");
                continue;
            }
            
            System.out.println("num : " + num);
        }
        
        num = 10;
        do {
            num -= 1;
            if (5 == num) {
                System.out.println("Continue");
                continue;
            }
            
            System.out.println("num : " + num);
            
        } while (num > 0);
        
        System.out.println("--------------------------------");
        
        for (int i = 0; i 

推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • switch分支结构一、程序运行流程的分类1、顺序结构:根据程序顺序依次执行。2、分支结构:根据判断决定程序的执行顺序。3、循环结构。分支结构三要素&# ... [详细]
author-avatar
手机用户2602886817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有