이 문서에서는 루프 구조에 대한 지식 포인트를 별도로 정리합니다.
앞서 언급한 것처럼 루프 구조는 가장 기본적인 세 가지 루프 구조로 나뉩니다. JDK1에서는 for 루프, while 루프, do...while 루프입니다. .5 이상 버전에서는 배열과 컬렉션을 탐색하기 위한 foreach 루프도 제공합니다.
루프 문의 네 가지 구성 요소:
초기화 부분
루프 조건 부분
루프 본문 부분
반복 부분
for(초기화 조건; 루프 조건; 반복 부분) {
루프 본문
}
1 public class TestFor {2 public static void main(String[] args) {3 //基础for循环,讲一个语句打印多次4 for(int i=0; i<7; i++){5 System.out.println("Hello World!! 第"+i+"次打印");6 }7 }8 }
연습: 1부터 100까지의 모든 짝수를 인쇄하세요.
1 public class TestFor { 2 public void PrintNum(){ 3 for(int i=1; i<=100; i++){ 4 if(i%2==0){//对2取余,若为0则证明是偶数,执行打印语句,反之则继续循环直到满足偶数条件或者i>0 5 System.out.println("i="+i); 6 } 7 } 8 } 9 public static void main(String[] args) {10 TestFor testFor = new TestFor();11 testFor.PrintNum();12 }13 }
연습: 1부터 150까지 반복하고 각 줄에 값을 인쇄하는 코드를 작성하세요. 또한 3의 배수인 모든 줄에 "foo"를 인쇄하고, 3의 배수인 모든 줄에 "biz"를 인쇄해야 합니다.
7
1 public class TestFor { 2 public void FooBizBaz(){ 3 for(int i=1; i<=150; i++){ 4 System.out.print(i+":"); 5 if(i%3 == 0){ 6 System.out.print(" foo"); 7 } 8 if(i%5 == 0){ 9 System.out.print(" biz");10 }11 if(i%7 == 0){12 System.out.print(" baz");13 }14 System.out.println();15 }16 }17 public static void main(String[] args) {18 TestFor testFor = new TestFor();19 testFor.FooBizBaz();20 }21 }
의 각 여러 줄에 "baz"를 인쇄하세요. 참고: 이 질문에서는 else if(){}를 사용할 수 없다는 점에 유의하세요. 3과 5를 동시에 만족시킬 수 있어야 하며, 7의 배수인 라인 수로 3개의 필드를 동시에 인쇄해야 하는데, 그 중 하나가 판단 조건을 만족하면 아래 if 판단문이 실행되지 않기 때문입니다. 현재 루프는 다음 루프를 실행하기 위해 직접 점프됩니다.
1부터 100까지의 모든 홀수 합계 인쇄, 모든 수선화 숫자 인쇄(직접 수선화 숫자를 검색할 수 있음) 등 작은 기본 for 루프 알고리즘도 많이 있습니다. 이러한 질문은 혼자서 연습할 수 있습니다. for 루프에 대한 이해를 강화하는 데 도움이 될 것이므로 여기서는 자세히 설명하지 않겠습니다.
초기화 조건
while(루프 조건) {
루프 본문
반복 조건
}
예 : 1~100 사이의 모든 짝수 출력
1 public class TestWhile { 2 public void evenNum(){ 3 int i = 1; //初始化条件 4 while(i<=100 ){//循环条件 5 6 if(i % 2 == 0){ 7 System.out.println("i="+i); 8 }//循环体 9 10 i++;//迭代条件11 }12 }13 14 public static void main(String[] args) {15 TestWhile testWhile = new TestWhile();16 testWhile.evenNum();17 }18 }
참고: for 루프와 while 루프는 네 부분이 동일하지만 네 부분이 서로 다른 위치에 배치되므로 서로 변환될 수 있습니다.
while 루프의 또 다른 루프 방법:
do...while 루프:
초기화 조건
do{
루프 바디
반복 조건
}while(루프 조건);
위 구조에서 볼 수 있듯이 do...while 루프는 먼저 루프를 수행하여 결정합니다. 루프 조건이 만족되면, 만족하면 다음 사이클을 진행하고, 만족하지 않으면 사이클을 멈춥니다.
예: 1부터 100까지의 모든 짝수를 인쇄하세요
1 public class TestDoWhile { 2 public void evenNum(){ 3 int i = 1; 4 do{ 5 if(i % 2 == 0){ 6 System.out.println("i="+i); 7 } 8 i++; 9 }while(i <= 100);10 }11 public static void main(String[] args) {12 TestDoWhile testDoWhile = new TestDoWhile();13 testDoWhile.evenNum();14 }15 }
do...while和while循环的区别:
do...while循环中 初始化条件即使不满足循环条件也会直接执行一次循环体再进行循环条件判断,所以循环体至少被执行一次,而while循环是必须满足循环条件才会执行循环体。
顾名思义,嵌套循环就是再一个循环中还能再声明一个循环
几种嵌套方式:
1.for循环中能够嵌套一个for或多个for;
2.while循环中可以嵌套一个或多个while循环;
3.for循环中可以嵌套一个或多个while循环;
4.while循环中可以嵌套一个或多个for循环;
5.for循环中可以嵌套一个或多个for/while循环;
6.while循环中可以嵌套一个或多个for/while循环。
示例:
For之间嵌套
1 public class TestForFor { 2 /*打印出 ***** 3 * ***** 4 * ***** 5 * ***** 6 * */ 7 public void forQianTao(){ 8 for(int i = 1; i <= 4;i++){ 9 for(int j = 1; j<=5 ;j++){10 System.out.print("*");11 }12 System.out.println();13 }//此为两层循环,i用于控制打印的行数,j用于控制打印的列数14 }15 public static void main(String[] args) {16 TestForFor testForFor = new TestForFor();17 testForFor.forQianTao();18 }19 20 }
其它几种嵌套循环可以参考上面的示例,结构类似。自己可以进行练习,如通过嵌套循环打印九九乘法表、或者打印一个由星号组成的菱形图案,每个星号之间要有一个空格,这些题可以加强对嵌套循环的理解。
위 내용은 Java 프로그램 흐름 제어 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!