JongDDA의 한걸음 한걸음씩
[Java] 삼항 연산자 본문
삼항 연산자 : 조건식 ? true : false
(조건 ? 참일경우 실행할 내용 : 거짓일경우 실행할 내용)
ex) A == B ? "정답." : "오답.";
변수 A와 B가 같으면 "정답" 출력 다르면 "오답" 출력
삼항 연산자는 나중에 배울 If문의 장황한 문장을 한줄로 줄여주는 방식이에요
가벼운 로직을 처리하기에 좋답니다
이를 활용한 간단한 퀴즈를 만들어 볼까요?
짠~
문자열 변수 q에 질문을 저장시키고
정답을 받을 choice 변수를 만들어 스캐너를 통해 입력받은 수를 저장 할 수 있도록 해줍니다.
choice == 4 ? "정답입니다." : "오답입니다."
삼항연산자 식을 만들어 정답인 4를 선택하면 "정답입니다"출력 아니면 "오답입니다" 출력
간단하죠? 하지만 이런 식의 코딩은 문제가 있어요
위의 코딩은 간단하지만
만약 코딩이 길어질 경우 바로 수정하는데 번거럽고 오래 걸린다는 거죠
예를들어 정답을 4번이 아닌 3번으로 바꾼다 하면 숫자 4를 3으로 일일이 다 바꿔줘야하는 참사가 일어난답니다.
이를 해결하기 위해 우린 변수를 잘 활용할 줄 알아야 됩니다.
아래 코드를 보시면
변수 answer을 추가하여
answer에 4를 저장시키고 choice와 answer의 관계를 통해 결과가 일어나도록
삼항연산자 choice == answer ? "정답입니다." : "오답입니다." 로 수정
만든 삼항연산자 식을 문자열 변수 result에 저장
그리고 result를 출력하게 되면 결과값을 알 수 있게 되죠
이렇게 만들면 answer 값만 변경시켜주면 되기 떄문에 번거로움을 피할 수 있답니다.
하지만 여기서 또 질문이 있을 수 있겠죠
선택지 1,2,3,4 가 아닌 다른 수를 입력하면 안되는거 아닌가요?
그죠 위의 코드에선 그런상황을 배제하고 만든 코드에요
그럼 조건을 추가하고 싶다하면 어떻게 하면 될까요?
삼항연산자 식을 바꿔주었어요
choice == answer ? "정답입니다." : choice >= 1 && choice < 4 ? "오답입니다." : "잘못입력하셨습니다.";
삼항연산자 안에 삼항연산자를 또 써줬는데요
choice 와 answer가 같지 않을 경우 choice 값이 1이상이고 4보다 작은지 확인하여
true,false에 따라 출력을 다르게 해준 식 이랍니다.
삼항연산자를 활용해 간단한 프로그램을 만들어 보았는데요
이런 삼항연산자가 간단한 문장을 만들때에는 좋을 수 있지만
그 이상의 조건들이 부여되고 코딩이 점점 길어질땐
쓰기 불편해지고 가독성이 떨어진답니다
그래서 대신에 제어문을 쓰는데요.
이 제어문에 관해선 다음에 배워보도록 할게요
'개발 > Java' 카테고리의 다른 글
[Java] 제어문(반복문) (0) | 2021.02.28 |
---|---|
[Java] 제어문(조건문) (0) | 2021.02.08 |
[Java] 이클립스 초기 설정 및 출력함수 (0) | 2021.01.19 |
[Java] 이클립스 다운로드 하기 (0) | 2021.01.08 |
[Java] 자바 다운로드 하기 (0) | 2021.01.07 |