Java——程序控制结构

程序的结构设计

    程序的结构包含有下面三种

    ⑴ 顺序结构

    ⑵ 选择结构

    ⑶ 循环结构



(1)顺序结构

顺序结构程序就是按书写顺序执行的语句构成的程序段。就是傻瓜式的从上到下依次执行代码语句。

扫描二维码关注公众号,回复: 1679430 查看本文章

如图:


(2)选择结构

根据输入数据和中间结果的不同情况需要选择不同的语句组执行。

Java语言中的选择结构提供了两种类型的分支结构。

  • 条件分支:根据给定的条件进行判断,决定执行某个分支的程序段。
  • 开关分支:根据给定整型表达式的值进行判断,然后决定执行多路分支中的一支。

如图:


条件分支:

if{}单分支语句
if{}…else{}双分支语句
if…{}else if{}…else{}  或者 if{}if{}if{}... 都是多分支语句
条件运算符‘?’(三元运算符也是等效的)


开关分支:

多重选择——switch选择语句
switch (表达式的类型只能为int或char)
      {
      case 选择值1 : 语句主体 1 ;
      break ;
      case 选择值2 : 语句主体 2 ;
      break ;
      …….
      case 选择值n : 语句主体 n ;
      break ;
      default:  语句主体 ; 
      }


(3)循环结构

循环结构的特点是在给定条件成立时,反复执行某个程序段。

  • while循环

while循环执行的流程

    ⑴ 第一次进入while循环,须先为循环控制变量赋起始值

    ⑵ 根据判断条件决定是否继续执行,如果条件判断为真,继续执行循环主体

    ⑶ 条件判断为假(False),跳出循环执行其他语句

    ⑷执行完循环主体内的语句后,重新为循环控制变量(或表达式)赋值(增加或减少),完成后再回到步骤2重新判断是否继续执行循环

使用方法:

while(类型为boolean类型的表达式){
//需要执行的代码段
}
  • do…while循环

do…while循环的格式如下
    do{
    语句1 ;
    语句2 ;
    ….
    语句n ;
    }while (判断条件){//需要执行的代码块};
  • for循环
    for循环语句格式如下
    for (赋值初值;判断条件;赋值增减量)//第一次会执行赋值(仅执行一次)且不会执行第三个表达式;每次执行完毕都会进行赋值增减量并判断条件。
    {
    语句1 ;
    ….
    语句n ;
    }
    for循环流程如下:
    ⑴ 第一次进入for循环时,为循环控制变量赋起始值。
    ⑵ 根据判断条件的内容检查是否要继续执行循环,当判断条件值为真(true)时,继续执行循环主体内的语句;判断条件值为假(false)时,则会跳出循环,执行其他语句。
    ⑶ 执行完循环主体内的语句后,循环控制变量会根据增减量的要求,更改循环控制变量的值,再回到步骤2重新判断是否继续执行循环
  • foreach

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach一般结合泛型使用。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。
从英文字面意思理解foreach也就是“for 每一个”的意思。
foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。

foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
     引用了x的java语句;
}


   循环的跳离

  • break语句//跳出循环

 在while、for、do ~ while或switch语句结构中循环体或语句组中使用break语句可以使程序立即退出该结构,转而执行该结构下面的第一条语句。

  • continue语句//终止本次循环,进行下一次循环
    在while和do ~ while语句的循环体中,执行continue语句将结束本次循环而立即测试循环的条件,以决定是否进行下一次循环。


猜你喜欢

转载自blog.csdn.net/hu_belif/article/details/80735613