黑马程序员——循环

---------------------- 黑马程序员 Android培训、期待与您交流! ----------------------

循环结构



格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;

}

注:

a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是 在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循 环多少次,而是根据某些条件,来控制循环。


For循环与While循环的区别

其实这两个可以互相代替的,比如说

for (int i = 0; i<10; i++) {...//插入语句 }

用while来写就是
int i = 0;
while (i<10) {
...//插入语句
i++;
}

for循环比较简洁,会比while更常用些,尤其是用array的时候,很方便的。

但是如果想做无限循环,while更方便点,比如说
int i = 1;
while (i == 1){ ... }

还有一种do..while,和while差不多,但是do...while在任何情况下都会先执行命令一次,即使i不符合设定条件,
do{
...
}while (i<10);

 

For循环可以将变量定义在循环体中,当循环结束后,会自动释放;



while与doWhile循环的特点

/*
 * While特点:先判断,后执行
 * 
 * 定义初始化表达方式:
 * while(条件表达方式)
 * {
 * 		循环体(执行语句)
 * }
 * 
 * doWhile特点:先执行语句,后判断(即使条件不成立,也要先执行一次)
 * 
 * do
 * {
 * 		循环体(执行语句)
 * }
 * while(条件表达式)
 */

package cn.jbit.output;

public class wihle循环 {
	
	public static void main(String[]args)
	{
		//While循环
		int x = 1;
		while(x<5)
		{
			System.out.println("While循环打印:"+x);
			x++;
		}
		
		//doWhile循环
		int y = 0;
		do
		{
			System.out.println("doWhile循环打印:"+y);
			y++;
		}while(y>0 && y<10);
	}
}


For循环

/*
 * 1.获取1-10的和,并打印
 * 2.1-100之间  7的倍数的个数,并打印
 */
public class ForText2 {
	
	public static void main(String[]args)
	{
		//第一题
		int sum=0;//定义变量接收和
		for(int i=0;i<=10;i++)
		{
			sum+=i;
			/*
			 * 这个被称之为累加思想。
			 * 原理:通过变量记住每次变化的结果。通过循环的方式进行累加动作。
			 */
			
		}
		System.out.println(sum);
		
		//第二题
		int k=0;
		for(int i=1;i<=100;i++)
		{
			if(i%7==0)
			{
				System.out.print(i+"\t");//输出是7倍数的数
				k++;//记录次数
			}
		}
		System.out.print(k);//输出次数
		/*
		 * 计数器思想
		 * 通过一个变量记录住数据的变化。
		 * 也许通过循环完成。
		 */
	}

}

For嵌套练习

public class For嵌套练习 {
	/*
	 *第一题
	 *
	 **
	 ***
	 ****
	 *****
	 *第二题
	1
	12
	123
	1234
	12345
	
	第三题
	九九乘法表
	*/
	public static void main(String[] args) {
		//第一题
		// 下面介绍一个不是规律的规律
		// 尖朝上的可以改变条件,让条件随着外层循环变化。
		// 尖朝下的,可以初始化值,让初始化值随着外层循环变化
		for(int x=0;x<5;x++)
		{
			for(int y=0;y<=x;y++)//让y跟 着外层循环x的值变化
			{
				System.out.print("*");
			}
			System.out.println();
		}
		
		//第二题
		for(int x=1;x<=5;x++)
		{
			for(int y=1;y<=x;y++)
			{
				System.out.print(y);
			}
			System.out.println();
		}
		
		//第三题
		for(int x=1;x<=9;x++)
		{
			for(int y=1;y<=x;y++)
			{
				System.out.print(y+"*"+x+"="+x*y+"\t");
			}
			System.out.println();
		}
	}

}
public class For循环等腰三角形 {

	public static void main(String[] args) {
		/*
		----*
		---* *
		--* * *
		-* * * *
		* * * * *
		等腰三角形
		*/
		
		for(int x=0;x<5;x++)//此循环控制行数
		{
			for(int y=x+1;y<5;y++)//此循环控制-号数量
			{
				System.out.print(" ");
			}
			for(int z=0;z<=x;z++)//此循环控制*号数量
			{
				System.out.print("* ");
			}
			System.out.println();
		}
	}

}


循环流程控制语句

break(跳出)continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

注:

a, 这两个语句离开应用范围,存在是没有意义的。

b, 这个两个语句单独存在下面都不可以有语句,因为执行不到 。

c, continue语句是结束本次循环继续下次循环。

d, 标号的出现,可以让这两个语句作用于指定的范围。


public class BreakContenul {

	public static void main(String[] args) {
		// break
		w:for(int x=0;x<3;x++)//<span style="color:#ff0000;">可以给循环定义标号</span>
		{
			n:for(int y=0;y<4;y++)
			{
				System.out.print("x="+x);
				break n;//<span style="color:#ff0000;">根据标号,选择结束循环体</span>
			}
		}
		
		//Continue;只作用于循环结构,继续循环。特点:结束本次循环,进行下次循环。
		for(int i=0;i<10;i++)
		{
			if(i%2==1)
			continue;
			System.out.print("x="+i);
		}
		
		
		//嵌套方式
		x:for(int x=0;x<3;x++)//可以给循环定义标号
		{
			y:for(int y=0;y<4;y++)
			{
				System.out.print("x="+x);
				continue x;//根据标号,选择跳出循环体
			}
		}
		
		//总结:break和continue单独存在时,下面可以有任何语句。因为都执行不到

	}

}


----------------------  黑马程序员 Android培训、期待与您交流!  ----------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值