循环语句
2022/7/27 23:25:41
本文主要是介绍循环语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
循环语句
1、循环的概念:
循环就是重复做一件事, 在程序中指的是重复执行某段代码.循环包括三大循环:while语句,do while语句,for语句。
2、死循环的概念:
死循环就是重复执行代码, 不会停止. 死循环会造成程序卡死甚至崩溃等问题, 我们不能写会造成死循环的代码.
3、循环的用处:
循环的用处非常广泛, 特别是对大量的数据进行操作的时候, 如:求若干个数之和; (重复做加法)
一、while循环语句
while循环语法格式:
while(表达式){
执行代码;
}
注意:
1、表达式可以是常量,变量或者其他表达式,该表达式会被强制转换为boolean类型, 表达式就是循环的条件, 条件成立则进入括号{}里面执行代码,否则不进入;
2、执行代码可以有多行, {}所包含的称为循环体.
3、 表达式不要一直是true, 避免死循环.
4、while循环的顺序是: 先判断表达式是否为true, 若true则执行执行代码, 然后再继续判断表达式是否为true, …. 直到判断表达式为false才会跳出循环, 执行while后面的代码
while示例:
二、do while循环语句
do-while循环语法格式:
do {
执行代码;
} while(表达式)
注意:
1、 do-while和while比较类似, 也有表达式和执行代码.
2、do-while和while的区别在于判断条件的先后不一样, while是先判断条件, 而do-while是先执行再判断; 所以不管do-while表达式的条件是否成立, 都至少会执行一次循环体.
do while示例:
计算1加到100的和:
while 和 do while的区别
1、while是先判断后执行,do while 先执行后判断
2、do while最少执行一次 while最少执行0次
常用while来写一些执行多次的内容(最少没有规定 ) do while(规定最少执行一次)
三、for循环语句
for循环语法格式:
for (表达式1; 表达式2; 表达式3) {
执行代码;
}
注意:
1、表达式1: 可写循环初始值, (可以不填)
2、表达式2: 循环条件
3、表达式3: 循环增量(减量)
4, 两个分号必须写.
for循环示例:
计算1加到100的和:
四、循环的嵌套(循环嵌套最多套两层O(n^2))
一个循环语句内又包含另一个完整的循环语句; 三种循环都可以相互嵌套; 而for循环嵌套for循环的使用会更频繁
循环嵌套示例:
打印一个*组成的矩形:
打印三角形:
五、时间复杂度(判断内容执行效率 依照次数计算)
1、O(1)(每次执行一遍 常数阶)
2、O(logN)(两个值来决定 对数阶)
3、O(n)(由对应的一个值决定 线性阶)
4、O(nlogn)(循环嵌套对应的指数阶循环)
5、O(n^2)(双层循环嵌套 平方阶)
时间复杂度O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)
while的时间复杂度要低于for循环(算法的优化可以使用while来替代for)
六、break关键字
break的功能:
1、在switch语句中使流程跳出switch结构。
2、在循环语句中使流程跳出当前的循环
注意:
1、如果已执行break语句,就不会执行循环体中位于break后的语句。
2、在多层循环中,一个break语句只向外跳一层
break示例
1、判断一个数是不是合数(指自然数中除了能被1和他本身整除外,还能被其他的数整除(不包括0)的数)
2、判断一个数是不是素数(除了1和他本身外不能被其他数整除)
七、continue关键字
continue的功能:
只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。
注意:
1、continue语句只能用在循环里。
2、对于 while 和 do-while 循环,continue 语句执行之后的动作是条件判断;对于 for 循环,随后的动作是变量更新。
continue示例:
1、求1~100的;累加值,但是要跳过所有个位数为3的数。
八、break和continue对比
九、课后练习
1、关于while
(1)打印100以内7的倍数
(2)打印100以内的奇数
(3)打印100以内的所有的偶数和
(4)打印图形
// * * * * * * * * * * // * * * * * * * * * * // * * * * * * * * * * // * * * * * * * * * *2、for循环的练习
(1)一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资为多少?
(2)山上有一口缸可以装50升水,现有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸装满?通过编程解决这个问题。
(3)打印100-200之间所有能被3或者7整除的数
(4)计算10的阶乘(1*2*3*4*5*6*7*8*9*10 n的阶乘1*2....*n)
(5)计算1+3+计5+.....+99的和
(6)99乘法表
(7)输出20~80之间能被3整除的整数,每行5个
(8)打印1000到2000之间所有的闰年,每行4个
(9)求:1-1/2+1/3-1/4...1/100
(10)输入两个数,求两个数的最小公倍数
(11)输入两个值n a,如果n==3,a==2;输出2+22+222的值
(12)五位数中,堆成的数称为回文数,找出所有的回文数,如:12321
(13)求1!+2!+3!+4!+5!
(14)找出所有的水仙花数,三位数,各位立方等于该数本身。
// 如:153=1^3+5^3+3^3
(15)任意输入两个数,如果第一个数小从第一个数打印到第二个数,如果第二个数小从第二个打印到第一个数
(16)输入两个数求最大公约数
(17)
宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:"只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,....后面一格的麦子总是前一-格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王-想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
3、break练习
(1)看代码判断打印的内容
这篇关于循环语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门