특정 조건에 따라 다른 연산을 수행하고 싶을때 사용하는 문맥
if(조건1) {
연산
} else if (조건2) {
연산2
} else if (조건3) {
연산3
} ...
} else {
연산n
}
// 조건문
int number = 2;
if (number == 1) {
System.out.println("number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("number 값은 2 입니다."); // number 값은 2 입니다. 출력
} else {
System.out.println("number 값은 모르는 값입니다."); // 미출력
}
// 중첩 조건문
boolean flag = true;
int number = 2;
if (flag) {
if (number == 1) {
System.out.println("flag 값은 true, number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("flag 값은 true, number 값은 2 입니다."); // flag 값은 true, number 값은 2 입니다. 출력
}
} else {
if (number == 1) {
System.out.println("flag 값은 false, number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("flag 값은 false, number 값은 2 입니다."); // 미출력
}
}
switch(피연산자)
{ case(조건): (연산) }
switch 피연산자
가 case 조건
을 만족하면 case:
뒤에 명시되어 있는 연산 수행case(조건): (연산)
은 여러개를 설정 가능break;
을 넣어줘야 switch 문을 종료시킴break;
를 안넣어주면 switch
문 블럭이 끝날때 까지 전부 실행 switch문
중괄호 안의 제일 마지막에 default: (연산)
을 명시해주면 case 조건
들이 모두 만족하지 않을때 수행할 연산을 정할수있음 (생략가능)// switch/case 문
int month = 8;
String monthString = "";
switch (month) {
case 1: monthString = "1월";
break;
case 2: monthString = "2월";
break;
case 3: monthString = "3월";
break;
case 4: monthString = "4월";
break;
case 5: monthString = "5월";
break;
case 6: monthString = "6월";
break;
case 7: monthString = "7월";
break;
case 8: monthString = "8월";
break;
case 9: monthString = "9월";
break;
case 10: monthString = "10월";
break;
case 11: monthString = "11월";
break;
case 12: monthString = "12월";
break;
default: monthString = "알수 없음";
}
System.out.println(monthString); // 8월 출력
()
안에 조건 여러 조건문 수행 가능특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문맥
for (초기값; 조건문; 증가연산)
{ (연산) }
초기값
과 조건문
을 통해서 정의증가연산
정의초기값
이 조건문
을 만족할때까지 (연산)
을 수행하면서 회차마다 증가연산
수행// for 문
for(int i=0; i < 4; i++) { // 변수 i 값은 0 ~ 3 까지 반복
System.out.println(i + "번째 출력"); // i 변수와 문자열 합치기
}
for 소괄호 안에 값이 3개나 들어가기 때문에 이걸 2개로 줄여주는 방법
for (변수 타입 변수 명 : 목록변수)
{ (연산) }
// 향상된 for 문
int[] numbers = {3,6,9,12,15};
for(int number: numbers) {
System.out.print(number + " ");
}
특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문맥
다만, 초기값 없이 조건문만 명시하여 반복
while(조건문)
{ (연산) }
// while 문
int number = 0;
while(number < 3) {
number++;
System.out.println(number + "출력");
}
do { (연산) }
while(조건문)
// do-while 문
int number = 4;
do {
System.out.println(number + "출력");
} while(number < 3); // 연산을 한번 수행 후 조건문 체크
명령을 호출하면 가장 가까운 블럭의 반복문(또는 switch) 중단시킴
// break 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
break; // 2일때 반복 중단
}
System.out.println(number + "출력");
}
라벨 사용
Loop1 :
for(int i=0; i<n; i++){
Loop2 :
for(int j=0; j<n; j++){
System.out.println("i="+i + " j="+j);
if (j==1){
break Loop1; // end of Loop1(i)
//break; // end of Loop2(j)
//break Loop2; // end of Loop2(j)
}
}
}
반복문에서 해당 순서를 패스하고 싶을때 사용
// continue 명령
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
continue; // 2일때 반복 패스
}
System.out.println(number + "출력");
}
🔗 스파르타코딩클럽 Java 문법 종합반