JAVA/개념
JAVA 제어문 : 조건문(if) , 선택문(switch)
tigre
2021. 12. 31. 22:54
728x90
반응형
제어문
제어문 : 코드의 실행 흐름(순서)을 제어하는 구문
↔ 순차문 : 코드가 작성된 순서대로 실행되는 문장
조건문
조건에 따라 코드의 실행 흐름을 제어하는 구문
If문
조건식의 진리값이 참인 경우 코드를 실행
형식) if(조건식) 처리할 문장
조건식에는 변수, 수식(관계, 논리연산자) 등이 들어갈 수 있음
사용례
public class IfTest {
public static void main(String[] args) {
int su = 30;
if (su % 2 == 0) {
System.out.println(su+"은(는) 짝수입니다.");
}
if (su % 2 == 1) {
System.out.println(su+"은(는) 홀수입니다.");
}
// 30은(는) 짝수입니다.
/* 30은 2로 나눈 나머지가 0이기 때문에 위의 if문은 실행되고
아래의 if문은 실행되지 않음 */
}
}
※ 코드 블럭 처리 : 실행할 코드가 둘 이상인 경우에 {}중괄호로 코드들을 묶어줌
If-Else 문
조건식의 진리값이 참인 경우에는 if 다음의 코드를 실행하고
진리값이 거짓인 경우에는 else다음의 코드를 실행
사용례
public class IfTest {
public static void main(String[] args) {
int su = 30;
if (su % 2 == 1) {
System.out.println(su+"은(는) 홀수입니다.");
} else {
System.out.println(su+"은(는) 짝수입니다.");
}
// 30은(는) 짝수입니다.
/*
su를 2로 나눈 나머지가 1인 경우에 if다음의 코드를 실행하고
나머지가 1이 아닌 경우에 else다음의 코드를 실행하기 때문에
else다음의 코드가 실행됨
*/
// 삼항연산자, if-else문과 유사함
String su2 = (su % 2 == 0) ? "짝수" : "홀수";
System.out.println("입력받은 su의 값은 "+su2+"입니다.");
// 입력받은 su의 값은 짝수입니다.
}
}
중첩 If문
if문 내부에 또 다른 if문이 나오는 구문
public class IfTest2 {
public static void main(String[] args) {
// 1~100까지의 수를 입력받는다는 조건 하에 홀수, 짝수 판별
// 1~100 범위에 들지 않는 숫자 → "숫자는 1~100 안에서 입력해 주세요!!"
int su = 111;
if ((1 <= su) && (su <= 100)) {
if (su % 2 == 1) {
System.out.println(su + "은(는) 홀수입니다.");
} else {
System.out.println(su + "은(는) 짝수입니다.");
}
} else {
System.out.println("숫자는 1~100 안에서 입력해 주세요!!");
// 숫자는 1~100 안에서 입력해 주세요!!
}
}
}
선택문
다중 if문 대신 사용, 조건문의 일종으로 볼 수 있음
if문을 여러 개 사용하면 실행 속도가 느려지기 때문에 사용
switch함수의 매개변수에 들어오는 값에 따라 코드를 실행
형식
switch(조건식){
case 값1:
실행 코드
break;
case 값2:
실행 코드
break;
case 값3:
실행 코드
break;
default: case에 해당하는 값이 없을 때 실행할 코드
break;
}
/*
case 값의 개수는 임의로 설정 가능
break : 코드가 실행되다가 break를 만나면,
바로 실행을 중지하고 해당 loop에서 빠져나옴
*/
※ Java7부터는 swtich~case문의 case 값에 정수 값뿐만 아니라 문자열도 사용 가능
사용례
public class SwitchTest {
public static void main(String[] args) {
int su = 33;
switch (su % 2) {
case 0:
System.out.println(su + "은(는) 짝수입니다.");
break;
case 1:
System.out.println(su + "은(는) 홀수입니다.");
break;
}
// 33은(는) 홀수입니다.
/* su%2의 값이 1이기 때문에 case1의 코드가 실행되고
break로 빠져나감, 가장 마지막 case에는 break 생략 가능 */
}
}
Switch~Case 선택문
case에 해당하는 값에 따라 코드의 실행을 제어하는 구문
사용례_case 병렬 사용
public class SwitchTest2 {
public static void main(String[] args) {
int su=15;
//1~10 짝수 홀수 판별하기
switch(su) {
case 2: case 4:
case 6: case 8:
case 10:
System.out.println("su는 짝수입니다.");
break;
case 1: case 3: case 5: case 7: case 9:
System.out.println("su는 홀수입니다.");
break;
default : System.out.println("숫자는 1~10 범위 내에서 선택!!");
}
// 숫자는 1~10 범위 내에서 선택!!
}
}
// 여러 가지 케이스에서 동일한 코드를 실행하는 경우 case를 나열할 수 있음
※ default는 if-else 문의 마지막 else 역할을 함
사용례_case 값에 문자열 사용
public class SwitchTest3 {
public static void main(String[] args) {
String day="10"; // 문자열 상수
// case에 문자열 값 사용하기
switch (day) {
case "10":
System.out.println("10을 선택");
break;
case "20": case "30": case "40": case "50": case "60":
System.out.println("선택한 문자열은 20~60중 하나 입니다");
}
// 10을 선택
}
}
※ case의 값으로 문자도 올 수 있음
제어문에서 가장 자주 쓰이고 중요하게 여겨지는 조건문과
다중 if문 대신 사용할 수 있는 switch문에 대해 알아보았습니다.
if문은 코드 작성시 굉장히 많이 쓰이기 때문에 사용 방법을 숙지하고 있으면 많은 도움이 될 것입니다.
728x90
반응형