1. 循环
为什么学习循环?
在实际问题中,许多具有规律性重复性操作,因此在程序中药完成这类操作就需要重复执行某些语句。
2. for循环
for循环主要用于把某些代码循环若干次,通常跟计数有关。
for循环可以重复执行某些相同代码
for循环可以重复执行些许不同的代码,因为我们有计数器
for循环可以重复执行某些操作,比如算数运算符的加法操作
双重 for 循环 外层循环一次 ,内层for循环全部执行
// 想要打印几行的星星
var e = "";
var q = prompt('请输入你想要几行星星');
var w = prompt('请输入你想要几列星星');
for(var i = 1 ; i <= q ; i++){
for (var j = 1; j <= w ; j++){
e = e +"★";
}
e = e + "\n";
}
console.log(e);
// 九九乘法表
var q = '';
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
q += j+'x'+i+'='+i*j+'\t';
}
q += '\n';
}
console.log(q);
3. while循环
while语句可以再条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环
执行思路:
3.1 先执行条件表达式,如果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码
3.2 执行循环体代码
3.3 循环体代码执行完成后,程序会继续判断执行条件表达式,如果条件为true,则会继续执行循环体,直到循环体为false时,整个循环过程才会结束。
// 简易ATM存取机
var qu = 100;
var qian = 0;
var num = 0;
var caozuo = prompt(
'请输入你要的操作\n' +
'1.存钱\n' +
'2.取钱\n' +
'3.显示余额\n' +
'4.退出\n'
);
while (caozuo != 4) {
//条件判断 是否等于4 等于4 就退出 while判断语句 判断是否循环
switch (caozuo) {
case '1':
qian = prompt('输入你想存入的金额'); //输入金额 是字符串型
qu += Number(qian); //把输入的字符串 转化成数字类型而 然后再相加
alert('你的余额为' + qu);
caozuo = prompt(
'请输入你要的操作\n' +
'1.存钱\n' +
'2.取钱\n' +
'3.显示余额\n' +
'4.退出\n'
);
break; //退出当前
case '2':
num = prompt('输入你要取得金额');
qu = qu - Number(num);
alert('你的余额为' + qu);
caozuo = prompt(
'请输入你要的操作\n' +
'1.存钱\n' +
'2.取钱\n' +
'3.显示余额\n' +
'4.退出\n'
);
break;
case '3':
alert('你的余额为' + qu);
caozuo = prompt(
'请输入你要的操作\n' +
'1.存钱\n' +
'2.取钱\n' +
'3.显示余额\n' +
'4.退出\n'
);
break;
default:
break;
}
}
4. do...while
do...while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行哦按段,如条件为真,则重复执行循环体,否则退出循环。
执行思路 :
4.1 先执行一次循环体代码
4.2 再执行条件表达式,如果为true ,则继续执行循环体代码,如果为false,则退出循环。 继续执行后面代码
4.3 先执行循环体,再判断 , do... while循环语句至少会执行一次循环体代码。
// 账号
alert("喜欢来到登录界面");
alert("请输入你的账号密码,\n输入次数为5次");
//计数器
var q = 1;
do {
var id = prompt("请输入你的账号");
var pass = prompt("请输入你的密码");
if (pass == "123456" && id == "admin") {
alert("登录成功");
// 登录成功直接结束循环
break;
} else {
alert("第" + q + "次\n你的账号密码不正确");
// q 账号密码每错一次自加1
q++;
}
//当循环5次 退出循环
if (q > 5) {
alert("你的账号被锁死,请联系客服解冻");
// 满足条件退出循环
break;
}
} while (q <= 5);
5. continue break
contiune关键字用于立即跳出本次循环,继续下一次循环
#求1~100能被7整除之外的和
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 7 == 0) {
continue ;
}
sum += i;
}
console.log(sum);
break 关键字用于立即跳出整个循环(循环结束)
// 用户输入 月份 求出现在的季节
var ji = prompt("请输入月份");
switch (ji) {
case "3":
case "4":
case "5":
alert("现在是春天");
break;
case "6":
case "7":
case "8":
alert("现在是夏天");
break;
case "9":
case "10":
case "11":
alert("现在是秋天");
break;
case "12":
case "1":
case "2":
alert("现在是冬天");
break;
default:
alert("你输入的有误");
break;
}