程序的三大结构:顺序结构 条件分支结构 循环结构
之前学习了条件分支 ,今天主要学习循环结构!
while(条件)
{
循环体
}
注意三要素:初始值 条件 改变条件的语句
1.此语句是先判断条件,再确定是否执行语句或程序块。
2.条件为true时,执行循环体的语句或程序块。反之不执行循环体。
3.在循环体中要有改变条的语句,否则会成为死循环。
简单做一个例子吧,把1-5的数字从小到大输出!
var a =1
while(a<=5){
console.log(a)
a++
}
console.log('循环结束');
do --while
语法:
do{
循环体
} while(条件表达式)
接着上面的例子,用do-while把1-5的数字从小到大输出!
do{
console.log(a)
a++
} while(a<=5)
console.log('循环结束');
for语句:(记得在这里打的是分号,表式一条语句结束)
for(初始化;条件;改变条件){
循环体
}
若用for循环来输出1-5的数字从小到大输出
for(var i=1;i<=5;i++){
console.log(i);
}
console.log('循环结束')
接下来有几个练习题,练练手看你是否真的掌握了吧!
1.使用for循环正序输出 1 - 10
2. 打印出1-100里所有的偶数
3.打印出1-100里所有的奇数
4.打印100以内7的倍数
5.打印100以内能被4整除的数
6.1+2+3+4+...100的和
以下是我的理解与看法,仅供参考哦!
// 1. 使用for循环正序输出 1 - 10
// var i
// for(var i=1;i<=10;i++){
// console.log(i);
// }
// console.log('循环结束')
// 2 打印出1-100里所有的偶数
// for( var i=1;i<=100;i++){
// if(i%2==0){
// console.log(i);
// }
// 3 打印出1-100里所有的奇数
// for( var i=1;i<=100;i=i+2){
// console.log(i);
// }
// 4 打印100以内7的倍数
// for( var i=1;i<=100;i++){
// if(i%7==0){
// console.log(i)
// }
// }
// 5.打印100以内能被4整除的数
// for( var i=1;i<=100;i++){
// if(i%4==0){
// console.log(i)
// }
// }
//6. 1+2+3+4+...100的和
// var sum=0
// for(var i=1;i<=100;i++){
// sum=sum+i
// }
// console.log(sum);
break和continue的分别?
.在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环
break结束循环
.比如︰我要吃五个包子,吃到三个的时候,不能在吃了,我就停止吃包子这个事情要终止循环,就可以直接使用break关键字
for(var i=1;i<=5;i++) {
console.log('我要吃第'+i+'个包子')
if(i=3){
break
}
continue结束本次循环,进行下次循环
在以吃包子为例,吃到第三个包子的时候掉地上了,接着吃后面的
for(nav n=1;n<=5;n++){
console.log('我吃第'+n'包子')
if(n==3){
continue
}
console.log('我吃第'+n'包子')
}
计数器:
有5个包子,掉了一个,那你吃了几个包子?当然小学生都知晓,我们应该编程让电脑知道呢?定义一个变量,初始值为0,如果满足条件值加一则可以。
var count=0
for(var i=1;i<=5;i++){
if(i==3){
countinue
}
console.log('吃第'+i+'个包子')
count++}
console.log('吃第'+i+'个包子')
在例如:
// 1.打印100-200内能被6整除的前3个数
var count = 0
for (var n = 100; n <= 200; n++) {
if (n % 6 == 0) {
console.log(n)
count++
document.write(n + '')
document.write('<br>')
}
if (count == 3) {
break;
}
}
将内容输入到页面上: document.write,有多条语句时,不会换行。若想换行,加标签<br>
// 输出20-80之间能被3整除的整数,每5个一行 (使用document.write()打印)
// var count=0
// for(var i=20;i<=80;i++){
// if(i%3==0){
// document.write(i+' ')
// count++
// }
// if(count %5==0){
// document.write('<br>')//换行
// //五个换行,将count%5==0或者在此重置计数器
// // count==0
// }
// }
// 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出(使用document.write()打印)
// var count=0
// for(var year=1000;year<=2000;year++){
// if((year%4==0&&year%100!=0)||(year%400==0)){
// document.write(year+' ')
// count++
// }
// if(count==4){
// document.write('<br>')
// count=0
// }
// }
双重for循环
例如图形打印的编程思想:外层循环打印行数,内层循环,打印每行的元素。关键点:计算每行打印多少个元素,根据外层循环变量确定。
<script>
//外层循环9次
for(j=1;j<=9;j++){
//内层循环9次
for(var i=1;i<=j;i++){
document.write(' * ')
}
//每次输入9个星号则换行
document.write('</br>')
}
</script>
累加型:
<!-- 入职薪水10K,每年涨幅5%,50年后工资多少?求该员工50年总共拿了多少工资? -->
<script>
var salary=10000*12
var count=salary
for(var year=2;year<=50;year++){
salary=salary+salary*0.05
count=count+salary
}
console.log('50年后的工资为:' ,salary.toFixed(2))
</script>
今天的知识就分享到这里,若有错误,请指正!