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

Java流程控制与数组(三)

程序员文章站 2024-02-17 22:19:58
...

循环结构

(1)while语句

            语法格式如下所示:

while(循环条件)
{
    循环体;
}

           使用while循环时,一定要保证循环条件有变成false的时候,否则这个循环将变成一个死循环,永远无法结束该循环。注意如果while循环的循环条件后紧跟一个分号,这个循环的循环体为空语句,会造成该循环变成一个死循环。

(2)do while循环语句

          语法格式如下所示:

do
{
    循环体;
}while(循环条件);

         while循环是先判断循环条件,如果条件为真则执行循环体;do while循环是先执行循环体,然后判断循环条件,如果循环条件为真则执行下一次循环,否则中止循环。注意do while循环的循环条件后必须有一个分号。

(3)for 循环

         语法格式如下所示:

for(初始化语句; 循环条件;循环迭代语句)
{
     循环体;
}

          for循环语句的执行顺序:先执行循环的初始化语句(初始化语句只有在循环开始前执行一次),计算循环条件的值,如果返回true,则执行循环体,循环体执行结束后执行循环迭代语句。

          循环条件总比循环体多执行一次,for循环的循环迭代语句并没有和循环体放在一起,在执行循环体时遇到continue语句结束本次循环,循环迭代语句也一样会得到执行。

(4)嵌套循环

public class NestedCycle 
{
	public static void main(String[] args) 
	{
		for(int i=0; i<4; i++)
		{
		    System.out.println("i的值: " + i);
			if(i == 2)
            {
                 continue;
            }
            System.out.println("continue 后输出的语句");
	    }
		
	}
}

控制循环结构的语句

(1)使用break结束循环

        break语句不仅可以结束其所在的循环,还可以直接结束其外层循环,此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。

public class NestedCycle 
{
	public static void main(String[] args) 
	{
		out:
		for(int i=0; i<4; i++)
		{
            for(int j=0; j<3; j++)
			{
			     System.out.println("  j的值: " + j + "   i的值: " + i);
				 if(j == 1)
				 {
						break out;
				 }
			}
	    }		
	}
}

运行结果为

  j的值: 0   i的值: 0
  j的值: 1   i的值: 0

(2)使用continue忽略本次循环剩下语句

public class NestedCycle 
{
	public static void main(String[] args) 
	{
		out:
		for(int i=0; i<4; i++)
		{
            for(int j=0; j<3; j++)
			{
			     System.out.println("  j的值: " + j + "   i的值: " + i);
				 if(j == 1)
				 {
						continue out;
				 }
			}
	    }		
	}
}

运行结果为

  j的值: 0   i的值: 0
  j的值: 1   i的值: 0
  j的值: 0   i的值: 1
  j的值: 1   i的值: 1
  j的值: 0   i的值: 2
  j的值: 1   i的值: 2
  j的值: 0   i的值: 3
  j的值: 1   i的值: 3

continue只是忽略本次循环剩下的语句,其后紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。

(3)使用return结束方法

public class NestedCycle 
{
	public static void main(String[] args) 
	{
		for(int i=0; i<4; i++)
		{
            for(int j=0; j<3; j++)
			{
			     System.out.println("  j的值: " + j + "   i的值: " + i);
				 if(j == 1)
				 {
					  return;
				 }
                 System.out.println("return 后");
			}
	    }		
	}
}

运行结果为

  j的值: 0   i的值: 0
return 后
  j的值: 1   i的值: 0

一旦在循环体内遇到return 语句,就会结束该方法,不管return处于多少层循环之内。