Java控制流程(if、while、do/while、for、switch)

一、块作用域

块(block),即复合语句,是由一对大括号括起来的若干条件简单的Java语句。。块确定了变量的作用域,一个块可以嵌套在另一个块中。

static {
		
}

二、条件语句

Java中,条件语句的格式为:if(condition) statement ,这里的条件必须用括号括起来


if循环有三种,上面是流程图解,下面我们用代码来实现。

public static void main(String[] args) {

    boolean a = true;
    boolean b = true;
    boolean c = true;
    boolean d = true;

    if( a ) {
        System.out.println("a");
    }
		
    if( a ) {
	System.out.println("a");
    }else {
	System.out.println("a_else");
    }
		
		
    if( a ) {
	System.out.println("a");
    }else if( b ) {
	System.out.println("b");
    }else if( c ) {
	System.out.println("c");
    }else if( d ) {
	System.out.println("d");
    }else {
	System.out.println("!abcd");
    }
		
		
}
输出结果为:
a
a
a

三、循环语句

当条件为true时,while循环值性一条语句(也可以是一个语句块)。一般格式为

whileconditionstatement


上图是while循环的流程图,下面我们用代码做具体实现:

public static void main(String[] args) {
    int num = 10;
    while( num > 5 ) {               //条件判断
        System.out.println("+++");   //代码块
	num--;                       //条件改变
    }	
}

输出结果为:

+++
+++
+++
+++
+++

while循环语句首先检测循环条件,因此,循环体中的代码可能不会被执行。如果希望循环体至少执行一次,则应该将检测条件放在最后。使用dowhile循环语句可以实现这种操作方式。他的语法格式为:

do  statement whilecondition


上图是do/while循环的流程图,下面我们用代码做具体实现:

public static void main(String[] args) {
    int num = 10;
    do{
	System.out.println("+++");	  //代码块
	num--;				  //条件改变
    }while( num > 15 );		          //条件判断
}

输出结果为:

+++

还有一种循环模式叫做for循环,他是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。

for(初始定义;条件判断;更改条件)  statement


上图是for循环的程序流程图,接下来我们用代码实现:

public static void main(String[] args) {
    int num = 6;
    for(int i = 0 ; i < num ; i++) {	//条件声明 ; 条件判断 ; 条件改变
        System.out.println("+++---");	//代码块
    }
}

输出结果为:

+++---
+++---
+++---
+++---
+++---
+++---

四、多重选择语句:switch语句

在处理多个选项时,使用if/else结构显得有些笨拙。Java有一个与C/C++一样的swich语句。

switch(choice){

    case 1:........break;

    case 2:........break;

    case 3:........break;

    case 4:........break;

    default:........break;

}

注意,如果在case分支语句的末尾没有break语句,那么就接着执行下一个case语句分支。这种情况相当危险,常常会引发错误。

下面我们用代码来实现:

public static void main(String[] args){
    int key = 111;
    switch (key) {
        case 111:System.out.println("111");
		break;
	case 222:System.out.println("222");
		break;
        case 333:System.out.println("333");
		break;
	default:System.out.println("444");
		break;
    }
}

输出结果为:

111
444

五、中断控制流程序

尽管Java的设计者将goto作为保留字,但实际上并没有打算在语言中使用它。我们一般都用breakcontinue

下面先看一下不在标签的break语句,用于退出switch语句的break语句一样,他可以用于退出循环语句。例如:

接下来,我们来看一下continue语句,与break一样,他将中断正常的控制流程,他只是跳出了当前循环,然后马上有开始下一次循环,示例如下:

public static void main(String[] args) {
    for(int i = 0 ;i< 5 ;i++) {
	System.out.println("1111");
	continue;			
    }
}

输出结果为:

1111
1111
1111
1111
1111

如果是break;那么情况会变成什么样,我们来接着看;

public static void main(String[] args) {
    for(int i = 0 ;i< 5 ;i++) {
	System.out.println("1111");
	break;		
    }
}

那么输出结果就会变成

1111

猜你喜欢

转载自blog.csdn.net/qq_36186690/article/details/80975824