循环结构
2022/7/1 6:49:32
本文主要是介绍循环结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
循环结构
-
while循环
-
while是最基本的循环,它的结构为:
while(布尔表达式){
//循环内容
}
-
只要布尔表达式为true,循环就会一直执行下去。
-
我们大多数情况是会让循环停止下来的,我们需要一个表达式失效的方式来结束循环
-
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
-
循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
-
思考:计算1+2+3.....+100=?
package com.tang.struct; public class WhileDemo01 { public static void main(String[] args) { //输出1--100 int i = 0; while (i<100) { ; i++; System.out.println(i); } } } //while (ture){ 为死循环 尽量避免! ================================================================= package com.tang.struct; public class whileDemo02 { public static void main(String[] args) { //计算1+2+3+....+100=? int i =0; int sum =0; while (i<=100){ sum =sum +i; i++; System.out.println(sum); } } }
-
-
do...while循环
-
对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次。
-
do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。
do{
//代码语句
}while(布尔表达式);
-
while和do...while的区别:
-
while先判断后执行。do...while是先执行后判断!
-
do...while总是保证循环体会被至少执行一次!这是最大的区别。
-
package com.tang.struct;//示例 public class DoWhileDemo03 { public static void main(String[] args) { int i =0; int sum =0; do { sum = sum + i; i++; } while (i <=100); System.out.println(sum); } } ================================================================ package com.tang.struct;//区别 public class DoWhileDemo04 { public static void main(String[] args) { int a =0; while (a<0){ a++; } //上面的没有执行 System.out.println("==========================================="); do { System.out.println(a);//输出0 a++; }while (a<0); } }
-
-
for循环
-
虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句---for循环,使一些循环结构变得更加简单。
-
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
-
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
package com.tang.struct; public class ForDemo01 { public static void main(String[] args) { int a = 1;//初始化条件 while (a<=100){//条件判断 System.out.println(a);//循环体 a+=2;//迭代 (a=a+2) } System.out.println("while循环结束!"); //初始化//条件判断//迭代 for (int i =1;i<=100;i++){ //快捷键 : 100.for System.out.println(i); } System.out.println("for循环结束!"); /* 关于for循环有一下几点说明: 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。 然后,检测布尔表达式的值。如果为true,循环被执行。如果为false。循环终止,开始执行循环后面的语句。 再次检测布尔表达式。循环执行上面的过程。 */ //死循环 for (; ; ){ } } }
-
练习1:计算0-100之间的奇数和偶数的和
package com.tang.struct; public class ForDemo02 { public static void main(String[] args) { //练习1:计算0--100之间的奇数和偶数的和 //奇数和 int oddSum = 0; //偶数和 int evenSum = 0; for (int i = 0; i <= 100; i++) { if (i%2 !=0){ //奇数 oddSum+=i; //oddSum = oddSum + i }else { //偶数 evenSum+=i; } } System.out.println("奇数的和"+oddSum); System.out.println("偶数的和"+evenSum); } }
-
练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
package com.tang.struct; public class ForDemo03 { public static void main(String[] args) { //练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个 for (int i = 0; i <= 1000; i++) { if (i%5==0){ System.out.print(i+"\t"); } if (i%(5*3)==0){ //每行 System.out.println(); //System.out.println("\n") } } //println 输出完会换行 //println 输出完不会换行 } }
-
练习3:打印九九乘法表
package com.tang.struct; /* 1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 1×4=4 2×4=8 3×4=12 4×4=16 1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81 */ public class ForDemo04 { public static void main(String[] args) { //1.先打印第一列, //2.把固定的1 再用一个循环抱起来 //3.去掉重复的项,i<=j //4.调整样式 for (int j = 1; j <=9; j++) { for (int i = 1; i <= j; i++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } System.out.println(); } } }
-
-
在Java5中引入了一种主要用于数组的增强for循环。
-
这里我们只是先见一面做个了解,之后数组我们重点使用
-
Java5引用了一种主要用于数组或集合的增强型for循环
-
Java增强for循环语法格式如下:
for(声明语句:表达式)
{
//代码句子
}
-
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句快,其值与此时数组元素的值相等。
-
表达式:表达式是要访问的数组名,或者是返回的值为数组方法。
package com.tang.struct; public class ForDemo05 { public static void main(String[] args) { int[] numbers ={10,20,30,40,50};//定义了一个数组 //遍历数组的元素 for (int x:numbers){//增强for System.out.println(x); System.out.println("==================="); for (int i = 0; i < 5; i++) { //基础for System.out.println(numbers[i]); } } } }
-
这篇关于循环结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)