java循环的案例_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%20){

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%30&&i%50){

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+sssi){

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值