# 출처
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 |