《疯狂JAVA讲义》之十三——流程控制

package com.huateng.mjq.chapter4;
/**
 * java 流程控制:顺序结构、分支结构、循环结构
 * 顺序结构不题;
 * 分支结构中:if(){}
 * 			if()else{}
 * 			if()else if(){}else if(){}else {}  这个注意一点:需要把包含范围小的条件放在前面,而且各个分支最多执行一个。
 * 			switch()case break;default break; 需要注意break的使用
 * 
 * 循环结构:循环结构中包含:循环变量初始化,循环条件检测,执行循环体,循环变量修改,再次循环条件检测.....直到循环条件不满足时,循环执行结束或者
 * 		在执行循环体的过程中,使用return,break,continue等,这个下面后面还会讨论;
 * 		for(;;){}  直到型循环,如果省略{},则for循环会将for(;;)后的第一条语句(以分号分隔)作为循环体;这个也同样适用与分支语句if和else if 、else
 * 					for循环中,循环变量初始化,循环条件和循环变量迭代语句都不是必须的,但是分号必须存在,省略循环条件则表示true,死循环;初始化语句可以同时初始化多个相同类型(不限于int)的变量;
 * 		while(){}   直到型循环;
 * 		do{}while();    当型循环,注意while()后的分号。
 * 具体看例子
 * @author Administrator
 *
 */
public class ProceDureContr_1 {
	public static void main(String [] args)
	{
		test3();
	}
	/*a:0.3,b:0.5
	a:0.6,b:1.5*/
	public static void test1()
	{
		for(double a = 0.3,b =0.5;a+b<3;a=a*2,b=b*3)
		{
			System.out.println("a:"+a+",b:"+b);
		}
	}
	/*
	0
	1
	2
	3
	4
	5本次循环要退出了,但是i++还是会被执行
	6
	 */
	public static void test2()
	{
		//由于for跟while,do while不同,它的变量迭代没有放在循环体中,所以在使用continue结束本次循环的执行后,循环变量仍然会进行迭代
		int i;
		for(i =0;i<7;i++)
		{
			if(i==5)
			{
				System.out.println(i+"本次循环要退出了,但是i++还是会被执行");
				continue;
			}
			System.out.println(i);
		}
	}
	/*I love you !*/
	public static void test3()
	{
		int forever = 10;
		//这个for()后面的分号,很致命
		for(int i=0;i<forever;i++);
		{
			//i显示未定义
			//System.out.println("第"+ i +"次,I love you !");
			System.out.println("I love you !");
		}
	}
}
package com.huateng.mjq.chapter4;
/**
 * break:结束break所在的循环执行,继续执行外层循环(如果是循环嵌套);
 * continue:结束执行本次循环continue后的代码,继续下次循环
 * 标签:标签是标识符后紧跟冒号,只有放在循环前使用;
 * break 标签:结束break 标签 所在的循环的执行,跳转至标签所在的地方,继续向下执行
 * continue 标签:
 * @author Administrator
 *
 */
public class ProceDureContr_2 {
	public static void main(String [] args)
	{
		test6();
	}
	/*
	i的值是:0
	i的值是:1
	i的值是:2
	i的值是:3
	i的值是:4
	i的值是:5
	*/
	public static void test1()
	{
		for(int i =0;i<10;i++)
		{
			System.out.println("i的值是:"+i);
			if(i == 5)
				break;
		}
	}
	/*
	i的值是:0
	i的值是:1
	i的值是:2
	i的值是:3
	i的值是:4
	i的值是:6
	i的值是:7
	i的值是:8
	i的值是:9
	*/
	public static void test2()
	{
		for(int i =0;i<10;i++)
		{
			if(i == 5)
				continue;
			System.out.println("i的值是:"+i);
		}
	}
	/*
	循环外
	外层循环: i的值为:0
	内层循环,i的值为: 0,j的值为: 0
	内层循环,i的值为: 0,j的值为: 1
	内层循环,i的值为: 0,j的值为: 2
	*/
	public static void test3()
	{
		System.out.println("循环外");
		outer:
			//这里不允许有任何语句,因为标签放在循环前
			//System.out.println("循环外");
		for(int i =0;i<5;i++)
		{
			System.out.println("外层循环: i的值为:"+i);
			for(int j =0;j<5;j++)
			{
				System.out.println("内层循环,i的值为: "+i+",j的值为: "+j);
				if(j == 2)
					//跳转至外层,外层循环也不会再执行
					break outer;
			}
		}
	}
	/*
	外层循环: i的值为:0
	内层循环,i的值为: 0,j的值为: 0
	内层循环,i的值为: 0,j的值为: 1
	内层循环,i的值为: 0,j的值为: 2
	外层循环: i的值为:1
	内层循环,i的值为: 1,j的值为: 0
	内层循环,i的值为: 1,j的值为: 1
	内层循环,i的值为: 1,j的值为: 2
	外层循环: i的值为:2
	内层循环,i的值为: 2,j的值为: 0
	内层循环,i的值为: 2,j的值为: 1
	内层循环,i的值为: 2,j的值为: 2
	外层循环: i的值为:3
	内层循环,i的值为: 3,j的值为: 0
	内层循环,i的值为: 3,j的值为: 1
	内层循环,i的值为: 3,j的值为: 2
	外层循环: i的值为:4
	内层循环,i的值为: 4,j的值为: 0
	内层循环,i的值为: 4,j的值为: 1
	内层循环,i的值为: 4,j的值为: 2
	*/
	public static void test4()
	{
		for(int i =0;i<5;i++)
		{
			System.out.println("外层循环: i的值为:"+i);
			inner:
			for(int j =0;j<5;j++)
			{
				System.out.println("内层循环,i的值为: "+i+",j的值为: "+j);
				if(j == 2)
					//结束内层循环,后续j = 3,4,都不会执行
					break inner;
			}
		}
	}
	/*
	循环外
	外层循环: i的值为:0
	内层循环,i的值为: 0,j的值为: 0
	内层循环,i的值为: 0,j的值为: 1
	内层循环,i的值为: 0,j的值为: 2
	外层循环: i的值为:1
	内层循环,i的值为: 1,j的值为: 0
	内层循环,i的值为: 1,j的值为: 1
	内层循环,i的值为: 1,j的值为: 2
	外层循环: i的值为:2
	内层循环,i的值为: 2,j的值为: 0
	内层循环,i的值为: 2,j的值为: 1
	内层循环,i的值为: 2,j的值为: 2
	外层循环: i的值为:3
	内层循环,i的值为: 3,j的值为: 0
	内层循环,i的值为: 3,j的值为: 1
	内层循环,i的值为: 3,j的值为: 2
	外层循环: i的值为:4
	内层循环,i的值为: 4,j的值为: 0
	内层循环,i的值为: 4,j的值为: 1
	内层循环,i的值为: 4,j的值为: 2

*/	
	public static void test5()
	{
		System.out.println("循环外");
		outer:
			//这里不允许有任何语句,因为标签放在循环前
			//System.out.println("循环外");
		for(int i =0;i<5;i++)
		{
			System.out.println("外层循环: i的值为:"+i);
			for(int j =0;j<5;j++)
			{
				System.out.println("内层循环,i的值为: "+i+",j的值为: "+j);
				if(j == 2)
					//跳转至外层,内层循环j =3,4不会执行
					continue outer;
			}
		}
	}
	/*
	外层循环: i的值为:0
	内层循环,i的值为: 0,j的值为: 0
	内层循环,i的值为: 0,j的值为: 1
	内层循环,i的值为: 0,j的值为: 3
	内层循环,i的值为: 0,j的值为: 4
	外层循环: i的值为:1
	内层循环,i的值为: 1,j的值为: 0
	内层循环,i的值为: 1,j的值为: 1
	内层循环,i的值为: 1,j的值为: 3
	内层循环,i的值为: 1,j的值为: 4
	外层循环: i的值为:2
	内层循环,i的值为: 2,j的值为: 0
	内层循环,i的值为: 2,j的值为: 1
	内层循环,i的值为: 2,j的值为: 3
	内层循环,i的值为: 2,j的值为: 4
	外层循环: i的值为:3
	内层循环,i的值为: 3,j的值为: 0
	内层循环,i的值为: 3,j的值为: 1
	内层循环,i的值为: 3,j的值为: 3
	内层循环,i的值为: 3,j的值为: 4
	外层循环: i的值为:4
	内层循环,i的值为: 4,j的值为: 0
	内层循环,i的值为: 4,j的值为: 1
	内层循环,i的值为: 4,j的值为: 3
	内层循环,i的值为: 4,j的值为: 4
	 */	
	public static void test6()
	{
		for(int i =0;i<5;i++)
		{
			System.out.println("外层循环: i的值为:"+i);
			inner:
			for(int j =0;j<5;j++)
			{
				if(j == 2)
					//j=2不会打印出下面的信息来
					continue inner;
				System.out.println("内层循环,i的值为: "+i+",j的值为: "+j);
			}
		}
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值