JAVASE学习五——控制语句

JAVASE学习五——控制语句

一.序言

  • 流程控制语句的作用:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

  • 流程控制语句的分类:

    • 顺序结构
    • 分支结构(选择结构)
    • 循环结构
  • 流程控制的流程:

    在这里插入图片描述

二.顺序结构

​ JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结 构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它 是任何一个算法都离不开的一种基本算法结构。顺序结构在程序流程图中的体现就是用流程线将程序框自上而 地连接起来,按顺序执行算法步骤。

三.分支结构(选择结构)

​ 分支结构会根据逻辑判断选择不同的路径执行代码。分支结构可分为:if选择和switch选择。其中if选择又分 为单分支,双分支,多分支。下面来具体介绍下。

1.if选择

if单分支

​ 语法结构:

if(布尔表达式){

语句块;

}

​ 含义:if语句对布尔表达式进行一次判定,若判定为真,则执行代码块中的语句,否则跳出该语 句。流程图如图所示:

在这里插入图片描述

​ 实例代码:

	int i = 10;
    if(i>=0){
        System.out.println("i>=0"); //输出
    }
if-else双分支

​ 语法结构:

if(布尔表达式){

语句块1;

}else{

语句块2;

}

​ 含义:当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。流程图如图 所示:

在这里插入图片描述

​ 实例代码:

		if(i>=0){
            //System.out.println("i>=0");
            if(i==0){
                System.out.println("i=0");
            }else{
                System.out.println("i>0");
            }
        }else{
            System.out.println("i<0");
        }
if-else if 多分支

​ 语法结构:

if(布尔表达式1) {
​ 语句块1;

} else if(布尔表达式2) {
​ 语句块2;
​ }……
​ else if(布尔表达式n){
​ 语句块n;
​ } else {
​ 语句块n+1;
​ }

​ 含义:当布尔表达式1的值为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真 时,执行语句块2;否则,继续判断接下来的布尔表达式;当所有都为假时,则执行else中 的语句。流程图如图所示:

在这里插入图片描述

​ 实例代码:根据随机值进行选择

			int age = (int) (100 * Math.random());
			System.out.print("年龄是" + age + ", 属于");
			if (age < 15) {    
				System.out.println("儿童, 喜欢玩!");
			} else if (age < 25) {    
				System.out.println("青年, 要学习!");
			} else if (age < 45) {    
				System.out.println("中年, 要工作!");
			} else if (age < 65) {    
				System.out.println("中老年, 要补钙!");
			} else if (age < 85) {    
				System.out.println("老年, 多运动!");
			} else {    
				System.out.println("老寿星, 古来稀!");
			}

​ 执行:这次随机到了77就依次从上到下判断,当进入到age<85这个表达式判断时发现是true则 进入这个代码块。

在这里插入图片描述

2.switch选择

​ 语法结构:

switch (表达式) {
​ case 值1:
​ 语句序列1;
​ [break];
​ case 值2:
​ 语句序列2;
​ [break];
​ … … … … …
​ [default:默认语句;]

}

​ 含义:switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句或是 switch语句的末尾。如果表达式的值与任一case标签值都不匹配,则进入default(如存 在)。Ps:case标签必须是整数(byte,short,int,char)或枚举或字符串。switch多分支结构的流 程图如图所示:

在这里插入图片描述

​ 实例代码:

            public class VowelsAndConsonants {
            public static void main(String[] args) {
            char c = 'a';
            int rand =(int) (26*Math.random());
            char c2 = (char)(c+rand);
            System.out.print(c2 + ": ");
            switch (c2) {
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
            System.out.println("元音"); break;
            case 'y':
            case 'w':
            System.out.println("半元音"); break;
            default:
            System.out.println("辅音");
            }
            }
            } 

四.循环结构

​ 循环结构就是重复地执行一些相同类似的操作,循环结构的三要素是:循环变量初始值,循环体,循环中止条件。java中有while,do-while,for循环。

1.while循环

​ 语法结构:

初始值

while (中止条件(布尔表达式)) {
循环体;
}

​ 含义:在循环刚开始时,会计算一次"布尔表达式",若条件为真,执行循环体。对于后来的每一次额 外的循环,都会在开始前重新计算一次布尔表达式,所以循环体中应该有让循环趋于结束的语 句,否则就会出现死循环。while循环结构流程图如图所示:

在这里插入图片描述

​ 代码实例:

        public class WhileTest {   
                public static void main(String[] args) {       
                    //while循环练习,依次输出1-10        
                    int i = 1;        
                    while(i<11){            
                        System.out.println(i);           
                        i++;        
                    }    
                }
        }

​ 控制台输出:

在这里插入图片描述

2.do-while循环(了解即可,不常用)

​ 语法结构:

初始值;

do {
循环体;
} while(布尔表达式) ;

​ 含义:相比较于while循环,do-while循环最少会进行一次循环体,然后在通过布尔表达式判断条件是否 为真,若为真则继续执行循环体,若为假则结束循环体。流程图如图所示:

在这里插入图片描述

​ 代码实例:

        public class DoWhileTest {   
        	public static void main(String[] args) {        
        			//依次输出1-10        
        			int i =1;        
        			do{            
        				System.out.println(i);           
                        i++;        
                     }while (i<11);    
              }
         }

​ 输出:在这里插入图片描述

3.for循环

​ 语法结构:

for (初始表达式; 布尔表达式; 迭代因子) {
循环体;

}

​ 含义:for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。for循环在第一次反复 之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true, 则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行 迭代因子。

1.初始化部分设置循环变量的初值

2.条件判断部分为任意布尔表达式

3.迭代因子控制循环变量的增减

​ for循环在执行条件判定后,先执行的循环体部分,再执行步进。

​ for循环结构的流程图如图所示:

在这里插入图片描述

​ 实例代码:

			public class ForTest {    
                public static void main(String[] args) {       
                    //输出1-10        
                    for (int i =1;i<11;i++){           
                        System.out.println(i);        
                    }    
                }
            }

​ 输出:

在这里插入图片描述

4.补充

​ 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环;continue用于中止某次循环,即跳过循环体中未执行的剩余代码部分,进行下一次是否循环判定;return用于直接结束当前方法。

 System.out.println(i);        
                }    
            }
        }

​							输出:

[外链图片转存中...(img-43PxMpRP-1657874324114)]

### 4.补充

​		在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环;continue用于中止某次循环,即跳过循环体中未执行的剩余代码部分,进行下一次是否循环判定;return用于直接结束当前方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值