티스토리 뷰

IT/Java

if~else문

오예봉봉 2020. 4. 23. 22:42


if~else문 개념


if 문의 경우 일정한 조건이 충족 되어 참(true)이 될 경우에만 실행 문장이 수행 되도록 하고 싶은 때에 사용합니다. 

그런데 if문의 조건 결과가 false(거짓)일 경우에도 실행하고 싶은 문장이 있다면 else를 사용 하면 됩니다.
즉 , if문 이 else 블록과 함께 사용 되어 조건 검사 결과의 참 또는 거짓에 따라 실행될 문장이 선택됩니다. 

if~else문 구조

if (조건)

{

   1번 실행 문장 ;

}

else

{

   2번 실행 문장 ;

}


위 코드에서 알 수 있듯이 사실 if~else문은 단순한 if문에 else 블록을 첨부한 간단한 구조입니다.

if문의 조건 결과가 참 (true)이라면 1번 실행 문장이 실행되고 거짓 ( false)이라면 2번 실행 문장이 수행 됩니다. 


예제 1

1.public class Example {

2. public static void main(String[ ] args) {

3.

4. int point = 85;  //변수 point 선언과 초기화

5.

6. if(point >=90) {

7. System.out.println("점수가 90보다 큽니다.");

8. System.out.println("성적은 A 입니다.");

9. } else {

10. System.out.println("점수가 90보다 작습니다.");

11. System.out.println("성적은 B 입니다.");

12. }

13. }

14.}

 

위 예제의 실행 결과는 아래 와 같습니다.


점수가 90보다 작습니다.

성적은 B입니다.


4 행의 변수 point 가 85 이므로 6행의 조건 point >= 90 을 만족 시키지 못 합니다.

따라서 7~8행의 실행 블록은 수행하지 않고 빠져 나갑니다. 그러나 else 블록은 조건 검사 결과가 거짓일 때에 실행되므로 10~11행의 실행 문장이 실행 됩니다.


예제 2

1.class Example

2.{

3. public static void main(String[ ] args)

4. {

5. int number=4 ;              //변수 number 선언 과 초기화

6.

7. if(number>0)                //  중괄호 사용 안됨

8. System.out.println("number는 0보다 크다."); 

9.

10. if((number%2)==0)         // 2로 나눈 나머지가 0인가 

11. System.out.println("number는 짝수 입니다.");  //중괄호 사용 안됨

12. else

13. System.out.println("number는 홀수 입니다.");  //중괄호 사용 안됨

14. }

15.}


위 예제의 실행 결과는 아래와 같습니다.


number는 0보다 크다.

number는 짝수 입니다.


5행의 number 변수가 4 입니다. 

따라서 7~8행의 단순 if문의 조건 결과가 참이므로 8행의 실행 문장이 출력 됩니다.

변수 number 가 10~13행의 if~else문의 조건인 2의 배수 여부를 만족 시켜서 참입니다.

그래서 11행의 실행 문장을 실행합니다.

12~13행의 else 블록은 조건 검사 결과가 거짓일 경우에만 실행 됩니다.


7 ,11, 13행의 실행 문장들은 주석에 쓰여 있는 것과 같이 중괄호로 실행 문장들을 묶고 있지 않습니다. 그러나 중괄호의 생략은 어디 까지나 실행 문장이 단 1개인 경우만 가능합니다. 

따라서 실행 문장이 2개 이상이면 에러 발생 방지 , 코드 가독성 향상 등을 위하여 중괄호로 묶어 주는 것이 좋습니다. 링크(if문 들여 쓰기 와 중괄호


'IT > Java' 카테고리의 다른 글

switch case문  (0) 2020.04.26
중첩 if 문  (0) 2020.04.25
if문(자바 조건문)  (0) 2020.04.22
삼항 연산자(조건 연산자)  (0) 2020.04.21
대입 연산자  (0) 2020.04.20