지-코바

지코바 4회차 - 반복문

moonseok 2021. 10. 15. 01:30

# 출처

Java - 반복문 (1/5) : while #
Java - 반복문 (2/5) : for #
Java - 반복문 (3/5) : 반복문이 없다면 #
Java - 반복문 (4/5) : break, continue #
Java - 반복문 (5/5) : 반복문의 중첩 #

 

 


1. while문

-가장 간단한 형태의 반복문

-조건식이 true면 중괄호 안의 내용을 반복 실행한다.

-조건식이 false가 되면 반복을 멈춘다.(종료조건)

-종료조건을 잘못설정하면 중괄호안의 내용이 무한반복(ex. while_code1) 되거나 아예 실행되지 않음(ex. while_code2)

-무한루프나 특정조건을 만족할때까지 반복하는 경우에 사용

 

//while문의 형태
while(조건식){
   반복문;
}
//while_code1
while(true) {
	System.out.println("무한반복");
}
//while_code2
int i = 1;
while(i < 0) {
	System.out.println("실행되지 않음");
}

 

//while_code3
int i = 1;
while(i < 6) {
	System.out.println(i + "번째 실행");
	i++;
}

//실행결과
1번째 실행
2번째 실행
3번째 실행
4번째 실행
5번째 실행

1-1. do-while문

-while문과 조건식을 검사하는 위치가 다르다.

-조건이 처음부터 맞지않는다면 while문은 실행하지 않지만 do-while문은 적어도 1번 실행된다.

-상황에 따라 선택하여 사용

//doWhile_code
int i = 1;
do {
	System.out.println(i + "번째 실행");
	i++;
}while(i < 0);

//실행결과
1번째 실행

2. for문

-while문은 반복횟수를 지정하기 위해서 외부에 변수를 초기화시키고 while문 안에서 값을 증가시킴.

-while문의 패턴을 문법적인 형태로 만든것이 for문이다.

-반복실행해야하는 특정횟수를 알고있는 경우에 자주 사용된다.

-while문과 상호 대체 가능하므로 취향대로 사용가능하다.(ex. for_code1)

 

//for문의 형식
for(초기화; 종료조건; 반복실행) {
    반복실행 될 구문;
}
//for_code1
for(int i = 1; i < 6; i++) {
	System.out.println(i + "번째 실행");
}

//실행결과
1번째 실행 
2번째 실행 
3번째 실행 
4번째 실행 
5번째 실행

 

-초기화 부분에서 변수 하나이상을 초기화시킬 수 있다.(ex. for_code2)

-반복실행문에 ++ 이외에 += -=같은 연산자도 사용가능.(ex. for_code3)

 

//for_code2
for(int i = 1, j = 0; i < 6; i++) {
	j += i;
	System.out.println(i + "번쩨 실행 " + "j의 값 : " + j);
}

//실행결과
1번째 실행 j의 값 : 1
2번째 실행 j의 값 : 3
3번째 실행 j의 값 : 6
4번째 실행 j의 값 : 10
5번째 실행 j의 값 : 15
//for_code3
for(int i = 1; i < 6; i += 1) {
	System.out.println(i + "번째 실행 ");
}

//실행결과
1번째 실행 
2번째 실행 
3번째 실행 
4번째 실행 
5번째 실행

 

 


3. 반복문이 없다면?

-앞서 작성한 while_code3 혹은 for_code1을 작성하기 위해서는 상당히 귀찮은 작업을 반복해야한다.

-숫자가 5까지여서 적다고 생각할 수 있지만 10만번 반복해야한다면 너무나도 큰 시간손실이 발생할 것이다.

 

System.out.println("1번째 실행");
System.out.println("2번째 실행");
System.out.println("3번째 실행");
System.out.println("4번째 실행");
System.out.println("5번째 실행");

4. 반복문의 제어

1. break

-종료조건이 아니지만 반복문을 중단시키고 싶을때 사용

-반복할 문장이 하나라면 if문에서 중괄호를 생략가능하다.(ex.break_code1)

 

//break_code1
for(int i = 1; i < 6; i += 1) {
	if(i == 3)
		break;
	System.out.println(i + "번째 실행 ");
}

//실행결과
1번째 실행 
2번째 실행

 

 

2. continue

-해당 지점에서 실행은 하지 않지만 반복은 계속 하고싶을 때 사용(건너뛰기)

 

//continue_code1
for(int i = 1; i < 6; i += 1) {
	if(i == 3) 
		continue;
	System.out.println(i + "번째 실행 ");
}

//실행결과
1번째 실행 
2번째 실행 
4번째 실행 
5번째 실행

 

 

 


5.반복문의 중첩

-반복문 안에 다시 반복문을 중첩하는게 가능하다.

 

//forSuperPosition_code
for(int i = 1; i < 6; i ++) {
	for(int j = 1; j < 2; j++) {
		System.out.println("i : " + i + " j : " + j);
	}
}

//실행결과
i : 1 j : 1
i : 2 j : 1
i : 3 j : 1
i : 4 j : 1
i : 5 j : 1

-for문의 중첩을 통해 이런식으로 5×1배열을 만드는것이 가능하다. 

-익선님이 배열이 무엇인가를 잘 설명해줄것이라 믿어 의심치 않기에 여기서 끝내겠습니다.

 

 


문제

1.별(*)을 이용해 정삼각형 만들기

2.별을 이용해 역삼각형 만들기

3.별을 이용해 다이아몬드 만들기

 

//1번 결과화면
    *
   ***
  *****
 *******
*********


//2번 결과화면
*********
 *******
  *****
   ***
    *
  
  
//3번 결과화면
    * 
   *** 
  ***** 
 ******* 
********* 
 *******
  *****
   ***
    *

 

'지-코바' 카테고리의 다른 글

[지코바] 2회차 문제풀이  (0) 2022.01.14
[지코바] 12/10 문제풀이  (0) 2021.12.10
[지코바]5회차 문제풀이 - 상속  (0) 2021.11.25
4회차 문제풀이 - 논리연산자  (0) 2021.10.28
지코바 3회차 문제풀이  (0) 2021.09.24