好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java选择结构与循环结构的使用详解

前言

大家了解了Java中的变量、数据类型和运算符后,小编给大家介绍使用选择结构和循环结构解决问题。

一.选择结构

1.1 if选择结构的四种格式

1.1.1 基本if语句—单分支判断

?

1

2

3

4

5

6

7

8

9

if (比较表达式){

     语句体;

}

/*

     执行流程是:判断比较表达式中的值,是true还是false,

    

     如果是true就执行大括号内的语句体,执行完语句体后会继续向下执行

     如果是false,就直接向下执行,不会执行大括号里面的语句体

*/

1.1.2 基本if语句—双分支判断

?

1

2

3

4

5

6

7

8

9

10

11

12

if (表达式){

     语句体 1

} else {

     语句体 2

}

语句 3

/*

     执行流程是:判断比较表达式中的值,是true还是false,

    

     如果是true就执行语句1,执行完语句体1后会向下执行语句3;

     如果是false就执行else里面的语句2,执行完语句体2后继续向下执行语句3;

*/

1.1.3 多重if语句

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

if (表达式 1 ){

     语句 1

} else if (表达式 2 ){

     语句 2

}

......

else {

     语句n+ 1

}

语句n+ 2

/*

     执行流程是:判断比较表达式中的值,是true还是false,

    

     如果是true执行语句1,执行完语句体1后会向下执行语句n+2

    

     如果是false就继续判断表达式2的值是true还是false,

     是true就执行比较表达式2后的语句体2,

     是false就继续向下在做比较表达式n的判断,

    

     直到所有else if里面的比较表达式值都是false,就执行else后的语句体

*/

1.1.4 嵌套if语句

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

if (表达式 1 ){

     语句 1

     if (表达式 2 ){

         语句 2

     } else {

         语句 3

     }

} else {

     语句 4

}

语句 5

/*

     执行流程是:判断比较表达式中的值,是true还是false,

    

     如果是true执行语句1   再判断比较表达式2中的值,

     如果是true就执行语句2,执行完语句体2后会向下执行语句5

     如果是false就执行语句3,执行完语句体3后会向下执行语句5

    

     如果是false就执行语句4,执行完语句体4后会向下执行语句5

*/

注意事项

比较表达式不管简单还是复杂,结果都是boolean类型; if语句控制的语句体如果是一条语句,大括号可以省略。 else后面如果没有if,是不会出现比较表达式的。 四种if语句其实都是一个语句,只要有一个执行其他的都不执行。

1.2 switch选择结构

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

switch (表达式){

     case 值 1 :

         语句 1 ;

         break ;

     case 值 2 :

         语句 2 ;

         break ;

     ......

     default :

         语句n+ 1 ;

         break ;

}

/*

     switch是关键字,声明一个switch语句。

     switch支持的数据类型:

         基本数据类型:byte, short, char, int

         包装数据类型:Byte, Short, Character, Integer

         枚举类型:Enum

         字符串类型:String(Jdk 7+ 开始支持)

        

     case:后面的值就是要和表达式进行比较的值;

     break:表示程序到这里中断,跳出switch语句;

     default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else;

*/

switch语句执行流程

首先计算表达式的值。 和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。 如果没有匹配,就执行default的语句体n+1。

switch选择结构支持的数据类型

jdk1.5以前,只能是byte、short、int、char类型 jdk1.5以后,引入了枚举类型(enum类型)、包装数据类型(Byte、Short、Integer、Character) jdk1.7以后,支持String类型,String类有一个hasCode方法,结果也是返回int类型

实际上,Switch在底层实现,目前只支持整型数据类型

注意事项

case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的 default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。 遇到break或执行到最后就结束判断。

二.循环结构

2.1 while循环结构

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public static void main(String[] args){

     //基本循环体:

     int i= 0 ;

     while (i<= 10 ){

         System.out.println(i);

         i++;

         //输出结果:0,1,2,3,4,5,6,7,8,9,10

     }

|

     where(循环条件){

         循环体语句;

     }

     //扩展循环体:

     where(循环条件){

         循环体语句;

         控制条件语句( break ; continue ;)

     }  

2.2 do-while循环结构

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//基本循环体:

public static void main(String[] args){

     int i= 0 ;

     do {

         System.out.println(i);

         i++;

         //输出结果:0,1,2,3,4,5,6,7,8,9,10

     } while (i>= 10 )

}

     do {

         循环体语句

     } while (循环条件)

//扩展循环体:

     do {

         循环体语句

         控制条件语句( break ; continue ;)

     } while (循环条件)   

2.3 for循环结构

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

public static void main(String[] args){

     for ( int i= 0 ;i<= 10 ;i++){

         System.out.println(i);

         //输出结果:0,2,3,4,5,6,7,8,9,10

     }

}  

    

     for (初始化;条件判断;迭代部分){

         循环体语句;

     }

    

     执行流程:

         1 :执行初始化语句

         2 :执行判断条件语句

             如果这里是 true ,就继续

             如果这里是 false ,循环就结束

         3 :执行循环体语句

         4 :执行迭代部分语句

         5 :回到判断条件

2.4 for-each循环结构

?

1

2

3

4

5

6

7

8

9

10

11

12

13

public static void main(String[] args){

     int [] array = { 1 , 2 , 3 , 4 , 5 , 6 , 7 };

     for ( int i : array){

         System.out.println(i);

         //输出结果:1,2,3,4,5,6,7

     }

}  

    

     for (元素类型 元素名称 : 遍历对象){

         循环操作;

     }

    

}

注意事项

判断条件语句无论简单还是复杂,结果是boolean类型。 循环体语句如果是一条,可以省略大括号,但是不建议。 有分号就没有左大括号,有左大括号就没有分号。 一定要修改控制条件,否则会出现死循环。 在解决问题时,对于循环次数确定的情况,通常选用for循环结构;对于循环结构次数不确定的情况,通常选用while和do-while循环结构。 for-each增强for循环在遍历数组过程中不能修改数组中某元素的值。 for-each仅适用于遍历,不涉及有关索引(下标)的操作。

执行循序

while循环结构:先进行条件判断,再进行循环体。如果条件不成立,退出循环。 do-while循环结构:先进行条件判断,循环体至少执行一次。 for循环结构:先执行初始化部分,再进行条件判断,然后执行循环体,最后进行迭代部分的计算。如果条件不成立,跳出循环。 for-each循环结构:先定义变量,在把数组赋值给变量,在进行遍历。

三.控制语句

(1)break:中断的意思

A:用在循环和switch语句中,离开此应用场景无意义。

B:作用

a:跳出单层循环 b:跳出多层循环,需要标签语句的配合

(2)continue:继续

A:用在循环中,离开此应用场景无意义。

B:作用

a:跳出单层循环的一次,可以继续下一次

(3)return:返回

A:用于结束方法的。

B:一旦遇到return,方法就不会在继续往后执行。

小结:在循环结构中break语句用于终止某个循环,程序跳转到循环体外的下一条语句.

continue语句用于跳出本次循环,进入下一次循环的语句

以上就是Java选择结构与循环结构的使用详解的详细内容,更多关于Java 选择结构 循环结构的资料请关注其它相关文章!

原文链接:https://HdhCmsTestcnblogs测试数据/innn/p/15256212.html

查看更多关于Java选择结构与循环结构的使用详解的详细内容...

  阅读:15次