JAVA流程控制

2. 流程控制

2.1 流程控制的定义

程序在执行时,遵循以下三种基础执行结构:

  • 顺序结构
    • 代码从上往下逐行执行,是程序执行最基本(默认)的结构。
  • 分支结构
    • 程序在运行到某节点时遇到多种分支,根据指定条件选择其中一种分支向下执行。
  • 循环结构
    • 某一段代码需重复执行,执行次数由循环条件控制。

可以通过指定语句修改程序结构,该操作称为流程控制,执行语句成为流程控制语句。

流程控制语句按照其修改结构,分为分支流程控制和循环流程控制。

2.2 分支流程控制
2.2.1 if-else

1.基础语法

if(condition){
    //代码1
}
else{
    //代码2
}
//允许没有else,但不允许只有else。

2.基础逻辑

1、condition: boolean类型的变量,或者是boolean结果的表达式。

2、如果condition为true,则code1执?,code2不执?。

3、如果condition为false,则code1不执?,code2执?。

4、if后?可以不写else,但是不能不写if,只写else。

3.语法进阶

在if和else后面的代码段中,若只有一句代码,则大括号可以省略。

2.2.2 switch-case

语法:

switch(variable){
	case value1: ... ;
	case value2: ... ;
	case value3: ... ;
	case value4: ... ;
	...
	default: ... ;
}

执行逻辑:

1、variable是⼀个变量,浮点型除外的类型。
2、捕获variable的值,如果variable的值和某⼀个case能够匹配上,则执⾏这个case后⾯的代码。
3、如果variable的值,和每⼀个case都不匹配,最后执⾏default中的语句。

注意:

  1. switch语句具有穿透性:若该变量值与某一value相同,则自该case起所有的代码段都会执行直至该switch结构结束或遇到关键字 break
  2. default可以随意放置,但规范上放段末。
  3. variable不能说浮点类型。

穿透性有利有弊,自行取舍。

**if-else与switch-case使用场合:**条件是范围的用if-else,确切数值用switch-case。

2.3 循环控制流程

循环:某一段代码被重复执行多次。

循环的三要素:

1.循环的起点:

2.循环的条件:

3.循环的步长:

2.3.1 for

基础语法:

for(循环起点;循环条件;循环步长){
	//循环体
}

快捷键:数组.fori、数组.forr(倒序);

2.执行逻辑:

1、执⾏循环起点代码
2、判断循环条件是否成⽴
3、当循环条件成⽴的时候,循环体执⾏,再执⾏循环步⻓,再判断条件是否成⽴
4、当循环条件不成⽴的时候,循环结束
true
false
循环起点
循环条件
循环体
结束循环
步长

3.语法进阶(增强for循环)

  循环标签:
	for (循环变量类型 循环变量名称 : 要被遍历的对象)  {
      循环体
          break 循环标签;
  }

快捷键:数组.for、foeeach;

4.注意事项:

  1. for循环的循环体中的代码若只有一行,则大括号可省略,但规范上不能省。

  2. for循环小括号中的每一个部分都可省略。其中循环条件不写则默认值true,即循环条件永远成立。但规范上不能省,例:

    int i=0;
    for ( ; ; ){
    	if(i>100){
    		break;
    	}
    	System.out.println(i);
    	i+=2;
    }
    

5.for循环与增强for循环的比较:

1.如果在遍历过程中需要修改元素或者获取下标,使用下标遍历。

2.如果仅仅需要用到各元素的值,使用增强for循环(效率比下标遍历高)。

2.3.2 while

和for循环的执行逻辑基本一致,根据condition的布尔值判断循环是否结束。

1.基础语法:

while(condition){
	//循环体
}
2.3.3 do-while
do{
	//循环体
}while(condition)

先执行一次再判断循环条件,基本不用

2.3.4 break,continue

循环中的break:

代表无论循环条件是否成立,均跳出循环。

continue:

代表停止本次循环,继续下次循环。

2.3.5 for循环和while循环的比较
1、当循环次数是可预期的时候,使用for循环。

2、当循环次数是不可预期的,但是知道循环的条件,使用while循环。
2.3.6 循环标签

可以在循环之前自定义循环标签,适当时刻可以停止循环。

OUTER:
	for(;;){
        //循环体
        break(或者continue) OUTER;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值