for循环的重要的点

需要注意的点:

for 循环
1.初始值
2.条件判断
3.状态改变
4.循环体
for(var 1.i=0;2.i<10;3.i++ )
{
  4.alert();
}
i++先对i执行再加1(比较常用);++i是先加1,再执行;
顺序是:1. 2. 4. 3;
  3. 2. 4.
5.注意编码的写的格式,不要写乱了
6.break:跳出整个循环;continue:跳出当前循环; 

例题

    1.偶数(10以内)

 

for( var i=0; i<=10; i++)
{     	
		if( i%2==0)
		{ 
		 	alert(i);
		}
	
}	

 

 i是循环的次数,偶数除以2余数是0的话就是属于偶数。 

 

  2.奇数 (10以内)

for( var i=0; i<=10; i++)
 {	 
		if( i%2==1)
		{ 
				alert(i);
		}
	
	
}

 i是循环的次数,偶数除以2余数是1的话就是属于奇数。 
 以上两题for的作用是筛选的意思,把想需要的数值筛选出来。 

 

 3.累加求和 0到100;

 

var a = 0;
  for( var i=0; i<=100; i++)
  { 		
			a=a+i;
  }		 
		  alert(a);

 

 把a重新赋值,a表示的就是和。思路是:{ 1.i=0,a=0; 2.i=1,a=0+1; 3.i=2,a=0+1+2}

 

  4.100以内与7有关的数

 

for( var i=0;i<100; i++)
  { 
		  if( i%7==0||i%10==7||parseInt(i/10)==7)
		  { 
		  		alert(i);
		  }
	
	
  }

 条件是:可以让7整除的,可以除10余着7,可以除10(比如:71/10,72/10),把其强制转换成整型,也就是说只保留小数点前面的7。
 
 for也是在筛选数。 

 

    5.乘法口诀
 1*1=1;1*2=2;1*3=3;1*4=4;……
 2*2 2*3……
 3*3 3*4……

i代表的是被乘数,j代表的是乘数。

for( var i=1;i<10;i++)
{ 
		for(var j=i;j<10;j++)
		{ 
			
			
		     if(j>=i)
			{ 
				alert(i+"*"+j);
			}
		}
	
	
	
}

 

思路:{ i=1,j=1; j再循环,变为2,此时i还是1,只有当j不再满足条件j<10时,i再次循环,以此类推。其中if(j>=i)这个条件
 是为了防止重复出现1*2,2*1} 
 总结:用到了if的嵌套。 

  6.求10以内的积 

          var cj =1;
		for( var i=1;i<=10;i++)
		{ 
			cj=cj*i;
		}
		alert(cj);

 

思路:相当于求10的阶乘,1*2*3……*10;{ cj代表的是乘积的意思,i=1,cj=1*1;i=2,cj=1*2;i=3,cj=1*2*3……}  总结:给它一个转换值。  以上这些题,都需要先想一下最后题目想要什么结果,依据这个结果,再去想如何用比较的方法,还是写一个表达式来进行循环计算。

  7. 蓝球弹起的高度
篮球从10米高的地方落下,每次弹起的高度是原来的0.3倍,问弹跳10次之后篮球的高度。

 

var h=10;
for(var i=1;i<=10;i++)
{ 
		h=h*0.3;
}
	alert(h);

 总结:i其实是循环的次数,不要把问题想复杂,不是把计算结果算出,而是把它的计算过程写出来。

  8.棋盘放粮食
棋盘有32个格子,第一个格子放1个芝麻,第二个放2个,第三个放4个,第四个放8个。。。每个芝麻的重量为0.00001kg,如果要放满整个棋盘,需要多少重量的芝麻。


 

var a = 1;
var sum = 1;
for( var i=1;i<32;i++)
{ 
	a=a*2;
	sum=sum+a;
}
var zhong = sum*0.00001
alert(zhong);

 思路:要求放满整个棋盘的芝麻需要的重量,要先求放满整个棋盘所需要的芝麻数,再乘以每个芝麻的重量。其中,a代表的是每个格子里要放的芝麻,sum代表的是放满要多少个芝麻。{i=1,a=2,sum=3;i=2,a=2*2,sum=3+4;……以此类推,其中i<32,是因为i是从1开始的,第32次就已经算完了} 

  9.凑钱1,2,5凑20元钱有多少可能
  
 
  1元 20   2元 10  5元 4

var sum = 0;
	for(var a = 0;a<21;a++)
	{ 
			for(var b=0;b<11;b++)
			{ 
				for(var c=0;c<5;c++)
				{ 
					if(a*1+b*2+c*5==20 )
					{ 
						sum=sum+1;
					}
				}
			}
	}
	alert(sum);

 思路:用到了for的嵌套,如果都为1元的,一共是20张。都是2元的,一共是10张。都是5元的,一共是4张。sum代表的是最后的可能次数。
{ a=0,b=0,c=0,c再循环,c循环完了,是b循环(b=1,c=0;b=1,c=1……依次循环),然后同理是a循环。}

 

    10.括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符
12()34()56()78()9 = 59

for( var a=-1;a<2;a=a+2)
{ 
	for( var b=-1;b<2;b=b+2)
	{ 
		for( var c=-1;c<2;c=c+2)
		{ 
			for( var d=-1;d<2;d=d+2)
			{ 
				if(12+a*34+b*56+c*78+d*9==59)
				{ 
					alert(a+","+b+","+c+","+d);
				}
				
				
			}
		}
	}
}

 总结:   i++其实代表的是i+1;a,b,c,d的值只能是1,-1,1相当于是+一个数,-1相当于减去一个数,取值范围:a<2,b<2,c<2,d<2;

 

posted on 2017-10-19 16:37  左剃头  阅读(297)  评论(0编辑  收藏  举报

导航