javaScript 流程控制

流程控制 控制流程走向

一:顺序流程

二:选择流程

1:单分支if ()

语法结构 if (条件) {

执行块

} //条件为真,运行执行块。条件为假,不做其他操作

2:多分支 if(条件) {

执行块1;

} else {

执行块2;

} //条件为真,运行执行块1.条件为假,运行执行块2;

//案例一
// 导入模块
const readline = require("readline-sync"); 
//输入一个数字判断是不是7或5的倍数
let number = readline.question('please a number :');

if (number % 5 == 0 || number % 7 == 0) {
    console.log(`${number} 是5或者7的倍数`);
} else {
    console.log(`${number} 不是5或者7的倍数`);
}
//案例2
//输入一个年份,判断是不是闰年
let year = readline.question();
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    console.log(`${year} 是闰年`);
} else {
    console.log(`${year} 是平年`);
}

// 案例3
// 获取用户输入,如果输入是数字,打印;如果不是数字,就交换a,b的值
let a = 'B', b = 'A';
let num = readline.question();
if (isNaN(num)) {
    var temp;
    teamp = a;
    a = b;
    b = teamp;
    console.log(`a=${a}`,`b=${b}`);
} else {
    console.log('你输入的数字是'+num);
}
// 案例4 
// 获取用户输入的一个数字,是三位数字就倒序输出
let num1 = readline.question();
if (num1.length === 3 && parseInt(num1 / 100) != 0) {
    var bai = parseInt(num1 / 100);
    var shi = parseInt(num1 % 100 / 10);
    var ge = num1 % 100 % 10;
    console.log(String(ge) + shi + bai);
} else {
    console.log(`${num1}不是3位数`);
}

// 案例五:输入一个三位数,判断是不是水仙花数,个位立方加十位立方+百位立方等于数字本身
let num2 = readline.question()
if (num2.length === 3 && parseInt(num2 / 100) != 0) {
    var bai = parseInt(num2 / 100);
    var shi = parseInt(num2 % 100 / 10);
    var ge = num2 % 100 % 10;
    snum = bai ** 3 + shi ** 3 + ge ** 3;
    if (snum == num2) {
        console.log(`${num2} 是一个水仙花树`);
    } else {
        console.log(`${num2}不是一个水仙花树`);
    }
} else {
    console.log(`${num2} 不是一个三位数`);
}

多分支

if(条件1) {

语句块1

} else if(条件2) {

语句块2

} else if (条件3){

语句块3

}else {

语句块4

}

从上而下进行判断:如果条件1结果为真,则运行语句块1的代码;如果条件1为假,跳过语句块1,接着判断条件2的结果,如果条件2为真,则执行语句块2;如果条件2结果为假,跳过语句块2,则接着判断条件3的结果,条件3结果为真,运行语句块3中的代码。如果条件3结果为假,跳过语句块3,运行语句块4里面代码。总之多分支语句只等执行其中一个条件下的语句块。

// // 案例一,成绩判断等级
console.log('输入一个成绩');
let score = readline.question();
if (score >= 90) {
    console.log('A');
} else if (score >= 70) {
    console.log('B');
} else if (score >= 60) {
    console.log('C');
} else {
    console.log('D');
}

// 案例二,计算器实现四则运算
console.log('输入一个数');
let num1 = parseFloat(readline.question());
console.log('输入运算符');
let ope = readline.question();
console.log('输入另一个数');
let num2 = parseFloat(readline.question());
if (ope == '+') {
    console.log(num1 + num2);
} else if(ope == '-') {
    console.log(num1-num2);
} else if (ope == '*') {
    console.log(num1*num2);
} else if(ope =='/') {
    console.log(num1/num2);
} else {
    console.log(`${ope}不是简单运算符`);
}

switch()多分支条件语句
语法格式:
switch (条件) {

case A:

​ 语句块1;

​ break;

case B:

​ 语句块2;

​ break;

case C:

​ 语句块3;

​ break;

default:

​ 执行最后语句块

}

// 条件A,则执行语句块1,并且跳出循环;条件B,执行语句块2,并且跳出循环;条件==C,执行语句块3,并且跳出循环;前面全部的值都不满足,则运行最后default中的最后的语句块。

// 案例三:输入月份判断季节。123春天 456夏天 789秋天  10,11,12冬天
console.log(`输入一个月份:`);
let month = readline.question()
console.log(typeof(month));
switch (month) {
    case '1':
        console.log(`${month} 是春天`);
        break;
    case '2':
        console.log(`${month} 是春天`);
        break;
    case '3':
        console.log(`${month} 是春天`);
        break;
    case '4':
        console.log(`${month} 是夏天`);
        break;
    case '5':
        console.log(`${month} 是夏天`);
        break;
    case '6':
        console.log(`${month} 月是夏天`);
        break;
    case '7':
        console.log(`${month} 月是秋天`);
        break;
    case '8':
        console.log(`${month} 月是秋天`);
        break;
    case '9':
        console.log(`${month} 月是秋天`);
        break;
    case '10':
        console.log(`${month} 月是冬天`);
        break;
    case '11':
        console.log(`${month} 月是冬天`);
        break;
    case '12':
        console.log(`${month} 月是冬天`);
        break;
    default:
        console.log('错误');
}

三:循环流程

1:for循环

语法结构:

for(初始化变量;条件表达式;操作表达式) {

循环体

}

举例说明:

for (var i = 0; i<4;i++) {

//循环体

console.log(i)

}

//1:首先初始化变量 var i=0;

2:在条件表达式中 i<4 的判断结果为真,则执行循环体里面的代码console.log(i),打印i的值;

3:循环体执行之后,代码去执行i++这个自增的代码。然后把得到的i值在在条件表达式中进行判断,如果为真,则继续执行循环体中的代码。

4:直到条件表达式返回的是false值时,跳出这个循环。

// 案例5:1~100的累加和
let sum = 0;
for (let i = 0; i <= 100; i++) {
    sum += i;
}
console.log(sum);

// 案例6:1+1/2+1/3+...+1/100的和
let sum = 0;
for (i = 1; i <= 100; i++) {
    sum += 1 / i;
}
console.log(sum);

// 案例7:判断一个数是不是质数
console.log('请输入一个数:');
let number = readline.question()
let bl = 1;
for (i = 2; i < number;i++) {
    if (number % i == 0) {
        bl += 1;
        break;
    } 
}
if (bl > 1) {
    console.log(`${number}不是质数`);
} else {
    console.log(`${number}是质数`)
}

// 案例8:求出1~100的奇数和 偶数和

let o_sum = 0;
let e_sum = 0;
for (var i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        e_sum +=i
    } else {
        o_sum +=i
    }
}
console.log(`奇数和等于${o_sum}`);
console.log(`偶数和等于${e_sum}`);

// 案例9:打印1~100 能被7整除或尾数是7的数,并统计数量
let count = 0;
for (var i = 1; i <= 100; i++) {
    if (i % 7 == 0 || i % 10 == 7) {
        count += 1;
        console.log(i);// 打印符合条件的数
    }
}
console.log(`总共有${count}个数符合条件`);


// 案例10:打印2000~3000年之间的闰年

for (let i = 2000; i <= 3000; i++) {
    if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
        console.log(`${i} 年是闰年`);
    }
}

// 案例12:打印前十位的裴波拉契数列
let a = 0;
let b = 1;
let c = 0;
for (let i = 0; i < 10; i++) {
    console.log(a);
    c = a + b;
    a = b;
    b = c;
}

2:while循环

语法结构:

​ while(条件表达式) {

​ 循环体

}

//只要条件表达式为真,则执行循环体;否则退出循环体。

// 案例1:1~100的累加和
let number = 1;
let sum = 0;

while (number <= 100) {//条件是number <=100 就执行循环体
    //循环体
    sum += number;

    //条件自增
    number++;
}
//循环结束后打印结果
console.log(sum);
// 案例2:打印1~100能被3或5整除的数

let num = 1;
while (num <= 100) {
    if (num % 3 === 0 || num % 5 === 0) {
        console.log(num);
    }
    num++;
}
// 案例3:登录判断
let userName = 'zhangsan', userPassword = '123';
while (1) {
    console.log('请输入账号:');
    let nameInput = readline.question();
    console.log('请输入密码:');
    let passwordInput = readline.question();
    if (nameInput === userName && passwordInput === userPassword) {
        console.log('欢迎你');
        break;//使用break来跳出循环体
    }
    console.log('你输入的账号密码不对,请重新输入');
}

3:do while 循环

语法结构:

do {

​ 循环体

} while(条件表达式)

//无论条件表达式的结果为真还是假,首先执行一次循环体。然后再根据条件表达式的结果去判定是否继续执行循环体里面的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值