-종류
- if
- 가장 기본이 되는 조건문
-
if(/*조건식*/) { //실행 내용 }
- if바로 뒤에 붙는 소괄호에 조건식이 들어가며, 조건식이 true일 경우 중괄호 안의 내용이 실행된다.
- 조건식이 false일 경우 중괄호 안의 내용이 실행되지 않고 넘어간다
- 조건식은 비교 연산자를 사용해서 true OR false를 반환하도록 한다
- else
- if문의 조건이 false일 경우 다른 내용을 실행해 주기 위해 사용한다
-
if(/*조건식*/) { //실행내용 } else { //if의 조건이 false일때 실행되는 부분 }
- else문에는 조건이 붙지 않으며 if에서 조건식 부분이 false라면 무조건 else를 실행하고 다음으로 넘어간다.
- else의 경우 항상 제일 마지막에 입력해줘야 한다
- else if
- if외의 조건을 여러 개 설정해주고 싶은 경우 사용할 수 있으며 if와 else사이에 사용된다
-
if(/*조건식*/) { //실행 내용 } else if(/*조건 2*/) { //if문의 조건식이 false일 경우 실행 내용 } else if(/*조건 3*/) { //바로 위의 else if문의 조건식이 false일 경우 실행 내용 } else { //위의 모든 if, else if문의 조건식이 false일 경우 실행 내용 }
- else if에는 if와 다른 조건을 달아줄 수 있으며, 1개 이상 원하는 만큼 추가할 수 있다.
- 예제 : 점수(score)를 입력받아 등급을 출력해주는 조건문을 작성해라
-
int score = 83; if(score >= 90) { System.out.println("A"); } else if (score >= 80) { System.out.println("B"); } else if (score >= 70) { System.out.println("C"); } else if (score >= 60) { System.out.println("D"); } else { System.out.println("F"); }
- 조건문을 작성할때는 항상 좁은 조건에서 넓은 조건으로 작성을 해줘야 원하는 결괏값을 가질 수 있다.
- 만약 위의 코드에서 처음 if문에 조건을 score >= 60 이렇게 입력을 한다면 첫번째 조건이 먼저 읽히므로 60 이상의 모든 score가 A가 된다. 90 이상만 A를 출력하려고 했지만 60 이상이 모두 A가 된다.
- 이를 방지하기 위해 좁은 조건에서 넓은 조건으로 잡아주는 연습을 하자.
-
- switch
- if문과 같은 조건문입니다. 사용법이 조금 다른데 밑에 코드를 보며 확인해보겠습니다.
-
switch (/*변수*/) { case /*값1*/: //실행문 break; case /*값2*/: //실행문 break; default: //실행문 }
- switch옆의 소괄호에 들어가는 값이 변수입니다. if문의 조건식에서 변수 부분과 같다고 생각하면 되는데 위의 if문 예제에서 score >= 90 이 부분의 score가 switch의 소괄호 부분에 들어가 주면 됩니다.
- case는 else if와 같이 생각하면 되는데 case옆에 들어오는 값이 변수와 같을 때 실행문을 실행해 줍니다.
- default는 모든 case의 조건이 만족하지 않을때 실행이 되며 if문의 else와 같다고 생각하면 됩니다.
- switch case문에서는 ==(양쪽의 값이 같은지) 만 나타낼 수 있으며 변수와 값이 동일하면 true로 실행문을 실행하고 false면 다음 실행문으로 넘어갑니다.
- 각 case의 끝에는 break를 입력해줘야 합니다. 입력하지 않을시에 default까지 연속적으로 확인하며 체크를 해주기 때문에 case의 조건이 맞고 안의 실행문을 실행했으면 switch문을 나가는 break를 사용해줘야 합니다.
- default는 마지막에 break를 사용하지 않아도 된다. default에 온 순간 안의 실행문을 수행하고 switch문을 빠져나가기 때문이다. (if문의 else와 같음)
- 예제 : 현재 몇층에 있는지 확인하는 switch문을 만드시오
-
int nowFloor = 3; switch(nowFloor) { 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("어디서 온거에요????"); }
- 이렇게 작성을 해준다면 nowFloor는 3이기 때문에 첫 번째와 두 번째 case를 지나쳐 세 번째 case에서 프린트를 해주고 switch문을 빠져나간다.
- 만약 break를 해주지 않았다면 다음 case의 모든 프린트문(4~default)을 출력해주고 switch 문을 빠져나간다.
-
'Back-end > JAVA' 카테고리의 다른 글
9. 반복문(for, while, do-while) (0) | 2021.06.15 |
---|---|
-컴파일러 에러 (0) | 2021.06.15 |
7. Operator (0) | 2021.06.11 |
6. 입출력 (0) | 2021.06.09 |
5. 타입 변환 (0) | 2021.06.09 |