Java分支结构和循环结构原理与用法详解

 更新时间:2020年02月13日 11:57:55   作者:扎心了,老铁  
这篇文章主要介绍了Java分支结构和循环结构原理与用法,结合实例形式分析了java分支结构、循环结构、跳转语句等相关概念、原理、使用技巧与操作注意事项,需要的朋友可以参考下

本文实例讲述了Java分支结构和循环结构。分享给大家供大家参考,具体如下:

流程控制分类

  • 顺序语句:从上到下按顺序依次执行
  • 分支语句:根据条件不同,执行不同语句
  • 循环语句:重复执行某些动作

单分支条件判断语句

条件语句

  只是单独的判断条件是否成立

if选择结构是根据条件判断之后再做处理

语法

if(布尔表达式)
{
  //如果布尔表达式为true将执行的语句
}

注意:条件必须是boolean类型
if只带一条语句可以省略{}

双分支条件判断语句

if...else...需要对条件成立和不成立的情况分别处理

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法

if(条件){
  //代码块1
}else{
  //代码块2
}

多分支条件判断语句

if...else if...else 语句

语法

if(布尔表达式 1){
  //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
  //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
  //如果布尔表达式 3的值为true执行代码
}else {
  //如果以上布尔表达式都不为true执行代码
}

注意:多个条件用多个 else if,而if只能有一个;
      else可以省略,表示以上条件都不成立执行else
      if,else if,else只带一条语句可以省略{}

String类型比较字符串相等的方法 

字符串1.equals("字符串2");//相等 true 不相等false
== 判断的是内存地址,是否为同一对象,不是字符串值。

int num2 = input.nextInt();
boolean flag = num2.equals("+");

switch语句

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法

witch(expression){
  case value :
    //语句
    break; //可选
  case value :
    //语句
    break; //可选
  //你可以有任意数量的case语句
  default : //可选
    //语句
}

switch和多重if的区别

【1】switch只能进行等值的条件判断;多重if可以判断任何情况,但多用于范围的判断;

【2】同样都是等值的判断,switch效率要高一些

switch注意:

【1】支持标签堆叠:空标签罗列在一起

【2】多个条件判断可以有多个case标签

【3】default:标签可以省略

【4】break;结束switch不加 继续执行;

【5】表达式的类型与值的类型要一致,只能是byte,short,int,char,String,枚举

package test;

import java.util.Scanner;

public class Test {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("输入一个月份:");
    int month = input.nextInt();
    switch(month) {    
      case 3:
      case 4:
      case 5:
        System.out.println("春天");
        break;
      case 6:
      case 7:
      case 8:
        System.out.println("夏天");
        break;
      case 9:
      case 10:
      case 11:
        System.out.println("秋天");
        break;
      case 12:
      case 1:
      case 2:
        System.out.println("冬天");
        break;
      default:
        System.out.println("输入的月份不正确!");
    }
    System.out.println("Game Over!");
  }
}

分支语句嵌套

if(条件1){

  if(条件2){
   代码块;
  }
}

注意:只有外层 条件1 成立true,才能进行内层 条件2 的判断。

循环语句

循环:重复执行的操作。
特点:循环条件
循环操作

分类:
非固定次数循环
while
do - while

固定次数循环
for

非固定次数循环

while(条件){
 循环体;//循环操作

}

特点:先进行条件判断,后执行循环操作。
解决循环次数固定的问题:
三要素:1.循环变量的初值;
    2.循环变量的终止值(条件)
    3.循环变量变化的值(迭代,增量)

解决非固定次数问题:
解题方法:1.确定循环条件
     2.确定循环体;

do-while循环

do{
 循环体;
}while(循环条件);

注意:先执行,后判断条件;

固定次数循环

for(初值;条件终止值;增量){
  循环操作;
}

注意:先条件判断
支持逗号表达式

跳转语句

break

【1】用在switch和循环中

【2】用在单层循环中,用来结束循环 

continue

【1】continue语句用来结束本次循环

【2】用在循环语句中

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • SpringBoot进行Web开发的实现

    SpringBoot进行Web开发的实现

    Spring Boot让我们可以快速构建项目并运行web应用,大大简化了Spring的复杂配置,本文主要介绍了SpringBoot进行Web开发的实现,感兴趣的可以了解一下
    2023-10-10
  • java树结构stream工具类的示例代码详解

    java树结构stream工具类的示例代码详解

    Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。今天通过本文重点给大家介绍java树结构stream工具类的示例代码,感兴趣的朋友一起看看吧
    2022-03-03
  • 使用fastjson中的JSONPath处理json数据的方法

    使用fastjson中的JSONPath处理json数据的方法

    这篇文章主要介绍了使用fastjson中的JSONPath处理json数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 浅谈Java中Lambda表达式的相关操作

    浅谈Java中Lambda表达式的相关操作

    java8新特性,Lambda是一个匿名函数,类似Python中的Lambda表达式、js中的箭头函数,目的简化操作,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • java实现单机版五子棋小游戏

    java实现单机版五子棋小游戏

    这篇文章主要为大家详细介绍了java实现单机版五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • 解决idea每次打开新的项目都需要重新配置maven问题

    解决idea每次打开新的项目都需要重新配置maven问题

    这篇文章主要介绍了解决idea每次打开新的项目都需要重新配置maven问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 关于解决雪花算法生成的ID传输前端后精度丢失问题

    关于解决雪花算法生成的ID传输前端后精度丢失问题

    这篇文章主要介绍了关于解决雪花算法生成的ID传输前端后精度丢失问题,雪花算法生成的ID传输到前端时,会出现后三位精度丢失,本文提供了解决思路,需要的朋友可以参考下
    2023-03-03
  • Spring\SpringBoot配置连接数据库的方法

    Spring\SpringBoot配置连接数据库的方法

    最近在学习SpringBoot,第一步就是要配置数据库,本文详细的介绍了Spring\SpringBoot配置连接数据库的方法,有需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • IDEA中sout快捷键无效问题的解决方法

    IDEA中sout快捷键无效问题的解决方法

    这篇文章主要介绍了IDEA中sout快捷键无效问题,在类文件中进行操作会造成sout快捷命令无法自动生成,比如操作了import引入其它包之后,本文给大家分享解决方法,感兴趣的朋友一起看看吧
    2022-07-07
  • Java Agent探针技术详解示例

    Java Agent探针技术详解示例

    这篇文章主要介绍了Java Agent 探针技术详情,Java 中的 Agent 技术可以让我们无侵入性的去进行代理,最常用于程序调试、热部署、性能诊断分析等场景,下文更多相关资料,感兴趣的小伙伴可以参考一下
    2022-06-06

最新评论