반응형

1. IF문
특정 조건이 참인지 확인하고, 그 조건이 참(True)일 경우 특정 코드 블록을 실행한다
2. ELSE문
else 문은 if 문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.
3. ELSE IF문
앞선 if 문의 조건이 거짓일 때 다음 조건을 검사한다. 만약앞선 if 문이참이라면 else if 를실행 하지 않는다.
- If문의 단점인 1. 불필요한 조건 검사, 2. 코드 효율성을 개선할 수 있다.
- 불필요한 조건 검사: 이미 조건을 만족해도 불필요한 다음 조건을 계속 검사한다.
- 코드 효율성: 조건을 중복 체크
이런 코드에 else if 를 사용하면 불필요한 조건 검사를 피하고 코드의 효율성을 향상시킬 수 있다.
if문과 If-else문의 차이점
- if문은 조건이 맞다면 모든 if문이 실행되어야 할 때 사용한다.
- 여러 조건중에 하나만 만족해도 된다면 else if문을 사용한다.
코드 간략하게 만들기 {} 중괄호 생략
실행하는 문장이 하나라면 한줄로 줄이기가 가능
if(true) System.out.println("코드 실행됌");
```java
if (false)
System.out.println("if문에서 실행됨");
System.out.println("if문에서 실행 안됨");
위 문장은 "if문에서 실행 안됨" 만 출력된다.
만약 둘다 if 문 안에 포함하려면 {} 를 사용해야 한다.
4.Switch문
switch 문은 조건식에 해당하는 특정 값으로 실행할 코드를 선택한다.
- 조건식의 결과 값이 어떤 case 의 값과 일치하면 해당 case 의 코드를 실행한다.
-break 문은 현재 실행 중인 코드를 끝내고 switch 문을 빠져나가게 하는 역할을 한다.- 만약 break 문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된다.
- default 는 조건식의 결과값이 모든 case 의 값과 일치하지 않을 때 실행된다. if 문의 else 와 같다. default 구문은 선택이다.
- if , else-if , else 구조와 동일하다.
package cond;
public class Switch2 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon;
switch (grade) {
case 1:
coupon = 1000;
break;
case 2:
coupon = 2000;
break;
case 3:
coupon = 3000;
break;
default:
coupon = 500;
}
System.out.println("발급받은 쿠폰 " + coupon); }
}
break문이 없다면?
조건에 충족하는 라인부터 break를 만나기 전까지 계속 실행하게 된다. 없다면 끝까지 실행한다
5. 새로운 Switch문
-> 를 사용한다.
- 선택된 데이터를 반환할 수 있다.
package cond;
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);
}
}
If vs Switch 차이는?
- switch 문의조건식을넣는부분을잘보면 x > 10 과 같은 참거짓의 결과가 나오는 조건이 아니라, 단순히 값만 넣을 수 있다.
- switch 문은 조건식이 특정 case 와 같은지만 체크할 수 있다. 쉽게 이야기해서 값이 같은지 확인하는 연산만 가능하다. (문자도 가능)
- 반면에 if 문은 참거짓의 결과가 나오는 조건식을 자유롭게 적을 수 있다.예) x > 10 , x == 10
- 정리하자면 swtich 문 없이 if 문만 사용해도 된다. 하지만 특정 값에 따라 코드를 실행할 때는 switch 문을 사용하면 if 문보다 간결한 코드를 작성할 수 있다.
6. 삼항 연산자
(조건) ? 참_표현식 : 거짓_표현식
단순히 참과 거짓에 따라서 특정 값을 구하는 경우 삼항 연산자 또는 조건 연산자라고 불리는 ?: 연산자를 사용 할 수 있다.
- 삼항 연산자는 항이 3개라는 뜻이다. 조건 , 참_표현식 , 거짓_표현식 이렇게 항이 3개이다. 자바에서 유일하게 항 이 3개인 연산자여서 삼항 연산자라 한다. 또는 특정 조건에 따라 결과가 나오기 때문에 조건 연산자라고도 한다.
- 조건에 만족하면 참_표현식 이 실행되고, 조건에 만족하지 않으면 거짓_표현식 이 실행된다. 앞의 if , else 문 과 유사하다.
- if 문 처럼 코드 블럭을 넣을 수 있는 것이 아니라 단순한 표현식만 넣을 수 있다.
//바꾸기 전 코드
package cond;
public class CondOp1 {
public static void main(String[] args) {
int age = 18;
String status;
if(age > 18) {
status = "성인";
} else {
status = "미성년자";
}
System.out.println("age = " + age + " status = " + status);
}
}
//바꾼 후 코드
package cond;
public class CondOp2 {
public static void main(String[] args) {
int age = 18;
String status = (age >=18) ? "성인" : "미성년자";
System.out.println("age = " + age + " status = " + status);
}
}
반응형
'java' 카테고리의 다른 글
자바의 입력 Scanner (0) | 2023.12.16 |
---|---|
자바의 반복문 (1) | 2023.12.15 |
자바의 연산자 (0) | 2023.12.14 |
자바의 변수 (0) | 2023.12.14 |
자바의 워크스페이스, 프로젝트, 패키지, 클래스, method, import, module (0) | 2023.12.13 |