01-循环语句
什么是循环语句?
循环语句:帮助问我们多次执行,某一个代码段。
02-while循环
语法:while (条件){要循环执行的代码}
var = 1;//初始条件
while (num < 5){ //条件判断
cosole.log(1) //循环执行的代码
num++ //改变自身,如果不写,会死循环。
}
/**
* 第一次执行 num == 1
* 符合 num < 5 执行代码: 打印1, num自增
* 第二次执行 num == 2
* 符合 num < 5 执行代码: 打印1, num自增
* 第三次执行 num == 3
* 符合 num < 5 执行代码: 打印1, num自增
* 第四次执行 num == 4
* 符合 num < 5 执行代码: 打印1, num自增
* 第五次执行 num == 5
* 不符合 num < 5 不执行代码, 且 停止 循环
*/
03-do...while循环
语法:do{要执行的代码} while(条件)
与while循环的差异
while 首次执行就判断条件,条件不符合不执行,且停止循环。
do...while 首次就执行,不需要判断条件,执行最少一遍,在判断条件, 条件不符合时不执行,且停止循环。
var num = 10 //定义
do {
console.log(1) //要执行的代码
num++ //改变自身,否则死循环
}while (num < 6) //判断条件
/**
*首次执行
1.直接执行代码,打印1,num++
2.判断条件。条件为真继续循环,条件为假,停止循环
*/
05-课堂练习
1.计算 从 1+2+3+4+......+100的和
var num = 1;
var res = 0;
while (num <= 100){
sum += res
sum++
}
//5050
06-for循环
语法:for(1.声明变量(初始化条件);2.判断条件;3.改变自身){循环执行的代码}
案例:在1000 到 2000 的数字内,需要求出是4的倍数,且不是100的倍数的那个数字,不打印到控制台,打印到页面,每四个换一行。
var num = 0 //计数器---计算达到4时,需要换行
for (var i = 1000;i <= 2000;i++){
if(i % 4 == 0 && i % 100 !== 0){
document.write(i + '')//隐形转换--转换成字符串类型
num++
if (num == 4){ //计数
document.write('<br>')
num = 0
}
}
}
案例---水仙花数---个位的立方+十位的立方+百位的立方的和等于原数字
for (i = 100;i < 1000;i++){
var ge =i % 10;
var shi = parseInt(i % 100 /10);
var bai = parseInt(i / 100);
var sum = ge ** 3 + shi ** 3 + bai ** 3 // **表示返回右侧值的X次方
if (i === sum){
console.log("是水仙花")
}
}
案例---质数--能被他自身和1整除的数
var num = prompt('请输入一个数字,用于检测是否为质数')-0 // -0的作用的是将用户输入的转为number 原理:隐形转换
//检测用户输入的是否为质数
var count = 0
for (var i = 2;i < num; i++){
if (num % i ==0){
count ++
}
}
if(num > 1){
count == 0 ? console.log('是质数') : console.log('不是质数')
}
JavaScript提供的一个方法:prompt
可以让用户输入一些文本内容传递给JS
注:prompt返回的用户输入值 为String类型;如果用户点取消
,则返回null 类型
07-流程控制语句
break:当我们想 满足某一个条件时,停止整个循环,可以使用break
continue:当满足一个条件时,停止当前本轮循环,后续的循环正常执行。
for (var i = 1; i <= 5; i++) {
console.log('吃了一个包子')
if (i == 3) {
console.log('吃饱了')
break
}
}
for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('这个包子掉地上了, 我不吃了')
continue // 只能确保后边的代码 不执行
}
console.log('我吃了一个包子')
}
08-循环嵌套
案例
/**
*
* *****
* *****
* *****
*/
for (var i = 0; i < 3;i++){
for (var k = 0;k < 5; k++){
document.write('*')
}
document.write('*')
}
/** *
* **
* ***
* ****
*/
for (var i = 1; i<=4;i++){
for(var k = 1;k <= i;k++){
document.write('*')
}
document.write('<br>')
}
作业1--九九乘法表
var count = 0
for (i = 1;i < 10;i++) {
for (j=1;j <= i;j++){
count = i*j
document.write(j+'×'+i+'='+count+' ');
}
document.write("<br>")
}
作业2--苹果3元一个,鸭梨2元一个,桃子1元一个,用200元正好买100个,请问有几种方案?
for(pingguo = 0; pingguo <=100;pingguo++){
for(yali = 0; yali <=100;yali++){
for(taozi = 0; taozi <=100;taozi++){
if(pingguo*3 + yali*2 + taozi*1 ==200 && pingguo + yali +taozi ==100){
console.log("苹果买"+pingguo+"个"+"鸭梨买" + yali +'个'+"桃子买" + taozi + '个');
}
}
}
}
\