Java 流程控制语句,选择结构与循环结构

流程控制语句

计算机在运行Java的程序时是有根据代码编译后按照一定的流程来运行的,程序员通过编写代码可以控制程序运行的流程,控制的方法结构有顺序结构、选择结构、循环结构这三种

一、顺序结构

代码从主函数开始逐行向下运行是一种宏观的代码运行结构

二、选择结构

在程序执行时根据条件选择执行代码。

选择结构有 if 与 switch 两种结构

if()

单分支 if 语句、双分支 if-else 语句、嵌套 if 语句、多分支 if-else 语句

  • 单分支 if 语句是指当条件为true时执行一个动作。单分支if语句语法如下:
if(布尔表达式){
    Demo1;//代码语句
}

流程图: 

 

  • 双分支 if-else 语句,当布尔表达式的计算结果为 true, 则执行条件为 true 时该执行的语句;否则,执行条件为 false 时该执行的语句。双分支 if-else 语句的语法如下:
if(布尔表达式){
    Demo1;
}else(布尔表达式){
    Demo2;
}

流程图如下:

  •  嵌套 if 语句与多分支 if-else 语句,if 或if-else 语句中的语句可以是任意合法的 Java语句,甚至可以是其他的if 或if-else 语句。内层 if语句称为是嵌套在外层 if语句里的。内层 if语句还可以包含其他的 if 语句;事实上,对嵌套的深度没有限制。语法如下:
if(布尔表达式1){
    Demo1;
    if(布尔表达式2){
        Demo2;
    }else if(布尔表达式3){
            Demo3;
        }else{
            Demo4;
        }
    Demo5;    
}else{
    Demo6;
}

switch()

switch 语句基于变量或者表达式的值来执行语句,switch所要求的变量的数据类型:byte short int char String 枚举,只能对单一的数据进行选择,语法如下:

switch(变量a){
    case 1:
        Demo1;break;
    case 2:
        Demo2;break;
    case 3:
        Demo3;break;
    default:
        Demo4;
}

流程图如下:

 a=1时执行Demo1;a=2时执行Demo2;a=3时执行Demo3;

 三、循环结构

循环是用来控制语句块重复执行的一种结构。

循环的四要素:

  1. 循环的初始化(开始)
  2. 循环的继续条件(结束条件)
  3. 循环体(需要被重复的操作)
  4. 循环的周期,步长(让循环的关键数据改变)i所变化的量

循环的概念是程序设计的基础。Java 提供 了三种类型的循环语句:while 循环、do-while 循环和 for 循环。循环的大致流程图如下:

假如需要输出:

********

********

********

********

********

  • 如果不用循环,则代码为:
System.out.println("********");
System.out.println("********");
System.out.println("********");
System.out.println("********");
System.out.println("********");
  • 显然这样的代码比较繁琐,用了循环结构后就不繁琐了,以for循环为例代码为:
for(int i=1;i<=5;i++){
    System.out.println("********");
}

while循环的语法:

while(循环条件){    //当满足循环条件时进入循环体
    Demo1;         //循环体
    循环条件的改变; //若无,则是死循环   
}

 do-while 循环是 while 循环的变体,它的语法如下:

do{
    Demo1;//循环体
    循环条件的改变;
}while(循环条件);

for循环的语法:

for(1 循环初始化;2 循环条件;4 循环条件的改变){
    3 Demo1;
}//循环的流程为1234 234 234 ……至不满足循环条件然后结束循环

循环的嵌套:

嵌套循环是由一个外层循环和一个或多个内层循环组成的。每当重复执行一次外层循环时将再次进人内部循环,然后重新开始。 

以for循环为例:

当需要输出:

*

**

***

****

*****

可以将一个for循环来实现一行打印*的个数,然后再将在这个for循环嵌套一个for循环来控制逐行打印,代码如下:

for(int i=1;i<=5;i++){
    for(int j=1;j<=i;j++){
        System.out.print("*");
    }
    System.out.println();
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值