JS三种循环语句
- while语句
- do-while语句
- for语句
通常编写一个循环,需要有三个条件:
(1)初始化表达式
(2)条件表达式
(3)更新表达式
1. while循环
- 语法
while (condition) {
// 代码
// 所谓的“循环体”
}
当 condition 为真时,执行循环体的 code。
- 示例
let i = 0;
while (i < 3) { // 依次显示 0、1 和 2
alert( i );
i++;
}
let ii = 3;
while(ii) { // 当 ii 变成 0 时,条件为假,循环终止
console.log(ii);
ii--;
}
- 练习
// 假设银行存款的年利率为5%,问1000元存多少年可以变成5000元?
let money = 1000;
let year = 0;
while(money < 5000){
money = money * 1.05;
year++;
}
console.log(`需要存${year}年,最终的钱数为${money}元`);
2. do...while循环
- 语法
do {
// 循环体
} while (condition);
循环首先执行循环体,然后检查条件,当条件为真时,重复执行循环体。
- 示例
let i = 0;
do {
console.log(i);
i++;
} while (i < 3);
这种形式的语法很少使用,除非你希望不管条件是否为真,循环体 至少执行一次。通常我们更倾向于使用另一个形式:while(…) {…}。
3. for循环
- 语法
// 初始化表达式; 条件表达式; 更新表达式
for (begin; condition; step) {
// ……循环体……
}
- 示例
// 结果为 0、1、2
for (let i = 0; i < 3; i++) {
console.log(i);
}
- 练习
// 1. 求100以内所有3的备注(求他们的个数和总和)
let count = 0; // 计数器
let result = 0; // 计算结果
for(let i = 1; i <= 100; i++){
// 3的倍数
if(i % 3 === 0){
count++;
result = result + i;
}
}
console.log(`100以内3的倍数一共有${count}个,总和为${result}`);
//============================================================
// 优化后的方法
for(let i = 3; i <= 100; i+=3){
count++;
result += i;
}
console.log(`100以内3的倍数一共有${count}个,总和为${result}`);
/*
2. 求1000以内的水仙花数
水仙花数:一个n位数(n >= 3),如果它各个位上数字的n次幂之和还等于这个数,那么此数即为水仙花数
例:153 --> 1 5 3 --> 1 125 27 --> 153
*/
for(let i = 100; i < 1000; i++){
// 取百位数 parseInt(153 / 100) --> 1
let bai = parseInt(i / 100);
// 取十位数 parseInt((153 - 1 * 100) / 10) --> 5
let shi = parseInt((i - bai * 100) / 10);
// 取个位数 153 % 10 --> 3
let ge = i % 10;
// 判断是否水仙花数
if(bai**3 + shi**3 + ge**3 === i){
console.log(i);
}
}
// 优化后的方法,主要用字符串的特性 let str = "123" 显示每位数:str[0] str[1] str[2]
for(let i = 100; i < 1000; i++){
let strI = i + "";
if(strI[0]**3 + strI[1]**3 + strI[2]**3 === i){
console.log(i);
}
}
/*
3. 获取用户输入的大于1的整数(暂不考虑输错的情况),如果是质数打印结果
质数:一个数如果只能被1和它本身整除,即为质数
1不是质数也不是合数
*/
let num = +prompt("请输入一个大于1的整数:");
let flag = true;
for(let i=2; i<num; i++){
if(num % i === 0){
flag = false;
break;
}
}
if(flag){
alert(`${num}是质数`);
}else{
alert(`${num}不是质数`);
}
标签:循环体,console,--,JavaScript,笔记,while,循环,let,100
From: https://www.cnblogs.com/zibocoder/p/17048111.html