标签:image 效率 情况 循环 ++ strong 技术 验证 hello
1、While循环
2、do ... While循环
3、For循环
一、While
/*
while循环
语句格式:
while(boolean表达式){
语句块;
}
执行顺序:
先判断boolean表达式的值,如果是true。就执行语句块。
再判断boolean表达式的值,如果是true。就执行语句块。
再判断boolean表达式的值,如果是true。就执行语句块。
……
直到boolean表达式为false的时候,就结束了。
*/
练习题系列:
打印五次Hello World
打印输出1~10
求1~10的阶乘
求100以内偶数的和
二、do ... While
/*
do-while的格式:
do{
语句块;
}while(boolean表达式);
执行顺序:
执行语句块,然后判断boolean表达式,如果为true。
继续执行语句块,然后判断boolean表达式,如果为true。
继续执行语句块,然后判断boolean表达式,如果为true。
……
继续执行语句块,然后判断boolean表达式,如果为false。停止。
*/
练习题:
用do-while打印三次helloworld
用do...while打印100以内所有的奇数
打印100以内能被3整除,但是不能被5整除的数
//总结:
//while和do-while的区别:
//while先执行条件,然后执行循环体
//do-while先执行循环体,后判断条件。
//当第一次就不满足循环条件的情况下,while一次都不能执行,而do-while会执行一次。
三、For循环
/*
for循环
格式:
for(循环变量初始值设定;循环条件boolean值;每次循环之后执行的语句){
循环体;
}
执行过程:
首先计算初始值设定。
然后计算boolean值,如果为true,就执行循环体一次,然后执行“每次循环之后执行的语句”。
然后计算boolean值,如果为true,就执行循环体一次,然后执行“每次循环之后执行的语句”。
然后计算boolean值,如果为true,就执行循环体一次,然后执行“每次循环之后执行的语句”。
……
然后计算boolean值,如果为false,就停下来了。
*/
练习题:
打印三个Hello World:
重重瞅瞅这个题的思路
首先打印出符合条件的内容,然后加入count计数,满6就换行:下面时复杂方法
接着提高效率:
一个*****题:
答案:
首先记得i++一定是正数吗?
这里用到了 >>>:无符号右移:无论最高位是0还是1,左边都补齐0.里面的思考
i++算到最后为
01111111 11111111 11111111 11111111 为正数,补码和源码一样
如果再加一得:
11111111 11111111 11111111 11111111 为负数
说真的这个题真没意思!!!我来验证一下:
首先由上面的正数加一可以变成负数可得:2147483647+1=-2147483648
由此可知:2147483647+k+1=-(2147483648-k)
所以题目中是i++,计算的是3*i;也就是负数中最大三倍的(2147483648-k)。
然后再一个一个的加一;
直到:如下:
即:三倍的-1431655763,int强制转换是等于7的!!!!!!!!
标签:image 效率 情况 循环 ++ strong 技术 验证 hello
原文地址:https://www.cnblogs.com/AlbertY/p/9307328.html