💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
break和continue的使用是紧密和while循环联系在一起的。 ## 使用break快速退出 你曾碰到过想骑车跑一英里却在半路停下来的事情吗?事实上,这样的事情也同样会发生在程序执行while循环的过程中。脚踏车有一个安全刹车来迫使它停下来,而在while循环中这个安全刹车就是保留字break。 while循环一直循环到它的条件变为假才停止。如果想在循环的条件未改变之前就退出循环,那该怎么办呢?不妨用break语句。 请看下面使用break语句的例子: ~~~ let n=1 while ["$n" -eq 1] do echo "Enter your name or type stop to end:" read name case $name in "stop") break ;; esac done echo "Good-bye!" ~~~ 这个程序请求用户输入一个用户名或输人stop来退出循环。只要用户输人的不是stop ,程序就显示一条问候语。用户输入了stop后,case语句就叫程序中断(break ),它立即退出循环,并继续执行保留字done后的指令。在这个例子中,程序最后显示Good-bye! ## 使用continue语句重新循环 使用到达循环的开始有时,程序并不必执行放入循环体中的所有指令。如果使用continue语句,程序将跳过循环体中antinue后面的其余指令。请看下面使用continue语句的例子: ~~~ declare n =1 while [$n -eq 1] do echo "Enter your name yr type stop to end:” read name echo "Enter your employee number;" read num case $name in "stop") if ["$num" -eq 1 ] then continue else break fi ;; *) echo "Hello,$name" esac done echo "Good-bye!" ~~~ 计算机首先请求用户输人用户名和数字。 在用户输入了他的名字后,程序显示对他的问候语。 若用户输入的是stop和非1的数字,它用保留字break退出循环,并跳到程序的最后一条指令(即done之后的一条指令),显示Good-bye! continue语句使程序跳过循环体中它后面其余的语句,并直接跳到循环的开始(顶部),而不显示问候信息。在到达循环的开始(顶部)之后,它重新核对条件,并决定是否再次执行循环体中的指令。