15.6 循环控制
15.6.1 break语句
break用于终止当前整个循环体。一般情况下,break都是和if判断语句一起使用的,当if条件满足时使用break终止循环。
15.5节中的九九乘法表看起来有点怪:有一半的内容是重复的,这时候就可以用break让程序更智能一点了。仔细观察可发现,内循环中的j的值会不断加1,只要j的值不超过i,内循环就会继续运行,即在内循环中判断j是否小于或等于i,返回真时继续循环,否则终止循环,这样打印出来的九九乘法表应该是一个三角形。按照这个思路将for循环的九九乘法表修改如下形式:
- [root@localhost ~]# cat break01.sh
#!/bin/bash
for ((i=1; i<=9; i++))
do
for ((j=1; j<=9; j++))
do
if [[ $j -le $i ]]; then #j
小于等于i
时运算
let "multi=$i*$j"
echo -n "$i*$j=$multi "
else
break #j
一旦大于i
则立即停止当前循环
fi
done
echo
done
#
运行结果
[root@localhost ~]# bash break01.sh
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
读者可以尝试自行修改while的九九乘法表,并使运行结果和此处一致。