Java小课堂 第四章 循环结构 (上)

4.1、循环结构【重点】

4.1.1、为什么使用循环结构?

在生活中,我们经常会遇到多次重复操作,如果说在程序中解决生活中重复案例,那又该如何来实现呢?这时Java语言提供了循环结构。

案例1:输出1-100之间的偶数?代码如下:

public class Demo1 {

public static void main(String[] args) {

// 重点:判断偶数的操作进行了100次,每一次判断偶数的操作是否的一样的?

for (int i = 1; i <= 100; i++) {

// 循环体

if (i % 2 == 0)

System.out.println(i);

}

}

}

4.1.2、循环结构的语法格式?

for(表达式1;表达式2;表达式3) {

循环体;

}

表达式1:代表循环初值,声明循环变量并初始化。

表达式2:代表循环条件,用来控制循环停止。

表达式3:代表循环变量的操作,改变循环变量的值,来实现循环的终止。

注意:表达式之间用";"分割。

循环体:循环操作的具体内容。

注意:三个表达式的编写,避免造成死循环。

(如果缺失表达式2或表达式3将照成死循环)。

4.1.3、循环的要素及解体的思路

循环的操作-确认完成操作循环体的具体实现。

循环的次数-确认完成操作需要多少次循环。

循环初值、循环条件、循环变量的操作。

案例2:输出1-100之间的所有数之和?代码如下:

public class Demo2 {

public static void main(String[] args) {

// 注意:累加时赋初值为0

int sum = 0;

for (int i = 1; i <= 100; i++) {

// 我们应该使用赋合运算符

sum += i;

}

System.out.println("1-100所有数的和:" + sum);

}

}

案例3:统计1-100之间能被3整除数的数量?代码如下:

public class Demo3 {

public static void main(String[] args) {

int count = 0;

for (int i = 1; i <= 100; i++) {

// 注意:当 IF语句块的代码只有一行时,可以省略{}。

if (i % 3 == 0)

count++;

}

System.out.println("1-100之间能被3整除的数量是:" + count);

}

}

案例4:请用户输入整数,判断是否能被3整除,如果能整除则计数,判断之后,询问用户是否继续?代码如下:

public class Demo4 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int count = 0;

for (String isContinue = "y"; isContinue.equalsIgnoreCase("y");) {

System.out.println("请输入一个整数:");

int number = scanner.nextInt();

if (number % 3 == 0)

count++;

System.out.println("您是否继续输入数字?(Y/N)");

isContinue = scanner.next();

}

System.out.println("能被3整除的个数:" + count);

}

}

通过以上案例,证明了for循环的第三个表达式是可以省略的;证明了for循环的循环变量不一定是整型,只要能够通过循环变量控制循环次数即可。

4.1.4、死循环【难点】

上面案例4当中,我们是不知道具体的循环次数的,只有满足的条件(用户输入N)才可以结束循环,像案例4这样的情况,不知道循环次数的时候,我们将循环称为死循环。

死循环的概念是永远不能终止的循环,但是这样的循环是没有意义的,大多数死循环都应用在达到指定条件时终止循环的场景。

案例5:上面的案例4还可一才用如下代码来实现,效果一样的:

public class Demo5 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int count = 0;

String isContinue = "y";

for (;;) {

System.out.println("请输入一个整数:");

int number = scanner.nextInt();

if (number % 3 == 0)

count++;

System.out.println("您是否继续输入数字?(Y/N)");

isContinue = scanner.next();

if (!isContinue.equalsIgnoreCase("y"))

break;

}

System.out.println("能被3整除的个数:" + count);

}

}

如果for循环的三个表达式都没有写,即“for (;;)”,我们称其为死循环。

但是问题是,这样循环就不能终止了,此时可以采用break关键字来跳出当前循环,一般break关键字在循环中会结合条件分支结构来实现跳出循环。

4.1.4、continue关键字

案例6:上面的案例5的功能,还可以更改成如下代码,效果一样的:

public class Demo6 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int count = 0;

for (;;) {

System.out.println("您是否要输入数字?(Y/N)");

String isContinue = scanner.next();

if (!isContinue.equalsIgnoreCase("y"))

break;

System.out.println("请输入一个整数:");

int number = scanner.nextInt();

if (number % 3 != 0)

continue;

count++;

}

System.out.println("能被3整除的个数:" + count);

}

}

Continue关键字:结束本次循环,继续进行下一次循环,该关键字使用的比较少,了解即可。

4.2、while循环结构【重点】

案例7:请用户输入一个整数,将这个数的每一位拆分出来?代码如下:

public class Demo7 {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

System.out.println("请输入一个整数:");

int number=scanner.nextInt();

while(number!=0) {

System.out.println(number%10);

number/=10;

}

}

}

while循环结构的格式:

while (布尔表达式) {

循环体;

}

使用while循环结构的死循环实现案例7,代码如下:

public class Demo7 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入一个整数:");

int number = scanner.nextInt();

while (true) {

System.out.println(number % 10);

number /= 10;

if (number == 0)

break;

}

}

}

注意:While循环结构只有一个表达式,一般用在未知循环次数的场景,先判断循环条件,再执行循环体。

当程序需要使用死循环时,while循环结构的代码更加简洁、优雅。

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值