代码改变世界

java流程控制

2020-05-11 18:46  躲躲藏藏  阅读(153)  评论(0)    收藏  举报

java中的流程控制主要使用条件语句和循环结构(通性)。

关于流程控制,需要了解一点概念--作用域

作用域是什么呐?

作用域--一个变量或者一段代码的有效范围。(就这里而言,非访问修饰符)

以下举一个例子

 

在这一段代码中,我定义了五个变量:

其中变量i的作用域为main函数中;

变量j的作用域为第一个循环中;

第一个变量n的作用域也为第一个循环中;

变量s的作用域为第二个循环中;

第二个变量n的作用域为第二个循环中。

也就是说,不管是变量j还是变量s,亦或者两个变量n,他们都不能在循环体外访问。

虽然我定义了两个变量n,但因为他们的作用域没有重合,所以是可行的。

也就是说,你不应该定义两个相同名称且作用域有重合的变量,比如在上述代码的循环体中定义一个变量i。


 

条件语句 

 

 


 

if(执行条件){

  具体语句;

}


 

其中,执行条件这里实际上是一个Boolean类型,当其为真的时候,才进入其中执行具体语句。

你也可以通过else/else if来拼接条件语句,实现多项判断:


 

if(执行条件){

  具体语句;

}else if(执行条件){

  具体语句;

}else{

  具体语句;

}


 

当第一个条件不符合时则进入第二个条件判断(else if),如果都不符合,则执行else。


循环语句

1.while()循环,其基本结构为:


 

while(执行条件){

  具体语句;

}


 

在while循环中,当执行条件为真时,继续执行具体语句,直至执行条件为假时,才停止循环;


2.do while()循环,其基本结构为:


do{

  具体语句

}while(执行条件)


在do while循环中,当执行条件为真时,继续执行具体语句,直至执行条件为假时,才停止循环;


3.for循环其基本结构为:


 

for(初始值;执行条件;初始值的改变){

  具体语句;

}


 

在for循环中,当执行条件为真时,继续执行具体语句,直至执行条件为假时,才停止循环;

其中,初始值需要初始化赋值。



 补充:这三种循环在具体的情景中有不同的使用,根据其判断条件语句的位置,其执行具体语句的时间也不同;

死循环的补充,即执行条件永远为真,这个循环就不会停下来,这种情况应该尽量避免他,但在实际的使用中也有应用。


 

多重选择

switch语句主要是为了去简化if/else结构(在处理多个选项时),其主要结构为:


 

switch(变量表达式)

{  

  case 常量1:

    具体语句;

    break;

  case 常量2:

    具体语句;

    break;

  ...

  default:

    具体语句;

    break;

}


 

在switch语句中,变量表达式来自外部的输入,当变量表达式与常量相同或者相等时,

则执行这部分语句。


 

中断控制流程语句

java中的中断控制流成语句有goto,break,continue,

其中goto很少使用,这里不做介绍。

break语句的作用为跳出当前的所有循环(多重嵌套循环),即结束循环;

continue语句的作用是中断当前(本次)的循环,即继续其他循环;