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

Java学习之——流程控制

最近开始我的Java学习,从JavaSE的基础知识学起,照着《疯狂Java讲义》这本书一边学一边动手练习。感觉学习起来比较轻松,下面是我刚刚学习完的Java流程控制的笔记和配套的简单例子,没

最近开始我的Java学习,从JavaSE的基础知识学起,照着《疯狂Java讲义》这本书一边学一边动手练习。感觉学习起来比较轻松,下面是我刚刚学习完的Java流程控制的笔记和配套的简单例子,没有什么空话废话,全是干货。


Java流程控制分为如下3种结构:
顺序结构:在一个方法中,程序代码总是从上到下,按顺序执行。
分支结构:根据条件,执行某一段代码。
循环结构:控制把一件事情做很多次,直到出现满足某个条件。

顺序结构就没什么好说的了,下面讲讲分支结构循环结构

★ if分支

语法:
     if (条件)
       {

        }  else if (条件)   // else if块 可以出现0~N次
        {

        }
        …
        else                // else块 可以出现0~1次
        {

        }

▲ if分支的注意点:
        – 如果条件执行体只有一行代码,程序允许省略条件执行体的花括号;
          但你如果省略了花括号,if条件只控制到紧跟if条件的第一个分号。

简单示例:

Java学习之——流程控制

★ switch分支

语法:
      switch(表达式)
      {
            case 值1:         // case块可以出现1~N次
                  语句;
                  break;
            case 值2:
                  语句;
                  break;
            …
            default:          // default块可以出现0~1次
                  语句;
                  break;
      }

程序会计算 “表达式” 的值,如果“表达式”与某个case之后的值相等, 那么程序就会执行该case块的代码。如果“表达式”与所有case的值都不相等,程序执行default块。

      ▲ switch分支的注意点:
        – switch表达式的类型只能是6种:byte、short、int、 char、String(JDK1.7)、枚举Enum。
        – switch分支省略了break之后会发生贯穿。

       贯穿:程序会从第一个匹配的case块开始执行,接下来在遇到 break之前,程序不会再判断case后的值,而是直接执行case块。

简单示例:

Java学习之——流程控制

★ while循环

语法:

  while(条件)

    {

        循环体

    }

程序先判断“条件”,如果条件为true,执行循环体;循环体执行完之后,程序再次回到while开始判断“条件”,如果条件为true,再次执行循环体; …… 直到某一次,程序判断“条件”为false,程序结束循环。

条件的执行次数 = 循环体执行次数 + 1
死循环:无限循环。

      ▲ while分支的注意点:
        – 如果循环体只有一行代码,程序允许省略循环体的花括号;
          但你如果省略了花括号,while条件只控制到紧跟while条件的第一个分号。

简单示例:

Java学习之——流程控制

★ do while循环

   语法:
   do   {

    } while(条件);

程序先执行一次循环体; 循环体执行完之后,程序进入while开始判断“条件”,如果条件为true,再次执行循环体;……直到某一次,程序判断“条件”为false,程序结束循环。

条件的执行次数 = 循环体执行次数
可能的情况是,循环条件开始就为false,但循环体也会执行一次。

简单示例:

Java学习之——流程控制

★ for循环

    语法:
   for(初始语句 ; 循环条件 ; 迭代语句)
    {
          // 循环体
    }

 循环开始之前,程序执行“初始语句”,程序只执行“初始语句”一次。 程序先判断“条件”,如果条件为true,执行循环体; 循环体执行完之后,程序会执行迭代语句,程序再次判断“条件”,如果条件为true,再次执行循环体; …… 直到某一次,程序判断“条件”为false,程序结束循环。

条件的执行次数 = 循环体执行次数 + 1
迭代语句的执行次数 = 循环体执行次数

 for循环可以改写为while循环:

      初始语句
      while(循环条件)
      {
          // 循环体
          迭代语句
      }

    ▲  for循环的注意点:
        – for循环的初始语句、循环条件、迭代语句都可以不写,只有两个分号是必须的。
          如果不写循环条件,相当于循环条件永远为true,此时循环就是死循环。
        – for循环的初始语句可以同时声明多个变量,只要它们的类型相同即可,多个变量之间用逗号隔开。
           迭代语句可以有多条语句,多条语句用逗号隔开。

简单示例:

Java学习之——流程控制

推荐阅读
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 本文小编为大家详细介绍“Java中的逻辑结构模式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中的逻辑结构模式有哪些”文章能帮 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文介绍如何在MySQL中创建一个自定义函数,用于将包含多个班级编号的字符串拆分为对应的班级名称。通过详细解释代码逻辑和功能,帮助读者理解并应用这一技术。 ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • MySQL 基础操作与优化
    本文详细介绍了 MySQL 的基础连接、数据库及表的操作,涵盖创建、修改、删除等常用命令,并深入解析了数据类型、列属性、索引、外键和存储引擎等内容。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 本文介绍了如何在PHP Magento模型中自定义主键,避免使用默认的自动递增主键,并提供了解决方案和代码示例。 ... [详细]
  •   Python入门必读的if语句嵌套方法
    这篇文章主要介绍了Python入门必读的if语句嵌套,基于前面章节介绍的 3 种形式的条件语句,即 if、if else 和 if elif else展开 Python if 语句 ... [详细]
  • 本文目录一览:1、java方法执行顺序2、ja ... [详细]
author-avatar
花落---守护者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有