저는 프로그래밍 언어로 처음 C언어를 공부하였습니다. C언어는 처음에는 쉽지만 공부하면 할수록 매우 어려운 언어라는 것을 뼈저리 느낍니다. 만약 C언어를 공부를 하였다면 자바를 접할때 많은 도움이 될 것입니다. 대부분의 C언어 기능과 개념이 자바에 녹아 있기 때문입니다. 단항 연산자는 피연산자가 하나뿐인 연산자를 말합니다. 단항 연산자는 몇가지 종류가 있는데 저와 함께 알아보도록 하겠습니다.
부호 연산자는 양수 및 음수를 표시하는 것을 말합니다. +에 +를 하면 +가 되고 -에 +를 하면 -가 되고 -에 -를 하면 +가 되는 것을 수학시간에 배웠을 것입니다. 부호 연산자는 바로 이럴때 사용하는 것입니다. C언어를 공부하면 알고리즘을 공부하게 될 것인데 알고리즘을 구현하기 위해 부호 연산자는 종종사용 됩니다.
부호 연산자는 정수와 실수앞에 모두 올 수 있습니다. 실제로 부호가 바뀌는 부분을 소스 코드로 살펴 보겠습니다.
5번째 줄에서 -10의 값을 가진 변수 x를 6번째 줄에서 +부호 연산자를 사용하였습니다. 즉 -와 +는 -이므로 result1의 값은 -10이 출력이 됩니다. 7번째 줄에서 -부호 연산자를 사용하였습니다. 즉 -와 -는 +이므로 result2의 값은 10이 출력이 되는 것을 알 수 있습니다.
증감 연산자가 피연산자 앞에 오면 전위 연산자(++x), 피연산자 뒤에 오면 후위 연산자(x++)라고 부릅니다. 즉 피연산자가 앞에 오느냐 뒤에 오느냐에 따라서 결과 값의 차이가 있습니다. 소스 코드로 알아보도록 하겠습니다.
8번째 줄에 있는 ++x는 전위 연산자 입니다. 의미는 x변수에 저장되어 있는 10을 1증가 시켜 11로 만든 다음에 변수 result1에 저장하라는 의미가 되겠습니다. 그래서 result1의 값은 11이 됩니다. 9번째 줄에 있는 y++은 후위 연산자 입니다. 의미는 y변수에 저장되어 있는 10을 먼저 출력한 다음 1을 증가 시켜 y에 11이 저장됩니다. 즉 먼저 10을 result2변수에 저장한 다음 y변수에 1을 증가 시킨 11이 저장됩니다. 결과 값을 보면 result2의 값은 10이 라는 것과 y의 값이 11로 바뀐 것을 알 수 있습니다.
논리 부정 연산자는 true를 false로, false를 true로 변경하기 때문에 boolean 타입에만 사용할 수 있습니다. 즉 논리 값을 반대로 바꾸는 역할을 합니다. 소스 코드로 알아 보겠습니다.
5번째 줄에서 tf변수에 논리값 true가 저장되었습니다. 8번째줄 !tf는 논리 부정연산자(!)에 의해 true가 false로 변경이 됩니다. tf변수에 false가 저장이 됩니다. 11번째 줄 !tf는 논리 부정연산자(!)에 의해 false가 true로 변경이 됩니다. tf변수에 true가 저장이 됩니다. 이처럼 논리 부정 연산자(!)는 논리 값을 반대로 바꾸는 역할을 합니다. 종종 사용되므로 잘 알아둘 필요가 있습니다. 이것으로 JAVA 단항 연산자 이항 연산자 삼항 연산자 알아보기 2편을 마치겠습니다. 긴 글 읽어주셔서 감사합니다.
JAVA 단항 연산자 이항 연산자 삼항 연산자 알아보기 4편 (0) | 2020.07.05 |
---|---|
JAVA 단항 연산자 이항 연산자 삼항 연산자 알아보기 3편 (0) | 2020.07.05 |
JAVA 단항 연산자 이항 연산자 삼항 연산자 알아보기 1편 (1) | 2020.07.02 |
JAVA 시스템 입출력 System.out System.in Scanner 알아보기 3편(완결) (0) | 2020.06.30 |
JAVA 시스템 입출력 System.out System.in Scanner 알아보기 2편 (0) | 2020.06.30 |