메모장

반복문 (for문) 본문

JAVA/개념정리

반복문 (for문)

Itchild 2024. 4. 6. 14:16
728x90
반응형

 

[ 반복문 ]

: "여러번","계속",범위수행

 

1) while

: 반복되는 수행의 횟수를 모를때

ex) 무한하게,영원히,계속,~~~할때까지 여러번

 

2) for

: 횟수를 분명히 알때

ex) N번, N회, 1~100까지(범위)

 

for 문 의 사용

 

for(초기식 ; 조건식; 증감식){

 

// 조건식이 참일때 수행되는 문장

 

}

 

​무조건 조건식이 false여야 나갈수 있다.

 

 

예시문제)

1. 1번부터 30번까지 확인 : for

2. 콜라를 선택할때까지계속 : while

3. 사용자가 회원가입중인상황. 주민번호를 올바르게입력할때까지 계속 : while

4. 60점(0~100점)이상을 획득하면 종료 : while

 

 

★ 반복문의 장점

"코드를 재사용성이 증가되었다."

 

검증된 코드를 사용하기때문에,

오류가 줄어듦

"오류의 파급효과가 줄어듦"

-> 개발시간이 단축

-> 개발비용이 절감

=> 회사이익

연습문제

출처 입력

안녕 세번 출력

for(int i = 0; i < 3 ; i++) {

 

System.out.println("안녕");

 

}

 

 

아래 처럼 디버깅표를 작성하면서 내려갈수 있다!

 

 

a a<3 i i<=???

 

-----------------------------------

 

0 T 0 T

 

------------------------------

 

1 F

 

------------------------------

 

1 T 0 T

 

1 T

 

-------------------------------

 

2 F

 

---------------------------------

 

2 T 0 T

 

1 T

 

2 T

 

------------------------------------

 

3 F

 

-----------------------------------

 

3 F


이중 for문 구구단 문제

 

 

for(int a=2;a<=9;a++) {

 

 

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

 

System.out.println(a+" x "+i+" = "+(a*i));

 

}

 

 

디버깅표로 작성하면서 생각 해보기

 

a a<=9 i i<=9

 

--------------------------------

 

2 T 1 T

 

2 T

 

3 T

 

4 T

 

5 T

 

6 T

 

7 T

 

8 T

 

9 T

 

10 F

 

3 T 1 T

 

2 T

 

3 T


별찍기 실습 ~

 

// 디버깅 표 1번

 

 

*****

 

****

 

***

 

**

 

*

 

 

for (int a = 0; a < 5 ; a++) {

 

//

 

// for (int i = 0; i < 5-a ; i++) {

 

// System.out.print("*");

 

// }

 

// System.out.println();

 

//

 

// }

 

 

 

a a < 5 i i< 5-a

 

----------------------------------

 

0 T 0 T

 

1 T

 

2 T 5개

 

3 T

 

4 T

 

-----------------------------------

 

5 F

 

-----------------------------------

 

1 T 0 T

 

1 T

 

2 T 4개

 

3 T

 

-----------------------------------

 

4 F

 

------------------------------------

 

2 T 0 T

 

1 T 3개

 

2 T

 

-------------------------------------

 

3 F

 

-------------------------------------

 

3 T 0 T

 

1 T 2개

 

--------------------------------------

 

2 F

 

--------------------------------------

 

4 T 0 T 1개

 

--------------------------------------

 

1 F

 

--------------------------------------

 

5 F 0 F 0개

 


// 디버깅표 2번

 

-----------------------------------

 

 

++++ *

 

+++ **

 

++ ***

 

+ ****

 

' *****

 

for(int a = 0; a<5; a++) {

 

for(int i = 0; i < 4-a; i++) {

 

System.out.print(" ");

 

}

 

 

 

for(int i = 0; i <= a; i++) {

 

System.out.print("*");

 

}

 

System.out.println();

 

}

 

System.out.println();

 

 

 

a a<5 i i< 4-a

 

---------------------------

 

0 T 0 T

 

1 T

 

2 T

 

3 T

 

4 F

 

 

 

1 T 0 T

 

1 T

 

2 T

 

3 F

 

 

 

 

 

2 T 0 T

 

1 T

 

2 F

 

 

 

 

 

3 T 0 T

 

1 F

 

 

 

 

 

4 T 0 F

 

 

5 F

 

 

 

 

 

 

a a<5 i i<=a

 

-------------------------------

 

0 T 0 T

 

1 F

 

1 T 0 T

 

1 T

 

2 F

 

2 T 0 T

 

1 T

 

2 T

 

3 F

 

3 T 0 T

 

1 T

 

2 T

 

3 T

 

4 F

 

4 T 0 T

 

1 T

 

2 T

 

3 T

 

4 T

 

5 F


*

 

***

 

*****

 

 

for (int a = 0; a < 3; a++) {

 

 

for (int i = 0; i < 2 - a; i++) {

 

System.out.print(" ");

 

}

 

 

for (int i = 0; i < 2 * a + 1; i++) {

 

System.out.print("*");

 

}

 

System.out.println();

 

}

 

 

 

 

a a<3 i i+a<2

 

--------------------------------

 

0 T 0 T

 

1 T

 

2 F

 

 

 

1 T 0 T

 

1 F

 

2 F 0

 

 

 

a a<3 i i< 2*a + 1

 

-----------------------------------

 

0 T 0 T 1개

 

-------------------------------------

 

1 F

 

--------------------------------------

 

1 T 0 T

 

1 T 3개

 

2 T

 

---------------------------------------

 

3 F

 

--------------------------------------

 

2 T 0 T

 

1 T

 

2 T 5개

 

3 T

 

4 T

 

--------------------------------------

 

5 F

 

---------------------------------------

 

3 F

 

 

 

 

a i

 

i < 2a+1

 

 

0번째 줄 1개

 

1번째 줄 3개

 

2번째 줄 5

 

 

a=1 일때 i = 2a + 1

 

728x90
반응형

'JAVA > 개념정리' 카테고리의 다른 글

Random  (0) 2024.04.06
Scanner  (0) 2024.04.06
반복문 (while문)  (0) 2024.04.06
함수 (메서드)  (0) 2024.04.06
배열  (0) 2024.04.06