024day(whlie循环,do while循环,for循环,循环的嵌套,循环中的跳转关键字,debug工具)

本文详细讲解了循环结构(while、do-while和for)在编程中的应用,包括语法、实例和避免死循环的方法。通过实例演示如何使用循环解决实际问题,如工资计算、数的输出、日期判断等,并探讨了嵌套循环和调试技巧。
摘要由CSDN通过智能技术生成

循环结构

引入:操场一圈是400米,在运动会的时候,2000米的跑步比赛,我们需要绕操场跑5圈,如下图:

这就是一个循环,那么,在这个过程中,其实我们动作只是跑一圈,剩下的过程只是在重复。从计算机的角度来想, 我们可不可以设定一个程序,让他自动跑5圈呢?可以的,用咱们今天要学习的循环结构。循环结构的意义就是让代 码重复执行。

while循环结构

语法:

例:对女朋友说5句我爱你

while循环结构的具体流程:

while循环需要我们在循环外就将变量声名好,在执行代码的过程中,一定要让变量进行变化,否则这个循环就会无 休止的进行下去。

不会停止的循环叫做死循环,程序一直不会停止,cpu占用率越来越高,很容易造成系统崩溃。所以我们在写代码的 时候一定避免写成死循环。

例:利用while循环中的变量输出数字1~5

do while循环结构

do while 循环是while循环的变异体。循环流程相似,唯一不同的地方在于do while循环会先执行一次,不管条件是否成立,先执行一次,后面的流程和while循环一样。

for循环结构

语法:

例:输出10句“我爱你”

循环执行过程分析:

首先i=1;然后进行条件判断i<=10;条件成立,所以运行了大括号中的代码-----第一次执行 接下来i++;然后i=2;再 进行条件判断i<=10;条件成立,所以又运行了大括号中的代码------第二次执行 i++;i=3;条件判断i<=10;条件成 立,再次运行------第三次执行 i++;i=4;条件判断i<=10;条件成立,再次运行------第四次运行 。。。

for循环中的初始值和变化可以不放在小括号中

执行流程是一样的,只是写法不一样。

在循环中,变量i的变化规律可以不是递增,也可以递减,也可以不是递增1。。。总而言之,变量i的变化规律可以自定义。

例:求出1~10之间所有单数的和。

for循环的运行流程

循环中的跳转关键字

在循环有两个关键字可以改变循环执行的流程。

continue关键字,可以跳过当前这次的循环,直接进行下一次的循环。

break关键字,可终止循环,直接让整个循环结束运行。

运行流程如下图所示:

案例

1. 入职薪水10K,每年涨幅5%,50年后工资多少?

2. 打印100以内 7的倍数

3. 打印100以内的奇数

循环的嵌套

让一段重复执行代码重复执行,也就是设定一个大程序,让多个人跑5圈。

debug调试工具的使用

断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步

往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。

调试步骤:

调试中的相关操作

练习调试 :

练习题、

 

 

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

</body>

<script>

// 1.判断整数的范围

// var num = prompt('输入整数:')

// // 选择多分支

// if(num > 0) {

// console.log("大于0");

// } else if(num < 0) {

// console.log("小于0");

// } else {

// console.log("等于");

// }

// 2.分数判断等级

// 0~59不及格 60~69及格 70~79丙 80~89乙 90~100甲

// var score = prompt('输入分数:')

// 直接判断score,需要写100个case

// 发现每个区间范围内的分数,都是有规律,十位上的数字,都相同

// 判断十位上的数字 - 将score除以10,取整

// var shi = score / 10

// var shi = parseInt(score / 10)

// if(score >= 0 && score <= 100) {

// switch(shi) {

// case 6:

// console.log("及格的");

// break;

// case 7:

// console.log("丙");

// break;

// case 8:

// console.log("乙");

// break;

// case 9:

// case 10:

// console.log("甲");

// break;

// case 5:

// case 4:

// case 3:

// case 2:

// case 1:

// case 0:

// console.log("不及格");

// }

// } else {

// console.log("数字不合法");

// }


 

// 3.判断体重是否合适

// var height = prompt("请输入身高:");

// var weight = prompt("请输入体重:"); // 斤

// // 先求出标准体重

// var standard = (height - 108) * 2; // 斤

// // 判断范围:standard-10 ~ standard+10

// if(weight >= standard - 10 && weight <= standard + 10) {

// console.log("合适");

// } else {

// console.log("不合适");

// }

// 4.判断奇数偶数

// var num = prompt('输入数字:')

// if(num % 2 === 0) {

// console.log("偶数");

// } else {

// console.log("奇数");

// }

// if(num % 2) {

// console.log("奇数");

// } else {

// console.log("偶数");

// }

// 5.根据月份判断有多少天

// var month = prompt("输入月份:")-0

// switch(month) {

// case 1:

// case 3:

// case 5:

// case 7:

// case 8:

// case 10:

// case 12:

// console.log("31天");

// break;

// case 2:

// console.log("28或29天");

// break;

// case 4:

// case 6:

// case 9:

// case 11:

// console.log("30天");

// break;

// default:

// console.log("月份不对");

// }

// 6.根据一个数字日期,判断这个日期是这一年的第几天 例如: 20160211,计算后结果为42

// var date = prompt('输入数字日期:')

// // 20160211

// var month = parseInt(date / 100) % 100

// var year = parseInt(date / 10000)

// var day = date % 100

// var sum = 0

// switch(month){

// case 12:

// sum += 30

// case 11:

// sum += 31

// case 10:

// sum += 30

// case 9:

// sum += 31

// case 8:

// sum += 31

// case 7:

// sum += 30

// case 6:

// sum += 31;

// case 5:

// sum += 30

// case 4:

// sum += 31

// case 3:

// // 判断是否是闰年

// if(year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {

// sum += 29

// } else {

// sum += 28

// }

// case 2:

// sum += 31

// case 1:

// sum += day;

// }

// console.log(sum);


 

// 7.

// var a = prompt('请输入a:'),

// b = prompt('请输入b:'),

// c = prompt('请输入c:');

// if (a > b) {

// if (c > a) {

// alert(c)

// } else {

// alert(a)

// }

// } else if (a < b) {

// if (c > b) {

// alert(c)

// } else {

// alert(b)

// }

// }

// 8.判断水仙花数

// 水仙花数:3位数 = 个位上的数字的3次方 + 十位上的数字的3次方 + 百位上的数字的3次方

// 153 = 1 + 125 + 27

// 370 = 27 + 343 + 0

// var num = +prompt('输入一个三位数:')

// var ge = num % 10;

// var shi = parseInt(num / 10) % 10

// var bai = parseInt(num / 100)

// if(num === ge*ge*ge + shi*shi*shi + bai*bai*bai) {

// console.log("YES");

// } else {

// console.log("NO");

// }

// 9.秒换算 天 小时 分钟 秒 7896709887

var allSeconds = 7896709887

var allDays = parseInt(allSeconds / 60 / 60 / 24)

var hours = parseInt(allSeconds / 60 / 60) % 24

var minutes = parseInt(allSeconds / 60) % 60

var seconds = allSeconds % 60;

console.log("小明学习js用了" + allDays + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒");

</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值