目录
输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)
判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
用于判断给定的条件,根据条件的结果来选择执行不同的语句段。
条件?语句:语句
规则:如果条件为真,则执行?后面的语句。 如果条件为假,则执行:后面的语句。
- <script>
- //判断一个年份是闰年还是平年
-
- 一个年份? 当我们不知道这个数据的时候?问用户要?怎么要?
- 1. prompt() 类型:String 需要的是数字:parseInt() parseFloat() Number()
- //判断闰年还是平年,根据条件进行判断,选择一种结果
- //判断闰年的条件 1. 能被4整除但不能被100整除 2. 能被400整除
- 能被4整除: 余数为0 0 天然为假 我们这里需要让0为真,怎么让0为真? 1. 0 === 0 2. !0
- 不能被100整除: 余数不能为0 非0的数,天然为真
- i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0
- !(i_year % 4) && i_year % 100 || !(i_year % 400)
-
- //准备一个变量,接收一个年份:
- var i_year = parseInt(prompt('请输入一个年份:'));
- alert(i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0 ? '闰年' : '平年');
- </script>
- <script>
- //判断一个数是偶数还是奇数
-
- 一个数? prompt() parseInt()
- 偶数还是奇数?
- 比如有一个数4 5
- // 0 假
- 能被2整除 ? 奇数 : 偶数
-
- 能被2整除 === 0 ? 偶数 : 奇数
-
- 能被2整除 == 0 ? 奇数 :偶数
-
- //准备一个变量,接收一个整数:
- var i = parseInt(prompt('请输入一个整数:'));
- //判断
- alert(i % 2 ? '奇数' : '偶数');
- </script>
- <script>
- //判断一个数是正数还是负数
- 一个数? prompt() parseInt()
- 正数还是负数?
- 大于0 : 正数
- 小于0 : 负数
- 等于0 : 既不是正数,也不是负数
-
- i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数'
- //准备一个变量,接收一个整数
- var i = parseInt(prompt('请输入一个整数:'));
- alert(i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数');
- </script>
- if(条件){
- 语句组;
- }
流程:当程序执行到if时,先计算表达式的值,如果值为true,则执行后面大括号中的语句;如果值为false时,执行if语句后面的其它语句
- <script>
- //根据成绩判断是否发放清华大学的通知书?
- 成绩? prompt() parseInt()
- 清华大学的通知书,前提条件?满足分数线? 700
- 成绩 >= 700
- 通知书
-
- 单分支
- //1. 准备一个变量,接收一个成绩
- var i_score = parseInt(prompt('请输入一个成绩:'));
- //2. 判断成绩是否合格
- if( i_score >= 700 ){
- alert('祝贺你拿到清华大学的通知书!');
- }
- </script>
- <script>
- //输入任意两个数,然后交换位置输出(如:a=4,b=5输出a=5,b=4)
- 输入任意两个数: prompt() parseInt()
- 交换位置: 需要一个空容器,进行交换
- //1. 准备两个变量,接收两个整数:
- var a = parseInt(prompt('请输入一个整数:'));
- var b = parseInt(prompt('请输入一个整数:'));
- //输出一次未交换的数据
- console.log('交换前:\na=' + a + '\nb=' + b);
- //交换位置
- //准备一个空变量
- var t = a;
- a = b;
- b = t;
- //输出一次交换后的数据
- console.log('交换后:\na=' + a + '\nb=' + b);
- </script>
- <script>
- //输入任意三个数,由大到小输出
- 输入任意三个数? parInt() prompt()
- 大到小输出(排序):判断
- 两个数比较 a b c
- 1. 确保 a 和 b 中的最大值放到 a中
- if(a < b){
- 交换a 和 b 中的值
- }
- 2. 确保a 和 c 中的最大值放到 a中
- if(a < c){
- 交换a 和 c 中的值
- }
- 3. 确保 b 和 c 中的最大值放到 b 中
- if(b < c){
- 交换 b 和c中的值
- }
- //1. 准备三个变量,接收数据
- var a = parseInt(prompt('请输入一个整数:'));
- var b = parseInt(prompt('请输入一个整数:'));
- var c = parseInt(prompt('请输入一个整数:'));
- //2. 确保 a 和 b 中的最大值放到 a中
- if(a < b){
- var t = a;
- a = b;
- b = t;
- }
- //3. 确保a 和 c 中的最大值放到 a中
- if(a < c){
- var t = a;
- a = c;
- c = t;
- }
- //4. 确保 b 和 c 中的最大值放到 b 中
- if(b < c){
- var t = b;
- b = c;
- c = t;
- }
- //5. 输出结果
- console.log(a,b,c);
- </script>
- if(条件){
- 语句组;
- }else{
- 语句组;
- }
流程:当程序执行到if时,先计算表达式的值,值为true时:执行if后面语句组;值为false时,执行else后的语句组。
- <script>
- 求两个数中的最大值?
- 两个数? prompt() parseInt()
- 最大值 一条件,两个结果,使用双分支
-
- //1. 准备两个变量,接收数据
- var i = parseInt(prompt('请输入一个整数:'));
- var j = parseInt(prompt('请输入一个整数:'));
- //2. 选择语句(双分支)
- if( i > j ){
- alert(i);
- }else{
- alert(j);
- }
- </script>
- <script>
- 求三个数的最大值?
- 三个数? prompt() parseInt()
- 最大值? 两两比较最为简单 a b c
- 1. 求出a和b中的最大值,放到一个新的变量中。max
- 2. 如果c > max,则将c的值存放到max中
- //1. 准备变量
- var a = parseInt(prompt('请输入一个整数:'));
- var b = parseInt(prompt('请输入一个整数:'));
- var c = parseInt(prompt('请输入一个整数:'));
- //最大值
- var max;
- //2. 比较前两个数,求出最大值
- if(a > b){
- max = a;
- }else{ //否则
- max = b;
- }
- //3. 比较下一个数与max,求出最大值
- if(c > max){
- max = c;
- }
- //4. 输出结果
- alert('最大值是:' + max);
- </script>
- <script>
- 输入一个成绩,判断是升班还是重修
- 成绩 prpmpt() parseInt()
- 升班还是重修? 及格分数线:90
- 一个条件 (成绩 >= 90) ‘毕业' '挂科' 双分支
- //1. 准备一个变量
- var i_score = parseInt(prompt('请输入一个成绩:'));
- //2. 判断
- if( i_score >= 90 ){
- alert('毕业');
- }else{
- alert('挂科');
- }
- </script>
- if(条件1){
- 语句组1;
- }else if(条件2){
- 语句组2;
- }
- ……
- }else if(条件n){
- 语句组n;
- }else{
- 语句组n + 1;
- }
流程:当程序执行到if时,先判断条件1的值,值为true时,执行语句组1;值为false时,再判断条件2的值,值为true时,执行语句组2;值为false时,再判断条件3的值,依此类推,直到判断条件n的值,值为true时,执行语句组n,值为false时,执行语句组n+1;
- <script>
- 任意输入一个数字,判断是星期几?
- 一个数字: prompt() parseInt()
- 1 2 3 4 5 6 7 多条件 多结果 多分支
- //准备一个变量
- var i = parseInt(prompt('请输入1~7中的整数:'));
- //判断
- if(i === 1){
- alert('星期一');
- }else if(i === 2){
- alert('星期二');
- }else if(i === 3){
- alert('星期三');
- }else if(i === 4){
- alert('星期四');
- }else if(i === 5){
- alert('星期五');
- }else if(i === 6){
- alert('星期六');
- }else if(i === 7){
- alert('星期日');
- }else{
- alert('请输入1~7中的整数!');
- }
- </script>
- <script>
- 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
- 成绩 : prompt() parseInt()
- 90-100 : score >= 90 && score <= 100
- 80-89: score >= 80 && score < 90
- 70-79: score >= 70 && score < 80
- 60-69: score >= 60 && score < 70
- <60: score < 60
- 多分支
- //1. 准备一个变量
- var score = parseInt(prompt('请输入一个成绩:'));
- //2. 根据成绩进行判断
- if(score < 0 || score > 100){
- alert('一边儿玩去!');
- }else{
- if(score >= 90 && score <= 100){
- alert('优');
- }else if(score >= 80){
- alert('良');
- }else if(score >= 70){
- alert('中');
- }else if(score >= 60){
- alert('差');
- }else{
- alert('不及格');
- }
- }
-
- </script>
- <script>
- 设计一个具有+、-、*、/、%的简单计算器
- 准备变量:3个 第一个接收数字 第二个接收运算符 第三个接收数字 prompt() parseInt()
- 根据运算符进行判断
- +、-、*、/、% 多条件 多结果 多分支
- //1. 准备变量
- //1.1 第一个数字
- var i = parseInt(prompt('请输入第一个整数:'));
- //1.2 运算符
- var ch = prompt('请输入一个算术运算符:');
- //1.3 第二个数字
- var j = parseInt(prompt('请输入第二个整数:'));
- //2. 根据运算符进行判断
- if(ch === '+'){
- alert(i + '+' + j + '=' + (i + j));
- }else if(ch === '-'){
- alert(i + '-' + j + '=' + (i - j));
- }else if(ch === '*'){
- alert(i + '*' + j + '=' + i * j);
- }else if(ch === '/'){
- alert(j === 0 ? '除数不能为零!' : i + '/' + j + '=' + (i / j).toFixed(2));
- }else if(ch === '%'){
- alert(j === 0 ? '除数不能为零!' : i + '%' + j + '=' + i % j);
- }else{
- alert('请输入一个正确的算术运算符!');
- }
- </script>
- switch(表达式){
- case 表达式 : 语句组; [break;]
- case 表达式 : 语句组; [break;]
- ……
- case 表达式 : 语句组; [break;]
- [default : 语句组;]
- }
- 规则:先计算switch后的表达式的值,如果这个值与 某个case后表达式的值 相同时,则执行这个case后面的语句组,如果语句组后有break,则直接跳出switch语句。如果没有break,则继续执行后面所有的语句组,直到遇到break或右大括号停止。
-
- <script>
- 任意输入一个数字,判断是星期几?
- 数字
- 7个条件,每一个条件对应一个结果
- //1. 准备一个变量
- var i = parseInt(prompt('请输入一个1~7中的整数:'));
- //2. 根据这个整数进行判断
- switch(i){
- case 1 : console.log('星期一'); break;
- case 2 : console.log('星期二'); break;
- case 3 : console.log('星期三'); break;
- case 4 : console.log('星期四'); break;
- case 5 : console.log('星期五'); break;
- case 6 : console.log('星期六'); break;
- case 7 : console.log('星期日'); break;
- default : console.log('输入错误!');
- }
- </script>
- <script>
- 输入一个0-6的整数,判断哪一天是工作日,哪一天是休息日?
- 输入一个0-6的整数 prompt() parseInt()
- 工作日: 1 2 3 4 5
- 休息日: 6 7
- //1. 准备一个变量
- var i = parseInt(prompt('请输入0~6中的整数:'));
- //2. 根据这个整数进行判断
- switch(i){
- case 1 :
- case 2 :
- case 3 :
- case 4 :
- case 5 : console.log('工作日'); break;
- case 6 :
- case 0 : console.log('休息日'); break;
- default : console.log('末日'); break;
- }
- </script>
- <script>
- 输入一个月份,输出这个月有多少天?
- 一个月份 : prompt() parseInt()
- 1 3 5 7 8 10 12 (31)
- 4 6 9 11 (30)
- 2 闰年(29) 平年(28)
- //1. 准备一个变量
- var i_month = parseInt(prompt('请输入一个月份:'));
- //2. 根据月份进行判断
- switch(i_month){
- case 1 :
- case 3 :
- case 5 :
- case 7 :
- case 8 :
- case 10 :
- case 12 : alert('31天');break;
- case 4 :
- case 6 :
- case 9 :
- case 11 : alert('30天'); break;
- case 2 :
- //准备变量,接收年份
- var i_year = parseInt(prompt('请输入一个年份:'));
- alert(!(i_year % 4) && i_year % 100 || !(i_year % 400) ? '29天' : '28天');
- }
-
- /*
- 1. 能被4整除
- 0 (假) 想办法让0变为真 0 == 0 0 === 0 !0
- i % 4
- 2. 不能被100整除
- i % 100 结果是一个不为0的数 本身就是真
- */
- </script>
- <script>
- 判断成绩优(90-100)良(80-89)中(70-79)差(60-69)不及格(<60)
- 成绩 : prompt() parseInt()
- 10 优
- 90-100 : 90 91 92 93 99 9 优
- 80-89: 80 81 82 83 89 8 良
- 70-79: 70 ~79 7 中
- 60-69: 60 61 69 6 差
- <60:
-
- 多分支
- //1. 准备一个变量
- var score = parseInt(prompt('请输入一个成绩:'));
- //2. 根据成绩进行判断
- if(score < 0 || score > 100){
- alert('一边儿玩去!');
- }else{
- switch(parseInt(score / 10)){
- case 10 :
- case 9 : alert('优'); break;
- case 8 : alert('良'); break;
- case 7 : alert('中'); break;
- case 6 : alert('差'); break;
- default : alert('不及格');
- }
- }
-
- </script>
- <script>
- 计算某日是该年的第几天?
- 1. 需要哪些变量?
- 年 月 日
-
- 根据月份
- 从当前月份的之前月份开始加
- 2022、11、30
- 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 日
- 2022、3、1
- 2 + 1 + 日
- //1. 准备变量
- //1.1 年
- var year = parseInt(prompt('请输入一个年份:'));
- //1.2 月
- var month = parseInt(prompt('请输入一个月份:'));
- //1.3 日
- var date = parseInt(prompt('请输入日:'));
- //1.4 总天数
- var sum = 0;
- //2. 根据月份判断 (从当前月的 ***前面*** 所有月份天数的和)
- switch(month){ // 12月20日
- case 12 : sum += 30; //(30是11月份的天数) sum = 0 + 30 30
- case 11 : sum += 31; //(31是10月份的天数) sum = 30 + 31
- case 10 : sum += 30; //(30是9月份的天数) sum = 61 + 30
- case 9 : sum += 31; // sum = 91 + 31
- case 8 : sum += 31; // sum = 122 + 31
- case 7 : sum += 30; // sum = 153 + 30
- case 6 : sum += 31; // sum = 183 + 31
- case 5 : sum += 30; // sum = 214 + 30
- case 4 : sum += 31; // sum = 244 + 31
- case 3 : sum += !(year % 4) && year % 100 || !(year % 400) ? 29 : 28; // sum = 275 + 28
- case 2 : sum += 31; // sum = 303 + 31
- case 1 : sum += date; // sum = 334 + 20 sum = 354
- }
- //3. 输出结果
- alert(year + '年' + month + '月' + date + '日是' + year + '年中的第' + sum + '天');
-
- </script>