본문 바로가기
프로그램이야기/JAVA

[자바]7. 조건문-1(if 문)

by Doinge 2020. 2. 8.
728x90
반응형

안녕하세요 초보 개발자 Doing입니다.

이번 시간에는 조건문에 대해 알아보도록 하겠습니다.

조건문을 알아보기 전에 제어문에 대해 간단히 설명할게요

# 제어문이란?

- 순차적인 흐름을 조건에 따라 통제하는 명령

- 사용자의 요구에 따라 프로그램이 동작

 

# 제어문의 종류

# 조건

- if - else

#반복

- while, do while, for

#선택

- switch - case

#흐름 변경

- continue, break

오늘부터는 조금 길어질 거 같네요 ㅎㅎ

그럼 조건문부터 차근씩 볼게요

조건문이란 말 그대로 무언가 조건이 있을 때 작동한다는 말입니다.

조건문에는 if 문과 switch 문이 있습니다.

if 문부터 같이 보시도록 할게요

if: 만약 ~라면 이란 뜻을 가진 영어 단어입니다.

if 문의 형태는

if(조건식){
문장 or 식
}

 

이런 식으로 if 문안에 실행할 식이 들어갑니다. 조건식에 들어가는 것은 '참'일 경우(true)에만 실행이 됩니다.

만약 조건식이 참이라면 중괄호 { } 안에 문장이 실행되고 조건식이 '거짓'(false)이라면 실행되지 않습니다.

간단한 예제 보도록 할게요

if(true){
System.out.println("참입니다.");
}

 

문장 뒤엔 세미콜론(;) 잊지 마시고요!

꿀팁 하나 드리자면 출력물 쓸 때 다 쓰시기 귀찮으시죠?

sysout만 입력 후 ctrl+space 누르면 자동으로 문장이 나옵니다. ㅎㅎ

그럼 결과 한번 보도록 할게요~

결과 확인하셨나요? 결과 창에 참입니다라고 제가 써준 대로 결과가 나왔습니다.

그럼 반대일 경우도 확인해볼게요 조건식을 false라고 변경 후 실행해 보세요

해보셨나요? 아무것도 나오지 않는 것 을 확인하셨을 거예요

위에서 말씀드린 대로 if 문안에 조건식이 참일 경우에만 실행이 된다는 것을

꼭 기억하세요

다음은 뭔가 더 추가해서 해볼게요

저번에 배웠던 변수를 활용해볼게요 먼저 변수를 선언하고 값을 대입해 줍니다.

 

'a'라는 변수를 선언하고 10이란 값을 넣어 줬습니다.

9행을 보시면 if 문안에 'a=10'이란 조건식이 들어갔죠?

만약 a가 10이라면 아래 문장을 실행하겠다.입니다.

a는 10이라서 다음 결과가 출력됩니다.

조건식 안에 a==10이라고 되어있죠?

a=10은 a에 10을 대입한다는 뜻이고

a==10은 a는 10이다 와 같은 뜻입니다.

다음 보시겠습니다

결과가 어떻게 나올까요? 9행을 보시면 조건식이 a==11로 바뀌었습니다.

조건식 안이 거짓이기 때문에 if 절 안에 문장은 실행되지 않고 건너뛰어서 밑에 문장이 실행되게 됩니다.

문장이 순차적으로 실행된다고 보시면 되는데 if 절 안의 조건이 참이면 if 절이 실행되고 그다음 문장이 실행이 되고

if 절 안 조건이 거짓이면 if 절안은 실행 안되고 그다음 문장이 실행됩니다.

if 문 조건식이 참인 경우입니다.

이제 어느 정도 돌아가는 원리를 아시겠나요?

그다음은 else에 대해 알아볼게요 else는 쉬워요

if(조건식){
문장
}
else{
문장
}

}

else가 추가되면 이런 식인데요 if 절 문장이 참이면 else는 실행되지 않고 조건식이 거짓일 때 else 문이 실행됩니다.

만약 if 절이 참이 아니라면~ else 문 실행 이런 식으로 기억하시면 돼요

예제같이 보시겠습니다

이번엔 n1이란 변수에 20을 대입하고 조건식을 n1이 10보다 크다는 조건을 줬습니다.

조건은 참이죠? 만약 n1이 10보다 크다면~ if 절 안의 문장이 실행될 거예요

결과 보시겠습니다

if 문안에 조건식은 변경해서 막 넣어보세요 이럴 땐 이렇게 동작하는 구다라는 걸 확인하실 수 있어요

if 문 조건이 거짓(false)이면 else 문장이 실행됩니다.

다음은 중첩 if 문에 대해 알아볼게요 else if라고 표현합니다.

else if 절을 이용하면 조건 문의 흐름을 더 자유롭게 제어할 수 있습니다. if 문 조건식이 참이면 if 문안이 실행되고

거짓이면 else if 절로 제어가 넘어갑니다. 마찬가지로 else if 안 조건식이 참이면 그 문장이 실행되고

거짓이면 그다음 문장이 실행되겠죠? 어렵지 않습니다. 조건이 좀 추가가 되는구나라고 생각하시면 돼요

else if 절은 복수로 사용 가능하고 생략도 가능합니다. else 절도 생략 가능해요

else 절이 else if 절보다 먼저 나올 수는 없습니다. 예제 한번 보시겠습니다

int a = 10;
int b = 15;
int c = 20;

 

좀 뭔가 복잡해졌죠? 다음 사진같이 보시면서 설명드릴게요

손이 떨려서 잘 안 그려지네요 ㅎㅎ 어쨌든

18행부터 차근차근 볼게요 만약 a가 b보다 크다면 조건에서 거짓이죠?

그 밑에 문장인 else if 절에 있는 조건식으로 넘어갑니다. c가 a보다 크죠?

조건식이 참이므로 그 안에 문장이 실행되고 프로그램이 종료가 됩니다.

이런 식으로 위에서부터 차근차근 비교를 해가며 참일 때 문장을 실행하고 종료하게 돼요

참 그리고 else 문에는 조건을 넣을 수 없습니다.

자 그럼 앞에서 배운 것을 토대로 간단한 프로그램 하나 만들어 볼게요

성적을 설정하고 조건문을 이용해 결과를 출력해 볼게요

엄청 길죠? 하나씩 보면 간단해요

30행을 보시면 국, 영, 수에 해당하는 변수를 선언하고 값을 대입해 줍니다. 점수라고 생각하죠

31행 avg란 평균을 의미하는 변수를 선언해줍니다.

여기서 자료형 double을 쓴 이유는 실수를 표현하기 위함이에요

33행은 계산한 avg 변수의 값을 출력해 줍니다.

34행부터는 조건문인데요 평균이 90점 이상이라면 바로 밑에 문장을 출력하고 36행을 보시면 if 문이

또 하나 들어가 있어요 이것은 34행 if 절의 범위가 39행까지예요 중괄호{} 알고 있죠?

36행은 만약 평균이 90일 때 국, 영, 수 3가지 모두 90 이상이면~이라는 뜻이에요

if 문안에 연산자와 조건 꼭 잘 확인해 보세요 이런 식으로 간단한 프로그램 하나를 만들어 보았아요

30행의 변숫값을 바꿔보시고 if 절 안의 조건식도 바꿔서 한번 실행해 보세요

금방 파악하실 수 있을 거예요 소스코드는 첨부파일로 올려드릴 테니 실행해 보시길 바랍니다.

갑자기 내용이 팍 늘었네요... 뭔가 조리 있게 설명하고 싶은데 잘 안되는 거 같은.. 음;;

이번 시간에는 조건문(if 절)에 대해 알아보았는데요 다음 포스팅에서는 또 다른 조건 문인 switch 문에 대해 알아보도록 하겠습니다. 그럼 오늘도 감사합니다. 다음에 봐요 제발~~

728x90
반응형

댓글