on
혼자 공부하는 자바 Chapter 04 조건문과 반복문 | 개발 공부 | Java
혼자 공부하는 자바 Chapter 04 조건문과 반복문 | 개발 공부 | Java
04-1 조건문: if문, switch문
실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것을 흐름 제어문 혹은 제어문이라고 한다.
조건문은 조거닉에 따라 다른 실행문을 실행하기 위해 사용된다.
if문은 조건식의 결과가 true, false이냐에 따라, switch문은 변수의 값에 따라 실행문이 결정된다.
if문
if문은 조건식의 결과에 따라 블록 실행 여부가 결정된다.
조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 타입 변수가 올 수 있다.
조건식이 true이면 블록을 실행하고, false이면 블록을 실행하지 않는다.
int score = 93; if (scroe >= 90) { System.out.println("점수가 90보다 큽니다."); System.out.pruntln("등급은 A입니다."); } if (scroe < 90) { System.out.println("점수가 90보다 작습니다."); System.out.pruntln("등급은 B입니다."); }
if-else문
if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택한다.
if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다.
조건식의 결과에 ㄸ라 이 2개의 블록 중 어느 한 블록의 내용만 실행하고 전체 if문을 벗어나게 된다.
int score = 93; if (scroe >= 90) { System.out.println("점수가 90보다 큽니다."); System.out.pruntln("등급은 A입니다."); } else { System.out.println("점수가 90보다 작습니다."); System.out.pruntln("등급은 B입니다."); }
if-else if-else문
int score = 93; if (scroe >= 90) { System.out.println("점수가 90~100입니다."); System.out.pruntln("등급은 A입니다."); } else if (score >= 80) { System.out.println("점수가 80~89입니다."); System.out.pruntln("등급은 B입니다."); } else if (score >= 70) { System.out.println("점수가 70~79입니다."); System.out.pruntln("등급은 C입니다."); } else { System.out.println("점수가 70 미만입니다."); System.out.pruntln("등급은 D입니다."); }
switch문
switch문은 변수의 값에 따라 실행문이 결정된다.
int num = (int) (Math.random * 6) + 1; // 주사위 번호 하나 뽑기 switch (num) { case 1: System.out.println("1번이 나왔습니다."); break; case 2: System.out.println("2번이 나왔습니다."); break; case 3: System.out.println("3번이 나왔습니다."); break; case 4: System.out.println("4번이 나왔습니다."); break; case 5: System.out.println("5번이 나왔습니다."); break; default: System.out.println("6번이 나왔습니다."); break; }
case 끝에 break가 붙어 있는 이유는 다음 case를 실행하지 않고 switch문을 빠져나가기 위해서이다.
break가 없다면 다음 case가 연덜아 실행되는데, 이때는 case 값과는 상관없이 실행된다.
04-2 반복문: for문, while문, do-while문
제어문 블록이 실행 완료되었을 때 조건문일 경우는 정상 흐름으로 돌아오지만, 반복문일 경우는 제어문 처음으로 다시 되돌아가 반복 실행한다. (looping)
반복문은 어떤 작업(코드)이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다.
for문은 반복 횟수를 알고 있을 때 주로 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다.
while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐일 뿐 동작 방식을 동일하다.
for문
for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.
int sum = 0; for (int i = 0; i <= 100; i++) { sum += i; } System.out.println("1~100 합 : " + sum);
중첩 for문
for문은 또 다른 for문을 내포할 수 있는데, 이것을 중첩 for문이라고 한다.
이 경우 바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로 돌아간다.
for (int i = 2; i <= 9; i++) { for (int j = 1; j <= 9; j++) { System.out.println(i + " x " + j + " = " + (i * j)); } }
while문
while문은 조건식이 true일 경우에 계속해서 반복한다.
조건식에는 비교 또는 논리 연산식이 주로 오는데, 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료한다.
int sum = 0; int i = 1; whule (i <= 100) { sum += i; i++; } System.out.println("1~100 합 : " + sum);
do-while문
do-while문은 블록 내부의 실행문을 우선 실행하고, 실행 결과에 따라서 반복 실행을 계속할지 결정한다.
int sum = 0; int i = 1; do { sum += i; i++; } while (i <= 100); System.out.println("1~100 합 : " + sum);
break문
break문은 반복문인 for문, while문, do-while문의 실행을 중지할 때 사용된다.
switch문에서도 break문을 사용하여 switch문을 종료한다.
int sum = 0; int i = 1; while (true) { sum += i; i++; if (i == 10) { break; } } System.out.println("1~100 합 : " + sum);
continue
continue문은 반복문인 for문, while문, do-while문에서만 사용되는데, 블록 내부에서 continue문이 실행되면 for문의 증감식 또는 while문, do-while문의 조건식으로 이동한다.
int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 != 0) { continue; } sum += i; }
참조
from http://dhpark.tistory.com/22 by ccl(A) rewrite - 2021-11-22 15:27:15