欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-21 18:28:44
...

一、块作用域

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

static {
		
}

二、条件语句

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

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

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

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

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

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

输出结果为:

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

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

do  statement whilecondition

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

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

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

输出结果为:

+++

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

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

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

上图是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;

}

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

注意,如果在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