Java Fundamentals 05 루프 구조

프로그래밍을 좋아하는 당신처럼!
SpringBoot 실습 과정 배우기 https://edu.csdn.net/course/detail/31433
SpringCloud 입문 과정 배우기 https://edu.csdn.net/course/detail/31451


머리말

프로그램이 아무리 복잡해도 시퀀스 구조, 분기 구조 및 루프 구조의 세 가지 기본 구조로 구성됩니다.이 기사에서는이 루프 구조를 학습합니다.이 기사의 내용은 다음과 같습니다. for \ while \ do-while 루프, 루프 제어 중단 및 계속 및 중첩 루프.

주기

LOL에서 Galen의 E 스킬은 검을 들고 원을 만드는 것입니다. 총 10 개의 원이 필요하다고 가정 할 때 프로그램은 그가 반복되는 원 작업을 수행하도록 어떻게 제어합니까?
대답은 : 루프를 통해 반복적으로 코드를 실행하는 것입니다.

Java의 루프는

  • ...에 대한
  • 동안
  • 잠시

사이클의 세 가지 요소

  1. 루프 중지 조건
  2. 초기 수량, 루프 변수 초기화
  3. 루프 변수 업데이트

for 루프

일반적으로 고정 된 수의 루프에 사용됩니다.
구문 구조 :

for(循环变量的初始化;循环的条件;循环变量的更新){
	循环的执行语句;
}

구현 프로세스 :

  1. 초기화
  2. 루프 상태를 판단하십시오.
  3. 루프 문 실행
  4. 변수 업데이트
  5. 루프 조건 판단
    ...
    여기에 사진 설명 삽입

연습 문제 :
1. 회전의 경우

for(int i = 1;i <= 10;i++){
	System.out.println("盖伦转了" + i + "圈");
}

2. 100과 999 사이의 모든 홀수를 출력합니다.
3. 5의 계승을 구합니다 . 5! = 1 * 2 * 3 * 4 * 5
4. 1 ~ 100의 합 구하기

while 루프

while 루프의 실행 프로세스는
구문 과 동일합니다 .

循环变量的初始化
while(循环条件){
	循环的执行语句
	循环变量的更新
}

연습 :
1. while 루프로 완료

int i = 1;
while(i <= 10){
	System.out.println("盖伦转了" + i + "圈");
	i++;
}

2. while 루프를 사용하여 완료하고 두 개의 숫자 m과 n을 입력하고 m과 n 사이의 숫자 합계를 찾습니다 (m <n 가정).

do-while 루프

문법:

变量的初始化;
do{
	循环执行的语句;
	变量的更新;
}while(循环条件);

do-while과 for, while의 차이 :
for와 while이 먼저 조건부 판단 후 루프 문이 실행되며, 조건이 성립되지 않으면 한 번 실행되지 않습니다.
Do-while은 루프 문을 먼저 실행 한 다음 조건부 판단을 실행하고 조건이 성립되지 않으면 적어도 한 번 실행됩니다.
구현 프로세스 :
여기에 사진 설명 삽입

연습 : 혼자 달리기 랩을 마친 후 계속 달리기를 원하는지 물어보십시오. 대답이 "y"이면 다음 랩을 계속 달리고 그렇지 않으면 달리기를 종료하십시오.
1. 완료하려면 do-while
사용 2. 루프 변수에 문자열 유형 사용
3. 루프 코드, 먼저 원을 출력하고 실행 한 다음 루프 변수에 문자열 입력
4. 루프 조건은 변수 값이 "y"인 것입니다.

Scanner input = new Scanner(System.in);
String answer = "";
do{
	System.out.println("跑完了一圈,是否要继续跑?");
	answer = input.next();
}while(answer.equals("y"));
System.out.println("跑完了,休息下");

break 키워드

질문 : 한 사람이 365 일이라고 가정하고 1 년 동안 회사에서 일한다고 가정합니다.이 사람이 복권을 사서 100 일째되는 날에 돈을 버는 경우 일하고 싶지 않으면 어떻게해야합니까? 더 이상?
-break 키워드
break 기능 사용 : 루프 중간에서 전체 루프 실행을 중지합니다.

//使用循环模拟上365天班
for(int i = 1;i <= 365;i++){
	System.out.println("上了"+i+"天班");
	//在第100天中奖,辞职不上班了
	if(i == 100){
		//停止整个循环的执行
		break;
	}
}

계속 키워드

질문 : 위의 사람이 복권에 당첨되지 않고 꿈만 꾸다가 감기에 걸려 잠이 들었다가 일을 계속하기 전에 100 일째되는 날 쉬고 싶다고 가정 해 보겠습니다. 어떻게해야합니까?
-continue 키워드
continue 기능 사용 : 루프 중간에있는 특정 루프 실행을 건너 뛰고 다음 루프를 계속합니다.

for(int i = 1;i <= 356;i++){
	//在第100天,跳过当天的上班
	if(i == 100){
		System.out.println("今天发烧了,要请假!");
		//跳过本次循环,继续
		continue;
	}
	System.out.println("上第"+i+"天班");
}

연습 문제 :
1. 1에서 100까지의 합을 구하고 그 합이 2000을 초과하면 끝납니다
2. 가수가 3이 아닌 1에서 100 사이의 모든 숫자를 출력합니다 .

중첩 루프

중첩 루프를 형성하는 다른 루프를 포함하여 루프 내에서 모든 명령문을 실행할 수 있습니다.
예 :

for(...){
    for(...){
        ...
    }
}
while(..){
    while(..){
        ...
    }
}

Etc. for, while, do-while도 서로 중첩 될 수 있습니다.

중첩 루프 실행 프로세스 :
외부 루프는 1 회, 내부 루프는 1 회 실행
여기에 사진 설명 삽입

연습 1 : 분과 초를 시뮬레이션합니다.
분석 :
초의 루프는
의 루프 안에 중첩되어 있으며 초당 1 회, 분당 1 회 실행됩니다.

for(int i = 0;i < 60;i++){
	for(int j = 0;j < 60;j++){
		System.out.printf("当前时间是:%d分%d秒\n",i,j);
	}
}

연습 2 : 출력 5 5 개의 정사각형, 한 번에 하나의 출력
분석 :
외부 루프는 인쇄 된 라인 수를
제어하고 내부 루프는 인쇄 된 라인 수를 제어합니다.

//外层控制行数
for(int i = 1;i <= 5;i++){
	//内层控制打印5个*
	for(int j = 1;j <= 5;j++){
		System.out.print("* ");
	}
	//输出换行
	System.out.println();
}

연습 3 : 직각 삼각형 출력

*
* *
* * *
* * * *
* * * * *

연습 4 : 직각 삼각형 반전

* * * * *
* * * *
* * *
* *
*

연습 5 : 이등변 삼각형 출력

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

중첩 루프 중단 및 계속

for(...){
    for(...){
     	if(...){
        	break/continue;
        }
    }
}

내부 루프의 중단 및 계속은 내부 루프에만 영향을 미치며 외부 루프에는 영향을주지 않습니다.
중단하고 외부 루프에 계속 영향을 미치고 싶다면 label 문을 사용할 수 있습니다 (레이블 텍스트는 사용자 정의 할 수 있음).

label:
for(...){
    for(...){
        if(...){
       		 break label;
        }
    }
}

종료

좋아요, 모두에게 숙제를 남겨주세요 :

  1. 20 개의 피보나치 수를 출력합니다.
    1, 1, 2, 3, 5, 8, 13, 21, 34 ...
    세 번째 숫자부터 시작하여 각 숫자는 처음 두 숫자의 합과 같습니다.

  2. 출력 다이아몬드

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *
  * * * * * * *
    * * * * *
      * * * 
        *
  1. 1과 · 100 사이의 모든 소수 찾기 (1로만 나눌 수 있음)

다른 Java 지식을 배워야하는 경우 여기 에서 Java 요약에 대한 매우 상세한 지식을 찌르십시오.

추천

출처blog.csdn.net/u013343114/article/details/112275496