循环结构?
什么是循环,循环就是重复的去做一件事情,每次做的事情不同但类似?一般都有三种循环。
for循环是最常用,也是最不好理解的一个循环。
for(初始值、循环条件、每次的步长){
循环体
}
案例:找出所有三位数中的水仙花数
for(var i=100; i<999; i++){注意i只在循环里面是有作用的)
var num100 = Math.floor((i% 1000) / 100);
var num10 = Math.floor((i% 100) / 10);
var num1 = Math.floor((i% 10));
var sum = Math.pow(num100, 3) + Math.pow(num10, 3) + Math.pow(num1, 3);
if(sum == i){
alert(i+"是水仙花数");
}
}其中i=100;是初始值,i<999是循环条件,i++是步长。(每次加1)
上面的案例中,相同点就是,每个值都要去拆分为个位数、十位数、百位数,最后让他们的平方和相加,最后判断。
唯一不同的地方就是每次的值都是不同的,当i++的时候就又是一位新的数字了,然后再继续执行后面的代码,当i大于999时就会跳出循环。
流程图
还有while循环:
大致都是一样的
while(循环条件){
循环体
}
var num = 100;初始值
while (num <= 999) { 小于或等于999的进入循环
var num100 = Math.floor((num % 1000) / 100);
var num10 = Math.floor((num % 100) / 10);
var num1 = Math.floor((num % 10));
var sum = Math.pow(num100, 3) + Math.pow(num10, 3) + Math.pow(num1, 3);
if(sum == num){
alert(num+"是水仙花数");
}
num++; 步长 每次加一
}
</script>
do{
循环体
}while(循环条件
var num = 100;初始值
do {
var num100 = Math.floor((num % 1000) / 100);
var num10 = Math.floor((num % 100) / 10);
var num1 = Math.floor((num % 10));
var sum = Math.pow(num100, 3) + Math.pow(num10, 3) + Math.pow(num1, 3);
if(sum == num){
alert(num+"是水仙花数");
}
num++; 步长 每次加一
}while(num <= 999)小于或等于999的再次进入循环
do{}while 和 while非常类似,但是do...while{}是先循环一遍在判断条件,while循环是先判断 在进入循环体。
这些都是基本用法。