循环:
循环是一种重复执行代码的结构。只要满足循环的条件,会一直执行这个代码。
循环条件:在一定范围之内,按照指定的次数来执行循环。
循环体:在指定的次数内,执行的命令序列。只要条件满足,循环体会被一直执行。
循环和遍历:
遍历指的就是对数据结构中每个元素进行一次访问的过程。通常和循环一起使用。
访问的目的就是为了执行特定的操作
循环是操作
遍历就是输出
循环的作用:
1、重复执行代码,尤其是统一的,相同的,批量的操作。
2、提高代码的重复利用率
3、提高人工的效率。减少人工的干预,提高效率。
4、简化程序的逻辑,降低代码出错的可能性。
for循环:已知循环次数的场景
while循环:和for循环可以通用,通常用于死循环。
until:条件不满足才执行循环,条件不满足,不执行。
for循环:
for循环的格式:
格式1:
for 变量名称(前面没有$) in {范围} do 命令序列 done
格式2:
类c语言格式:
for ((表达式1;表达式2;表达式3)) do命令序列 done
表达式1:定义变量并且赋予初始值
表达式2:循环的范围
表达式3:循环的方式,变量每一次自增1
格式3:
死循环
for ((;;)) do 命令序列 done
累加求和?1-100一直相加,最后的结果是多少呢?用循环来实现
a=0 for ((i=1;i<=100;i++)) doa=$(($a+$i)) done echo $a [root@localhost opt]# sh a.sh 5050
累加求和?1-100一直相加,最后的结果是多少呢?用循环来实现
分别求出奇数和和偶数和
a=0 b=0 for ((i=1;i<=100;i++)) doif (( $i%2 == 0 ))thena=$(($a+$i))elseb=$(($b+$i))fi done echo $a echo $b [root@localhost opt]# sh a.sh 2550 2500
自定义输入一个数,然后求从1到该数字的累加和?不超过100。
read -p "输入一个0~100之间的随机数:" a num=0 for ((i=1;i<=$a;i++)) donum=$(($num+$i)) done echo $num
RANDOM 0-32767
循环控制语句 continue break
break:在循环内部,执行到break命令时,会立即跳出当前循环,并终止
continue:把执行到continue时,跳出当前循环,但是如果循环条件依然满足,会执行后续的循环条件。
#猜数字,输入一个0~100的随机数,这个随机数由系统生成 #死循环,一直到用户猜中为止,猜中了才会终止。 a=$((RANDOM%100+1)) for ((;;)) do read -p "请输入一个0~100的随机数:" bif [[ $b -lt $a ]] thenecho "你猜小了!" elif [[ $b -gt $a ]] thenecho "你猜大了!" elseecho "恭喜你,你猜对了!"break fi done
[root@localhost opt]# sh c.sh 请输入一个0~100的随机数:50 你猜小了! 请输入一个0~100的随机数:78 你猜大了! 请输入一个0~100的随机数:69 你猜大了! 请输入一个0~100的随机数:58 你猜大了! 请输入一个0~100的随机数:55 你猜大了! 请输入一个0~100的随机数:53 恭喜你,你猜对了!