━━━━ ◇ ━━━━
Java/Java 공부

조건문

[java 이론] 07. 조건문


▽▼▽▼▽▼▽▼▽▼▽▼

이번 포스트의 내용


  1. if 문           

2. switch 문

△▲△▲△▲△▲△▲△▲



1. if 문


+ 프로그램의 각 문장들은 위에서 아래로 순차적으로 실행된다.

+ 제어문(control statement)을 사용하면 그 순서를 바꿀 수 있다.

+ 제어문에는 조건문과 반복문이 있다.

+ 조건문은 조건을 만족하느냐 못하느냐에 따라 다른 문장이 실행되도록 한다.

+ 반복문은 설정한 구간에서 조건을 만족할때까지 반복 실행되도록 한다.


★ if - else 문

+ if-else 문의 형식

 


 if ( 조건식 )

 문장1;

 else

 문장2;

 

+ 조건식이 참(true)이면 문장1을 실행하고, 거짓(false)이면 문장2를 실행한다.

+ 문장1을 다른 말로 then 절 (then clause) 라고 하며, 문장2를 다른 말로 else 절 (else clause) 이라고 한다.


 


+ 박스 친 부분이 if 절이다.

+ score 가 80 이상이면, "합격입니다." 문구를, score가 80미만이면, "불합격입니다." 문구가 콘솔창에 표시 될 것이다.

+ 설정된 변수 score 가 60 이므로 콘솔창에 "불합격입니다."가 표시될 것이다.


+ 만약 조건에 따라서 두 개 이상의 문장이 실행되어야 한다면 중괄호를 이용하여 문장들을 묶어서 한번에 실행시킬 수 있다. 이러한 문장 그룹핑을 복합문 (compound statement) 또는 블록(block) 이라고 한다.


 


+ 중괄호에 의해서 2개의 문장이 한꺼번에 실행된다.

+ 중괄호가 없으면 바로 아래의 문장만 실행된다.


☆ 중첩 if 문

+ if문도 하나의 문장이다. 따라서 if-else 문의 문장1 이나 문장2에 다른 if 문이 들어갈 수도 있다.


 


+ 숫자가 100보다 크다가 참일때, 숫자를 2로 나눈 나머지가 0이다가 참이면 짝수, 거짓이면 홀수

+ 숫자가 100보다 크다가 거짓일때, "0~100"사이의 값을 입력하세요." 문구가 표시된다.


★ 연속적인 if 문


+ 여러 가지 조건에 의해 다중으로 분기되는 결정을 내려야 하는 경우

+ if 문 다음에 else if 문을 계속적으로 사용

+ 하나의 조건식이 참이면 관련된 문장이나 블록이 수행되고, 더 이상의 비교는 이루어지지 않는다.


 


+ 첫 조건이 참이면 바로 문장1을 실행하고 종료, 거짓이면 다음 조건으로

+ 두번째 조건이 참이면 그 다음 문장을 실행하고 종료, 거짓이면 그 다음 조건으로

+ 이런식으로 밑으로 계속 내려간다.


☆ 중첩 if + 연속 if


+ 중첩 if 와 연속 if 를 함께 사용할 수도 있다.

+ 위는 사용자가 월을 입력하면, 계절이 표시되는 프로그램을 만들어 보았다. 

+ 다양한 방법으로 만들수 있는데, 나는 연속적인 if 문을 사용하여 만들었다.

+ 조건식에는 관계연산자 == 과 논리연산자 || 를 이용하였다.


2. switch 문


+ switch 문은 switch안에 들어 있는 수식을 계산하여서 case 절과 비교한다.

+ 집에서 전등 스위치를 켜는 것과 유사하다.

+ 어떤 스위치를 누르냐에 따라 방의 불이 켜지기도 하고, 화장실의 불이 켜지기도 한다.

+ 마찬가지로 switch안의 수식의 결과에 따라 다양한 case가 실행되는 것이다.

+ switch 문은 정수형(byte, short, int, long)에 대해서만 동작한다.



+ 수식은 입력받은 숫자

+ 0 이면 "없음"

+ 1 이면 "하나"

+ 2 이면 "둘"

+ 나머지는 "많음"



+ if 문에서 만들어 보았던 계절구하는 프로그램을 switch문으로 만들어 보았다.



'Java > Java 공부' 카테고리의 다른 글

break 와 continue  (0) 2016.07.18
반복문  (0) 2016.07.18
연산자 (operator)  (0) 2016.07.18
변수 (variable)  (0) 2016.07.18
Java Programming basic  (0) 2016.07.18
COMMENT