wuyaziLeo

JavaStudy -循环 条件判断

一、while循环

image-20210310170101557

死循环

        /**
* 死循环
*/
while(true) {
System.out.println("hello world");
}

循环的三要素

public class Demo2 {

public static void main(String[] args) {
System.out.println("开始");
/**
* 在实际应用当中,大多是次数可控的循环
* 如果要实现次数可控的循环,需要引入循环的三要素
*
*/
//第一要素:初始值
int i = 1;
//第二要素:循环条件
while(i <= 5) {
System.out.println("hello world---"+i);
//第三要素:自变
i++;
}
}
}

案例:

用循环输出1-5

        int i=1;
while(i<=5) {
System.out.println(i);

i++;
}

案例:

循环求1-5的和

        //定义变量存储累加和
int sum = 0;

int i=1;
while(i<=5) {
sum = sum + i;
i++;
}

System.out.println(sum);

案例:

用while循环求5的阶乘

public class Demo4 {

public static void main(String[] args) {
/**
* 5! = 5*4*3*2*1
*/
int sum = 1;

int i=1;
while(i <= 5) {
sum = sum * i;
i++;
}
System.out.println(sum);

}

}

案例:

打印1-100之间所有的偶数

public class Demo5 {

public static void main(String[] args) {
//打印1-100之间所有的偶数
int i=1;
while(i <= 100) {
//如果i是偶数则输出i
if(i%2 == 0) {
System.out.println(i);
}

i++;
}
}
}

求1-100之间所有偶数的和

        //a.得到1-100之间所以的数
//b.挑选出偶数
//c.对所有的偶数累加求和
int sum = 0;

int i=1;
while(i <= 100) {
if(i%2 == 0) {
sum = sum + i;

}


i++;
}
System.out.println(sum);

使用循环统计1-100之间偶数的个数

        //使用循环统计1-100之间偶数的个数
//a.得到1-100之间所以的数
//b.挑选出偶数
//c.统计

//定义变量做统计
int count = 0;

int i=1;
while(i <= 100) {
if(i%2 == 0) {
count = count + 1;
}

i++;
}

System.out.println(count);

案例:

有1万元本金,年利率是3%,求10年后的本息和

        //定义变量存储本金
double money = 10000;
//使用循环求本息和
int i=1;
while(i <= 10) {
money = money + money * 0.03;
i++;
}
System.out.println(money);

二、for循环

1.语法

        /**
* for循环是对while循环的语法升级,把循环的三要素放在一起,便于管理,提高代码的可读性
*/
// 语法
// for(第一要素;第二要素;第三要素) {
// 循环体
// }
        //使用for循环输出5遍hello world
for(int i=1;i <= 5;i++) {
System.out.println("hello world");
}

2.案例

package com.woniuxy.lesson02;

public class Demo3 {

public static void main(String[] args) {
//   1.打印1~100之间 所有的偶数
for(int i=1;i<=100;i++) {
if(i%2 == 0) {
System.out.println(i);
}
}
//   2.求1~100之间 所有偶数的和
int sum = 0;
for(int i=1;i<=100;i++) {
if(i%2 == 0) {
sum = sum + i;
}
}
System.out.println(sum);
//   3.求1~100之间 偶数出现的次数
int count = 0;
for(int i=1;i<=100;i++) {
if(i%2 == 0) {
count=count + 1;
}
}
System.out.println(count);
}

}

三、流程控制语句

break(结束)--结束循环
continue(继续)--结束本次循环,继续下一次循环

1.break

public class Demo1 {

public static void main(String[] args) {
System.out.println("开始");
/**
* break--结束循环
*/
for(int i=1;i<=10;i++) {
if(i == 5) {
break;
}
System.out.println("张奥跑第"+i+"圈");
}

}
}

2.continue

        /**
* continue--结束本次循环,继续下一次循环
*/
for(int i=1;i<=10;i++) {
if(i == 5) {
continue;
}
System.out.println("张奥跑第"+i+"圈");
}

四、总结

如果知道要循环多少次,优先选择for循环

如果不知道要循环多少次,优先选择while循环

案例

有一张白纸,厚度1mm,对这个白纸进行对折,问对折多少次超过100mm
public class Demo2 {

public static void main(String[] args) {
//定义变量存储纸的厚度
int height = 1;

int count = 0;
while(true) {
//纸对折厚度翻倍
height = height*2;
//统计对折次数
count = count + 1;
//当纸的厚度超过100mm时结束循环
if(height > 100) {
break;
}
}
System.out.println(count);
}
}
//有1万元,存入银行,年利率是3%,多少年后本息和超过10万元
public class Demo2 {
public static void main(String[] args) {
//定义变量存储本金
double money = 10000;
int count = 0;
while(true) {
//计算某年的本息和
money = money + money*0.03;
//统计循环执行的次数
count = count + 1;
//如本息和超过10万元时,结束循环
if(money > 100000) {
break;
}
}
System.out.println(count);
}
}
//有1万元,存入银行,年利率是3%,10年后本息和是多少
public class Demo2 {
public static void main(String[] args) {
double money = 10000;
for(int i=1;i<=10;i++) {
money = money + money*0.03;
}
System.out.println(money);
}
}
 

posted on 2022-09-20 08:44  wuyazi_lk  阅读(149)  评论(0编辑  收藏  举报

导航