
조건문이란?
💡 주어진 조건의 참, 거짓에 따라서 해당 조건에 맞는 명령을 수행하게 해주는 명령문이다.
이처럼 프로그램의 흐름 (flow)을 바꾸는 역할을 하는 문장이다.
if문 사용법
if (condition) {
// 조건이 참일 때 실행되는 코드
}
➡️ 코드 블록 : {} (중괄호) 사이에 있는 코드
⬇️ 하단 예제를 통해 간단하게 알아보려한다.
public class If1 {
public static void main(String[] args) {
int age = 20; // 사용자 나이
if (age >= 18) {
System.out.println("성인입니다.");
}
if (age < 18) {
System.out.println("미성년자입니다.");
}
}
}
실행 결과
성인입니다.
➡️ age = 20 값을 주면 처음 if문에서 참이 된다.
if (age >= 18) 분석
//age = 20
if (age >= 18) {"성인입니다"}
if (20 >= 18) {"성인입니다"} //age의 값은 20이다.
if (true) {"성인입니다"} //조건이 참으로 판명된다.
{"성인입니다"} //if문에 있는 코드 블록이 실행된다.
➡️ 조건이 참이므로, "성인입니다"가 화면에 출력된다.
이후에 다음 코드가 실행된다.
if (age < 18) 분석
if (age < 18) {"미성년자입니다"}
if (20 < 18) {"미성년자입니다"} //age의 값은 20이다.
if (false) {"미성년자입니다"} //조건이 거짓으로 판명된다.
//해당 코드 블록은 실행되지 않는다.
➡️ 조건이 거짓이므로, if문 블록을 실행하지않고, 탈출한다. 따라서 "미성년자입니다"는 출력되지 않는다.
int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.
if-else문 사용법
if (condition) {
// 조건이 참일 때 실행되는 코드
} else {
// 만족하는 조건이 없을 때 실행되는 코드
}
➡️ if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.
else 문을 사용하면 앞서 진행했던 프로그램을 다음과 같이 더 간략하게 바꿀 수도 있다.
- 기존 : 만약 18살 이상이면 "성인입니다"를 출력하고, 만약 18살 미만이라면 "미성년자입니다."를 출력해야 한다.
- 변경 : 만약 18살 이상이면 "성인입니다"를 출력하고, 그렇지 않으면 "미성년자입니다."를 출력해야 한다.
public class If2 {
public static void main(String[] args) {
int age = 20; // 사용자의 나이
if (age >= 18) {
System.out.println("성인입니다."); //참일 때 실행
} else {
System.out.println("미성년자입니다.");//만족하는 조건이 없을 때 실행
}
}
}
실행 결과
성인입니다.
➡️ int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.
switch문 사용법
💡 if문을 조금 더 편리하게 사용할 수 있는 기능이다.
참고로 if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교 할 수 있다.
switch문은 조건식에 해당하는 특정 값으로 실행할 코드를 선택한다.
switch (조건식){
case value1:
// 조건식의 결과 값이 value1일 때 실행되는 코드
break;
case value2:
// 조건식의 결과 값이 value2일 때 실행되는 코드
break;
default:
// 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}
➡️ 조건식의 결과 값이 어떤 case의 값과 일치하면 해당 case의 코드를 실행한다.
➡️ break문은 현재 실행 중인 코드를 끝내고, switch문을 빠져나가게 하는 역할을 한다.
➡️ 만약 break문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된다.
➡️ default는 조건식의 결과값이 모든 case의 값과 일치하지 않을 때 실행된다. if-else와 같다.
➡️ if, if-else, else 구조와 동일하다
⬇️ 하단 예제를 통해 알아보려 한다.
public class Switch1 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon;
if (grade == 1) {
coupon = 1000;
} else if (grade == 2) {
coupon = 2000;
} else if (grade == 3) {
coupon = 3000;
} else {
coupon = 500;
}
System.out.println("발급받은 쿠폰 " + coupon);
}
}
➡️ 회원 등급에 따라 다른 쿠폰을 방급하는 프로그램을 작성해야 한다.
➡️ 이 프로그램은 int grade라는 변수를 사용하며, 회원 등급에 따라 다음과 같은 쿠폰을 발급해야 한다.
- 1등급 : 쿠폰 1000
- 2등급 : 쿠폰 2000
- 3등급 쿠폰 : 3000
- 그 외 등급 : 쿠폰 500
실행 결과
발급받은 쿠폰 2000
Java 14 새로운 switch문
💡 switch문은 if문 보다 조금 덜 복잡한 것 같지만, 그래도 코드가 깔끔하게 나오지는 않는다.
이런 문제를 해결하고자 Java 14부터는 새로운 switch문이 정식 도입되었다.
기존 코드를 새로운 switch문으로 개발하면 다음과 같다.
public class Switch3 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("발급받은 쿠폰 " + coupon);
}
}
➡️ -> 를 사용한다.
➡️ 선택된 데이터를 반환 할 수 있다.
새로운 switch문은 더 많은 내용을 담고있다. 자세한 내용은 추후 포스팅을 통해 다룰 예정이다.
OUTRO
오늘은 조건문에 대해서 알아봤습니다.
추후 반복문과, 향상된 switch문에 대해서 다룰 예정입니다.
그러면 다음 포스팅에서 뵙겠습니다.
위 포스팅 글은 김영한님의 자바 입문 - 코드로 시작하는 자바 첫걸음을 참고했습니다.
[지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 | 김영한 - 인프런
김영한 | 프로그래밍에 처음 입문하는 분들을 위한 자바 강의입니다. 코드를 따라하면서 손쉽게 자바를 배울 수 있습니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 자바 입문[사
www.inflearn.com
'Language > Java' 카테고리의 다른 글
[Java] String (문자열) 이란? + (특징, 클래스 구조, 메서드) (0) | 2024.04.12 |
---|---|
[Java] 불변 객체 (Immutable Object)란? (0) | 2024.04.08 |
[Java] 기본형과 참조형(Primitive Type & Reference Type) (0) | 2024.04.06 |
[Java] 클래스, 객체, 메서드, 생성자 (0) | 2024.03.30 |
[Java] 연산자 (Operator) (0) | 2024.03.29 |

조건문이란?
💡 주어진 조건의 참, 거짓에 따라서 해당 조건에 맞는 명령을 수행하게 해주는 명령문이다.
이처럼 프로그램의 흐름 (flow)을 바꾸는 역할을 하는 문장이다.
if문 사용법
if (condition) {
// 조건이 참일 때 실행되는 코드
}
➡️ 코드 블록 : {} (중괄호) 사이에 있는 코드
⬇️ 하단 예제를 통해 간단하게 알아보려한다.
public class If1 {
public static void main(String[] args) {
int age = 20; // 사용자 나이
if (age >= 18) {
System.out.println("성인입니다.");
}
if (age < 18) {
System.out.println("미성년자입니다.");
}
}
}
실행 결과
성인입니다.
➡️ age = 20 값을 주면 처음 if문에서 참이 된다.
if (age >= 18) 분석
//age = 20
if (age >= 18) {"성인입니다"}
if (20 >= 18) {"성인입니다"} //age의 값은 20이다.
if (true) {"성인입니다"} //조건이 참으로 판명된다.
{"성인입니다"} //if문에 있는 코드 블록이 실행된다.
➡️ 조건이 참이므로, "성인입니다"가 화면에 출력된다.
이후에 다음 코드가 실행된다.
if (age < 18) 분석
if (age < 18) {"미성년자입니다"}
if (20 < 18) {"미성년자입니다"} //age의 값은 20이다.
if (false) {"미성년자입니다"} //조건이 거짓으로 판명된다.
//해당 코드 블록은 실행되지 않는다.
➡️ 조건이 거짓이므로, if문 블록을 실행하지않고, 탈출한다. 따라서 "미성년자입니다"는 출력되지 않는다.
int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.
if-else문 사용법
if (condition) {
// 조건이 참일 때 실행되는 코드
} else {
// 만족하는 조건이 없을 때 실행되는 코드
}
➡️ if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.
else 문을 사용하면 앞서 진행했던 프로그램을 다음과 같이 더 간략하게 바꿀 수도 있다.
- 기존 : 만약 18살 이상이면 "성인입니다"를 출력하고, 만약 18살 미만이라면 "미성년자입니다."를 출력해야 한다.
- 변경 : 만약 18살 이상이면 "성인입니다"를 출력하고, 그렇지 않으면 "미성년자입니다."를 출력해야 한다.
public class If2 {
public static void main(String[] args) {
int age = 20; // 사용자의 나이
if (age >= 18) {
System.out.println("성인입니다."); //참일 때 실행
} else {
System.out.println("미성년자입니다.");//만족하는 조건이 없을 때 실행
}
}
}
실행 결과
성인입니다.
➡️ int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.
switch문 사용법
💡 if문을 조금 더 편리하게 사용할 수 있는 기능이다.
참고로 if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교 할 수 있다.
switch문은 조건식에 해당하는 특정 값으로 실행할 코드를 선택한다.
switch (조건식){
case value1:
// 조건식의 결과 값이 value1일 때 실행되는 코드
break;
case value2:
// 조건식의 결과 값이 value2일 때 실행되는 코드
break;
default:
// 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}
➡️ 조건식의 결과 값이 어떤 case의 값과 일치하면 해당 case의 코드를 실행한다.
➡️ break문은 현재 실행 중인 코드를 끝내고, switch문을 빠져나가게 하는 역할을 한다.
➡️ 만약 break문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된다.
➡️ default는 조건식의 결과값이 모든 case의 값과 일치하지 않을 때 실행된다. if-else와 같다.
➡️ if, if-else, else 구조와 동일하다
⬇️ 하단 예제를 통해 알아보려 한다.
public class Switch1 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon;
if (grade == 1) {
coupon = 1000;
} else if (grade == 2) {
coupon = 2000;
} else if (grade == 3) {
coupon = 3000;
} else {
coupon = 500;
}
System.out.println("발급받은 쿠폰 " + coupon);
}
}
➡️ 회원 등급에 따라 다른 쿠폰을 방급하는 프로그램을 작성해야 한다.
➡️ 이 프로그램은 int grade라는 변수를 사용하며, 회원 등급에 따라 다음과 같은 쿠폰을 발급해야 한다.
- 1등급 : 쿠폰 1000
- 2등급 : 쿠폰 2000
- 3등급 쿠폰 : 3000
- 그 외 등급 : 쿠폰 500
실행 결과
발급받은 쿠폰 2000
Java 14 새로운 switch문
💡 switch문은 if문 보다 조금 덜 복잡한 것 같지만, 그래도 코드가 깔끔하게 나오지는 않는다.
이런 문제를 해결하고자 Java 14부터는 새로운 switch문이 정식 도입되었다.
기존 코드를 새로운 switch문으로 개발하면 다음과 같다.
public class Switch3 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("발급받은 쿠폰 " + coupon);
}
}
➡️ -> 를 사용한다.
➡️ 선택된 데이터를 반환 할 수 있다.
새로운 switch문은 더 많은 내용을 담고있다. 자세한 내용은 추후 포스팅을 통해 다룰 예정이다.
OUTRO
오늘은 조건문에 대해서 알아봤습니다.
추후 반복문과, 향상된 switch문에 대해서 다룰 예정입니다.
그러면 다음 포스팅에서 뵙겠습니다.
위 포스팅 글은 김영한님의 자바 입문 - 코드로 시작하는 자바 첫걸음을 참고했습니다.
[지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 | 김영한 - 인프런
김영한 | 프로그래밍에 처음 입문하는 분들을 위한 자바 강의입니다. 코드를 따라하면서 손쉽게 자바를 배울 수 있습니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 자바 입문[사
www.inflearn.com
'Language > Java' 카테고리의 다른 글
[Java] String (문자열) 이란? + (특징, 클래스 구조, 메서드) (0) | 2024.04.12 |
---|---|
[Java] 불변 객체 (Immutable Object)란? (0) | 2024.04.08 |
[Java] 기본형과 참조형(Primitive Type & Reference Type) (0) | 2024.04.06 |
[Java] 클래스, 객체, 메서드, 생성자 (0) | 2024.03.30 |
[Java] 연산자 (Operator) (0) | 2024.03.29 |