i一、While循环oop
二、do ... While循环优化
三、For循环spa
1、While3d
/*
while循环blog
语句格式:源码
while(boolean表达式){
语句块;
}数学
执行顺序:
先判断boolean表达式的值,若是是true。就执行语句块。
再判断boolean表达式的值,若是是true。就执行语句块。
再判断boolean表达式的值,若是是true。就执行语句块。
……
直到boolean表达式为false的时候,就结束了。for循环
*/效率
练习题系列:变量
打印五次Hello World
打印输出1~10
求1~10的阶乘
求100之内偶数的和
2、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会执行一次。
3、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的!!!!!!!!
4、For For循环,即嵌套循环
首先用 * 输入一个矩阵:
而后输入由 * 组成的三角形:
99乘法表:
重点来,打印菱形:
这个须要加点数学知识,如图:
这里以4为例:
要打印菱形,就是从上一个题目中,打印矩形星星中切除一部分星星。而如何切除呢?
就是从上图坐标中范围取值切除,每一个星星都会对应一个横竖坐标值,即X、Y;也就是X、Y的不一样取值范围中是显示空格仍是显示星星的问题。
由上面分析能够获得for循环中的条件语句,代码就能够敲了。
这个是边长为4的菱形,输出“*”(星星)仍是输出“ ”(空格)根据范围的变化而变化。
上面那个逻辑性很差,不算打印正确,下面才是真正的抠图。
其实均可以。
空心菱形:
break 和continue
标签:任意定义一个标识符在一个for循环前【loop:for(){}】,在break等后面加上标签【break loop;】,即表示指定这个位置的for循环break.
For循环练习题:
//练习一:最大公约数与最小公倍数。
首先求最大公约数有两种方法:
一、更相减损术:
以8和10 为例:大的减少的,直到两数相等
eg:10-8=2 8-2=6 6-2=4 4-2=2 2==2 因而最大公约数就是2.
最小公倍数就是两书相乘后除以最大公约数。
a,b,c,d;初始这三个数,a,b表明要计算的,c表明中间转换需求值,d最重要,一开始就要用d表示出两数的乘积!!!!循环后a,b都会发生变化,以下程序:
二、展转相除法
实例:以8 和 10 为例:
10 / 8 = 1 .....2 8 / 2 = 4 .......0 前面中获得0的那一次,除数就是最大公约数。
//练习二:水仙花数
//练习三:百钱百鸡问题
优化: