본문 바로가기

프로그래밍/Java 프로그래밍

자바연산자와 연산식4

마지막 연산자인 삼항 연산자에 대해 알아보겠습니다.



삼항 연산자

삼항 연산자(? :)는 3개의 피연산자를 필요로 하는 연산자를 말합니다. 삼항 연산자는 ? 앞의 조건식에 따라 클론(:) 앞뒤의 피연산자가 선택된다고 해서 조건 연산식이라고 부르기도 합니다. 간단한 예제를 통해 사용법을 알아보도록 합시다.


int score = 95;

char grade = (score > 90) ? 'A' : 'B';


위의 예제에서는 score에 95를 넣고 삼항 연산자를 통해 score가 90보다 크면 grade에 'A'를 넣고 아니면 'B'를 넣습니다. 이 경우는 score가 95이므로 grade에 'A'가 들어갑니다. 위의 예제를 삼항 연산자가 아닌 if문장을 사용하면 다음과 같이 됩니다.


int score = 95;

char grade;

if(score > 90) {

    grade = 'A';

} else {

    grade = 'B'

}


처음에는 삼항 연산자보다는 if문장이 훨씬 쉽게 다가옵니다. 그러나 삼항 연산자를 사용하면 훨씬 간단하다는 것을 알 수 있습니다. if문장이 훨씬 많이 쓰이기는 하지만 두값을 비교해서 큰 값이나 작은 값을 구하는 것이라면 삼항 연산자를 사용하는게 훨씬 간단하고 이해도 쉽다는 것을 알 수 있습니다.


몇가지 코딩 문제를 풀어보도록 하겠습니다.


1. 534자루의 연필을 30명의 학생들에게 똑같은 개수로 나누어 줄 때 1인당 몇 개를 가질 수 있고, 몇 개가 남는지를 구하는 코드를 작성하십시오. 여러분도 스스로 한번 해보시기 바랍니다.



위의 예제에서 변수명을 보면 pencilPerStudent 처럼 처음에는 소문자로 시작하지만 단어가 새로 시작할 때마다 대문자로 시작하는 것을 알 수 있습니다. 이런 것을 Camel Notation이라고 하는데 낙타의 등처럼 소문자와 대문자가 섞여있어서 그렇습니다. 변수의 이름은 이해할 수 있게 길게해주시는게 좋습니다. 예전 프로그래머들을 그냥 간단히 이름을 지었는데 이것은 굉장히 안좋은 습관입니다. 위의 예제에서 pencils와 students는 모두 정수입니다. 그렇기때문에 pencilPerStudent에는 pencils를 students로 나눈 몫이 들어갑니다. 그리고 pencilsLeft에는 나머지 연산자로 인해 나머지 값이 들어갑니다.



2. 다음은 십의 자리 이하를 버리는 코드입니다. 변수 value의 값이 356이라면 300이 나올 수 있도록 코드를 작성해주십시오.



십의 자리 이하를 버리는 코드는 여러가지로 구현할 수 있습니다. 일단 2가지 예제를 들어보았습니다. 그리고 마지막으로 일의 자리 이하를 버리는 코드도 작성해 보았습니다. 



3. 반지금이 10인 원의 넓이를 구하는데 다음과 같이 var2, ".", var3을 + 연산해서 원주율을 얻은 다음 계산하려고 합니다. 올바른 결과가 나오도록 코드를 작성해 보십시오.



위의 예제를 사실 좋은 문제는 아닙니다. 어떻게 연산식을 이용할 수 있는지 알아보기위해 작성된 코드입니다. 중간에 있는 Double.parseDouble은 스트링을 double 타입으로 변환하는 메소드입니다. 이것은 나중에 비슷한 메소드와 함께 많이 사용됩니다. 이것은 책에 있는 예제를 그대로 사용해서 작성된 코드입니다. 라인 11은 제가 따로 작성한 코드입니다. 이제 앞으로 조건문이나 반복문 등을 배우게 되면 진자 예제다운 예제를 사용할 수 있을 것이고 제가 직접 문제도 만들어볼 것입니다.

'프로그래밍 > Java 프로그래밍' 카테고리의 다른 글

자바 반복문  (0) 2020.07.01
자바 조건문  (0) 2020.06.29
자바 연산자와 연산식3  (0) 2020.06.28
자바 연산자와 연산식2  (0) 2020.06.26
자바의 연산자와 연산식1  (0) 2020.06.25