循环语句
什么是循环语句
循环必须要有某些固定的内容组成
while 循环语句
- 语法:
while (条件) {要循环执行的代码}
- 首次执行时就判断条件,条件不符合就不执行,且停止循环
do...while 循环语句
- 语法:
do {要循环执行的代码} while (条件)
- 首次就执行,不需要判断条件, 执行完毕再去判断条件 , 条件不符合时不执行,且停止循环
for 循环语句
- 语法:
for (1. 声明变量(初始化条件); 2. 判断条件; 3. 改变自身;) {循环执行的代码}
for 循环案例
- 1000~2000内, 符合能整除4但不能整除100的数字
var a = 0
for (var i = 1000; i <= 2000; i++) {
if (i % 4 == 0 && i % 100 != 0) {
document.write(i + ' ')
a++
if (a == 4) {
document.write('<br>')
a = 0
}
}
}
- 水仙花数
for (var a = 100; a < 1000; a++){
var baiw = parseInt(a / 100)
var shiw = parseInt(a % 100 / 10)
var gew = a % 10
var sum = baiw ** 3 + shiw ** 3 + gew ** 3
if (a == sum) {
console.log(a)
}
}
- 求质数
var num = prompt('请输入一个数字,判断其是否为质数')
var count = 0
for (i = 2; i < num; i++) {
if (num % i == 0) {
count = count + 1
}
count = 0 ? console.log('是质数') : console.log('不是质数')
}
流程控制语句
break 关键字的应用
- 当我们想 满足某一个条件时, 停止整个循环, 可以使用 break
- 例子: 早上我吃了5个包子, 吃完第三个吃饱了, 后续的第四个第五个就不吃了
for (var i = 1; i <= 5; i++) {
console.log('吃了一个包子')
if (i == 3) {
console.log('吃饱了')
break
}
}
continue 关键字的应用
- 当我们想 满足某一个条件时, 停止当前本轮循环, 后续的循环正常执行
- 例子: 早上买了 5个包子, 吃第三个的时候 第三个掉地上了 所以我不吃 第三个, 后续的 第四个第五个被我正常吃掉
- break 与 continue 的共同点: 都可以打断循环
for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('这个包子掉地上了, 我不吃了')
continue
}
console.log('我吃了一个包子')
}
循环嵌套的书写
for (var i = 0; i < 3; i++) {
console.log('外层循环第', i, '次执行')
for (var k = 0; k < 3; k++) {
console.log('内层循环循环: ', k)
}
}
循环嵌套的小案例
-
***
***
***
for (var i = 1; i < 4; i++) {
for (var k = 1; k < 4; k++) {
document.write('*')
}
document.write('<br>')
}
*
**
***
for (var i = 1; i < 4; i++) {
for (var k = 1; k <= i; k++) {
document.write('*' + ' ')
}
document.write('<br>')
}
作业
- 基于课堂案例 完成 99乘法表
for (var i = 1; i <= 9; i++) {
for (var k = 1; k <= i; k++) {
document.write(k + '*' + i + ' ' + '=' + ' ' + i * k)
}
document.write('<br>')
}
- 应用题: 苹果3元一个, 鸭梨2元一个, 桃子1元一个。现在想用200元正好买100个水果, 用 JS 列出所有购买方案
for (var a = 0; a <= 100; a++) {
for (var b = 0; b <= 100; b++) {
for (var c = 0; c <= 100; c++) {
if (3 * a + 2 * b + 1 * c == 200 && a + b + c == 100) {
console.log('苹果购买' + a + '个', '梨购买' + b + '个', '桃子购买' + c + '个')
}
}
}
}