【JAVA流程控制】

流程控制

一、复合语句

同C语言或其他语言相同,Java语言的复合语句是以整个块区为单位的语句,所以又称块语句。复合语句由开括号“{"开始,闭括号“}"结束。对于复
合语句中的每个语句都是从上到下地被执行。复合语句以整个块为单位,可以用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句。

二、条件语句

1、if条件语句

if(布尔表达式){
     语句序列
}

 
 
  • 1
  • 2
  • 3

注意:条件语句后面的语句序列省略时,可以保留后面的大括号;也可以省略大括号,然后在末尾添加分号。如下:

boolean b = false;
if(b);
=
boolean b = false;
if(b) {}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

2、switch多分支语句

switch语句中表达式的值必须是整型或字符型,常量值1~常量值n必须也是整型或字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量值相同,则执行该case语句后的若干个语句直到遇到break语句为止。此时如果case语句中没有break语句,将继续执行后面case里的若干个语句,直到遇到break语句为止。若没有一一个常量的值与表达式的值相同,则执行default后
面的语句。default语 句为可选的,如果它不存在,而且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。

三、循环语句

1、while循环语句

while(条件表达式)
{
	执行语句;
}

 
 
  • 1
  • 2
  • 3
  • 4

2、do…while循环语句

do
{
	执行语句;
}while(条件表达式);

 
 
  • 1
  • 2
  • 3
  • 4

3、for循环语句

for(表达式1;表达式2;表达式3)
{
	语句序列
}

 
 
  • 1
  • 2
  • 3
  • 4

4、for循环语句增强

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语 句在遍历数组等方面为程序员提供了很大的方便,语法如下所示:

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

 
 
  • 1
  • 2
  • 3
  • 4

例1:创建类Repetition,在主方法中定义一维数组,用foreach语句遍历该数组。

public class Repetition { // 创建类Repetition
	public static void main(String args[]) { // 主方法
		int arr[] = { 7, 10, 1 }; // 声明一维数组
		System.out.println("一维数组中的元素分别为:"); // 输出信息
		for (int x : arr) {
		//foreach语句,int x引用的变量,arr指定要循环遍历的数组,最后将x输出
			System.out.println(x);
		}
	}
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

四、循环控制

1、break语句

使用break跳出循环体。

注意:在循环嵌套情况下,break只会使程序流程跳出包含它的最内层的循环结构,即只跳出一层循环。

例2:在嵌套的循环中使用break跳出内层循环

public class BreakInsideNested {
	public static void main(String[] args) {
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < 6; j++) {
				if (j == 4) {// 如果j等于4的时候就结束内部循环
					break;
				}
				System.out.println("i=" + i + " j=" + j);
			}
		}
	}
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
如果想要break跳出外层循环,Java提供了“标签”的功能,语法如下:

标签名:循环体{
	break 标签名
}

 
 
  • 1
  • 2
  • 3
  1. 标签名:任意标识符
  2. 循环体:任意循环语句
  3. break标签名:break跳出指定的循环体,此循环体的标签名必须与break的标签名一致,带有标签的break可以指定跳出的循环,可以是内循环也可以是外循环。

例3:用带有标签的break跳出外层循环

public class BreakInsideNested {
    public static void main(String[] args) {
        Loop:for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 6; j++) {
                if (j == 4) {// 如果j等于4的时候就结束内部循环
                    break Loop;
                }
                System.out.println("i=" + i + " j=" + j);
            }
        }
    }
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

2、continue语句

continue语句是针对break语句的补充。continue不是立即跳出循环,而是跳过本次循环结束前的语句,回到循环条件的测试部分,在for循环中遇到continue,首先执行循环的增量部分,然后进行条件测试。在while和do…while循环中,continue语句使控制直接回到测试部分。

例4:输出1~20之间的奇数,用continue跳出循环。

public class ContinueTest 
{
    public static void main(String[] args)
    {
        for(int i = 1;i<=20;i++)
        {
            if(i%2==0)
            {
                continue;
            }
            System.out.println(i);
        }
    }
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值