Q : 조건 연산자?

2020. 6. 23. 16:48잡다한 게시물/Q&A

반응형

 

게시글에 오타가 있어서.. ㅠ

더욱 헷갈리게 했습니다 죄송해요.

 

* int b 가 아닌 string b입니다.


?: (삼항 연산자) 란?

*본문 책 p128 쪽에 조건 연산자에 대한 자세한 설명이 나와있습니다.

 

 

간단하게 설명하면

조건 문에 따른 특정 연산자를 선택할 수 있게 해 줍니다.

기존 연산자에 비해 피연산자가 세 개나 돼서

조금 헷갈릴 수 있는 연산자입니다.

 

언제나 그렇듯 글보단 시각적인 그림이 이해가 더 잘 되기 때문에!

그림을 그려서 설명을 하겠습니다.

 

 

string b에는 

a == 0? "가나다" : "ABC"

를 비교해서 나온 결과가 들어가게 됩니다.

 

순서를 보면

 

1 . a == 0?

 

a가 0인가요? 를 묻습니다.

결과는 참, 거짓으로 나눠지겠죠.

 

2. 그렇게 나온 참, 거짓으로 뒤에 오는 피연산자의 값을 '선택'하게 됩니다.

 

'참' 일 경우는 처음 오는 피연산자인 "가나다"

'거짓' 일경우는 두 번째로 오는 피연산자인 "ABC"

 


정리하면

 

결국 a는 0이 아니므로 false(거짓)

false(거짓)이므로 뒤에 오는 "ABC"를 선택하게 됩니다.

 


if문이 있는데 ?:(삼항 연산자)가 굳이 필요한 이유가 뭐예요?

: 코드를 더욱 간결하게 해주는 이점이 있습니다!

예시를 한번 볼까요?

 

짝수인지 판별하는 간단한 코드입니다.

 

number를 2로 나누었을 때 나머지가 0이 '나오면' 짝수

number를 2로 나누었을 때 나머지가 0이 '아니면' 홀수

 

 

이 if else 문으로 된 코드를?: (삼항 연산자)로 만들면

단 1줄로 구분이 가능하죠.

 

여러 이점이 있지만 

 

어떤 조건을 통해 둘 중 하나만 선택해!

 

라는 코드가 주어진다면 좀 더 간결하게 코딩을 할 수 있게 됩니다.


이해가 조금 되셨나요!

 

도움이 됐으면 좋겠네요 :)

 

질문을 좋아합니다! 모르는 건 마음껏 질문해 주세요.

 

ps. 혹시 처음 배우는 프로그래밍 언어가 c# 이면

if문을 아직 안배웠을 수도 있겠네요.

만약 if문을 모르시면 책 뒷부분에서 배우시고

다시 한번 글을 읽어보면 좋을 거 같네요.

 

반응형