流程控制

文章目录

  • 流程控制
    • 一、块作用域
    • 二、条件语句
      • 1.单分支 if 语句
      • 2.双分支 if-else 语句
      • 3.嵌套 if 语句
      • 4.多分支 if-else if 语句
      • 5.switch 语句
    • 三、循环语句
      • 1.while循环
      • 2.do-while循环
      • 3.for循环
      • 4.关键字 break 和 continue

一、块作用域

  • block 的概念:块(即复合语句)是指由一对大括号括起来的若干条简单 Java 语句。块确定了变量的作用域。
  • 不能在嵌套的两个块中声明同名的变量(C++ 中,可以在嵌套的块中重定义一个变量。在内层定义的变量会覆盖在外层定义的变量。这样,有可能会导致程序设计错误,因此在 Java 中不允许这样做)

二、条件语句

Java中条件语句的格式:

1.单分支 if 语句

if (condition) statement;

2.双分支 if-else 语句

if (condition) statement1;
else statement2;

3.嵌套 if 语句

if (condition1) {if (condition2) statement1; else statement2;
}
else {if (condition3) statement3; else statement4;
}

4.多分支 if-else if 语句

if (condition) statement1;
else ifstatement2;
elsestatement3;

5.switch 语句

switch (switch 表达式){case 值 1: 语句(组)1;break;case 值 2: 语句(组)2;break;...case 值 N: 语句(组)n;break;default:默认情况下执行的语句(组)
}
  • switch 语句遵从下述规则:

    • ① switch 表达式必须能计算出一个 char、byte、short,int 或者 String 型值,并且必须总是要用括号括住。
    • ② valuel,…,valueN 必须与 switch 表达式的值具有相同的数据类型。注 意:valuel, valueN 都是常量表达式,也就是说这里的表达式是不能包含变量的,例如,不允许出现 1+X。
    • ③ 当 switch 表达式的值与 case 语句的值相匹配时,执行从该 case 开始的语句,直到遇到一个 break 语句或到达该 switch 语句的结束。
    • ④ 默认情况(default)是可选的,当没有一个给出的 case 与 switch 表达式匹配时,用来执行该操作。
    • ⑤ 关键字 break 是可选的。break 语句会立即终止 switch 语句。

三、循环语句

1.while循环

  • while循环格式

    while( 循环继续条件)
    { 循环体;语句 (组);}
    
  • while循环流程图

2.do-while循环

  • do-while循环语句格式

    do {循环体 ;语句(组 );
    } while ( 循环继续条件);
    
  • do-while循环流程图

3.for循环

  • for循环语句格式:
for (初始操作;循继续条件;每次迭代后的操作){ 循环体;语句(组);
}
  • for循环流程图

  • for each循环

    Java 种功能很强的循环结构,可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心。

    增强的 for 循环的语句格式:

    for (variable : collection) {statement
    }
    
    • variable定义一个变量用于暂存集合中的每一个元素,并执行相应的语句。
    • collection集合表达式必须是一个数组或者是一个实现了 Iterable 接口的 类对象

4.关键字 break 和 continue

关键字 breakcontinue 在循环中提供了額外的控制。

  • continue:当程序遇到 continue 时,它会结束当前的迭代。程序控制转向该循环体的末尾。continue 只是跳出了一次迭代。

    continue 语句总是在一个循环内。在 while 和 do-while 循环中,continue 语句之后会马上计算循环继续条件;而在 for 循环中,continue 语句之后会立即先执行每次迭代后的动作,再计算循环继续条件。

  • break:在一个循环中使用 break 立即终止该循环.

    Java 还提供了一种带 break 语句,用于跳出多重嵌套的循环语句.请注意,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。

    flag:
    while (condition1){while(condition2){...break flag;}
    }
    

尽管 Java 的设计者将 goto 作为保留字, 但实际上并没有打算在语言中使用它 通常使用 goto 语句被认为是一种拙劣的程序设计风格

【Java程序设计】流程控制相关推荐

  1. 黑马 程序员——Java基础---流程控制

    黑马程序员--Java基础---流程控制 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java提供了两种基本的流程控制结构:分支结构 ...

  2. Java架构师成长之道之Java程序流程控制

    Java架构师成长之道之Java程序流程控制 Java架构师成长之道 4.1 程序流程控制概述 之前编写的绝大多数程序都是顺序执行,也就是从main函数开始,由上到下一行一行的执行,也被称为顺序结构. ...

  3. Java程序流程控制(顺序结构、分支结构、循环结构、if-else、switch-case、for、while、do-while、break、continue、return)

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:         顺序结构         ...

  4. 第三堂:Java程序流程控制

    在程序设计时,我们常常需要改变程序的控制流程.语句的执行顺序.而我们有三种基本的技术可以改变这个流程:①调用方法,②选择,③循环. 流程控制是所有编程语言的基础部分,Java自然也不例外:Java的流 ...

  5. Java程序流程控制(符号函数sgn、闰年判断)

    选择.循环.跳转 块(block):复合语句:由一对{ }起来的Java语句 block控制着变量的作用域(scope) public static void main(String[] args){ ...

  6. java程序流程控制

    写到这里,才算正式进入编程语言. 之前的都是基础中的基础,用数学方式发打比方来说,就是学习阿拉伯数字和简单的四则运算,现在开始做应用题了 程序流程控制分为 1.顺序结构 程序从上到下逐行执行,中间没有 ...

  7. Java基础+流程控制+方法+数组【笔记含代码】

    文章目录 什么是计算机 计算机硬件 计算机软件 DOS命令 计算机语言发展史 第一代语言 第二代语言 第三代语言 Java帝国的诞生 C & C++ 反抗 Java初生 Java发展 Java ...

  8. java程序流程控制_java程序流程控制

    顺序结构 分支结构(条件结构) 循环结构 控制循环结构 顺序结构: 如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后. if语句: 基本语法: ...

  9. java高级流程控制多线程作业设计_Java高级-解析Java中的多线程机制

    线程的状态控制 在这里需要明确的是:无论采用继承Thread类还是实现Runnable接口来实现应用程序的多线程能力,都需要在该类中定义用于完成实际功能的run方法,这个run方法称为线程体(Thre ...

  10. java语句witch,java程序流程控制--witch

    switch语句的基本格式: switch(表达式) { case 值1: 语句1; break; case 值2: 语句2; break; case 值3: 语句3; break; ... defa ...

最新文章

  1. 程序员总结:帮助你早些明白一些道理
  2. 设计模式(十)享元模式Flyweight(结构型)
  3. 马哥linux2020博客,马哥linux学习(bash shell学习)
  4. Django CMS介绍(转载)
  5. python高阶函数filter_Python进阶系列连载(13)——Python内置高阶函数filter(上)...
  6. python字符串转化为数字-python 中判断字符串能否转换为数字类型
  7. markdown语法简明笔记
  8. gnuwin32从全量备份中单表还原_入门MySQL——备份与恢复
  9. 【房价预测】基于matlab GM模型房价预测【含Matlab源码 346期】
  10. 房地产“产权分割制”是什么大杀器?
  11. QQ、淘宝、MSN、Skype在线状态代码生成方法
  12. TwinCAT3实现OPCUA通讯问题总结
  13. UltraEdit下Shift键失效
  14. linux之文件压缩解压
  15. 计算机操作系统发展史免费 ppt,《计算机操作系统》PPT课件
  16. Linux oci连接oracle服务器
  17. 【工业4.0】第四次工业革命潜在的市场变化,随之萌生的机遇,以及构建企业敏捷能力的实践方法。...
  18. 可靠传输的原理:停止等待协议、ARQ协议;TCP协议的可靠传输
  19. 微服务入门篇(二),万字长文带你实操作SpringCloudAlibaba微服务组件
  20. 在线免费词云图制作网站汇总

热门文章

  1. 28181之安装SPVMN的视频插件
  2. d3d 渲染遇到的几个问题
  3. linux docker端口映射无法访问,docker设置了端口映射,不能访问的解决方案
  4. python修改文件后缀_Python批量修改文件后缀的方法
  5. python中execute函数_在excel中调用python函数
  6. sql加上唯一索引后批量插入_MySQL批量插入遇上唯一索引避免方法
  7. Windows2012服务器无法复制粘贴问题
  8. IDEA 控制台显示Run Dashboard
  9. linux系统根目录执行了chmod,根目录执行chmod -R 777 / 的补救方法
  10. java 包结构 枚举类_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...