java——while循环经典案例

语句结构:顺序,分支,循环

循环:反复运行同一段代码的语法结构。

正常循环的必要条件:
1、循环体:反复执行的那段代码。(类似于绕圈长跑)
2、循环变量要有初值。(计数的起点)
3、循环变量要有变化。(计数的结束)

循环三要素:
1、循环体
2、循环变量
3、循环条件

循环的三种实现语句:while、for(foreach)、do-while

一、while循环
语法:
while(循环条件){
循环体;
}

例如:
int x = 1;
if(x<=10){//只判断一次
System.out.println("继续");
}

对比:
int x = 1;
while(x<=10){
//反复判断条件是否成立,成立则执行{循环代码}
System.out.println("继续");
}
注意:停不下的循环,叫死循环。(如上)

加上循环变量的变化之后:
int x = 1;
while(x<=10){
System.out.println("继续");
x++;
}
1)x就是循环变量
2)x<=10循环条件(让循环继续执行的条件)
3)x++是循环变量的变化(x起始值和变化量可以根据实际情况变化)
-----------------------------------------------
循环的使用场景:
1、循环变量没有参与到循环体中(如上)
int x = 1;
while(x<=10){
System.out.println("继续");
x++;
}
2、循环变量参与循环体
例如:
int x = 1;
while(x<=10){
System.out.println("第"+x+"次继续");//x参与循环体语句
x++;
}

编码习惯:
1、循环变量一般用i、j、k等等
2、思考循环变量从几开始,到几,每次变化多少?

循环变量每次的变化量,成为步长。

问题1:打印100个“我很困”。
public class EX1 {
public static void main(String[] args) {
int i = 1;
while(i<=100){
System.out.println("我很困!");
i++;
}
}
}
问题2:打印1-100之间的所有的整数。
public class EX2 {
public static void main(String[] args) {
int i = 1;
while(i<=100){
System.out.println(i);
i++;
}
}
}
问题3:打印1-100之间的所有的整数和。
public class EX3 {
public static void main(String[] args) {
int i=1;
int sum = 0;
while(i<=100)
{
sum=sum+i;
i++;
}
System.out.println(sum);
}
}
问题4:打印1-100之间的所有偶数。
方法1:
public class EX4 {
public static void main(String[] args) {
int i=1;
while(i<=100){
if(i%2==0){
System.out.println(i);
}
i++;
}
}
}
方法2:
public class EX5 {
public static void main(String[] args) {
int i=2;
while(i<=100){
System.out.println(i);
i+=2;
}
}
}
问题5:打印1-100之间的所有偶数和。
public class EX6 {
public static void main(String[] args) {
int i=2;
int sum = 0;
while(i<=100){
sum+=i;
i+=2;
}
System.out.println(sum);
}
}
问题6:打印1-100之间3和5的公倍数。
public class EX6 {
public static void main(String[] args) {
int i=1;
while(i<=100){
if(i%3==0&&i%5==0){
System.out.println(i);
}
i++;
}
}
}
问题7:打印所有的水仙花数。
100-999
public class EX7 {
public static void main(String[] args) {
int i = 100;
while(i<1000)
{
int g = i%10;
int s = i/10%10;
int b = i/100%10;
if(ggg+bbb+sss==i){
System.out.println(i);
}
i++;
}
}
}
问题8:打印2000-2500年之间的所有闰年。
问题9:问题8中每打印4个闰年,换一行。
问题10:打印当前月的日历。
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

猜你喜欢

转载自www.cnblogs.com/sjz123/p/12507113.html
今日推荐