자바의 여러가지 연산자에 대해서 정리해보자.
연산자와 피연산자
연산자(operator)는 특정한 연산을 나타내는 기호이다. 피연산자(operand)는 연산의 대상이다.
ex. x(피연산자)+(연산자)y(피연산자)
대입 연산자
대입 연산자(=)는 왼쪽에 있는 변수에 오른쪽에 있는 수식의 값을 계산하여 대입한다. 왼쪽은 반드시 변수여야 한다.
ex. int x=10;
+복합 대입 연산자
복합 대입 연산자는 +=처럼 산술연산자와 대입연산자를 합쳐놓은 연산이다. x+=y는 x=x+y와 같다.
산술 연산자
산술할 때 사용하는 연산자이다. 산술 연산자의 종류는 아래와 같다.
나눗셈 연산자(/)는 피연산자가 정수형일 때만 정수 나눗셈을 한다. 그 외에는 부동소수점 나눗셈을 한다.
ex. 6/4=1, 6.0/4=1.5
정수형 나눗셈에서 분모가 0이되면 컴파일 에러, 부동소수점 나눗셈에서 분모가 0이되면 InInfinity라고 뜬다.
관계연산자 (비교연산자)
피연산자들을 비교할 때 사용하는 연산자이다. 비교 연산자의 종류는 아래와 같다.
조건연산자 (삼항연산자)
조건연산자는 삼항연산자라고도 부르며, 조건식의 결과를 비교해서 결과에 따른 수식을 실행한다.
조건식 ? 수식1(조건식이 참일 때 실행) : 수식2(조건식이 거짓일 때 실행)
ex. int a=5, b=10,max=0;
max=a>b? a : b; //조건식 a(=5)>b(=10)가 거짓이므로, max에 최대값인 b값을 저장함.
논리연산자
여러개의 조건을 조합하여 참인지 거짓인지 논리를 연산할 때 사용하는 연산자이다.
ex. (a>0&&a<11) : a가 0보다 크거나 11보다 작을 때 참. 추가로 &&연산은 앞의 조건이 거짓(false)이면 뒤의 조건과 관계없이 최종값이 false이므로 뒤의 조건을 실행하지 않음.
(a==3||a==4) : a가 3이거나 4일때 참. 추가로 ||연산은 앞의 조건이 참(true)이면 뒤의 조건과 관계 없이 최종값이 true이므로 뒤의 조건을 실행하지 않음.
a=!false : a는 false의 반대인 true가 됨. (boolean 형만 사용가능)
증감연산자
++기호나 --기호를 사용하여 변수의 값을 1증가 시키거나 1감소시키는 연산자이다.
비트단위연산자
^(XOR)연산자는 피연산자의 값이 서로 다를 때만 1(true), 같을 때는 0(false)이다.
~(NOT)연산자는 비트전환 연산자라고도 하며, 0은 1로 1은 0으로 바꾼다.
음수 비트연산을 하려면 2의보수인 상태에서 비트 이동을 시킨후 다시 2진수로 바꿔줘야 한다.
2의 보수로 변환 방법은 2진수를 1의보수로 바꾼 뒤 그 값에서 +1을 해준 값이다.
1의보수는 2진수를 부호비트를 뺀 나머지 비트를 NOT연산 해주면된다.
'언어공부 > Java' 카테고리의 다른 글
자바 이스케이프 문자(escape sequence) 정리 (0) | 2021.04.28 |
---|---|
자바 연산자 우선순위 (0) | 2021.04.28 |
자바 입력 Scanner 클래스 + import 문장 (0) | 2021.04.26 |
자바 print 출력 메소드 - print()/ println() / printf() (0) | 2021.04.26 |
자바 자료형과 형 변환(cast, 암시적 형 변환(자동 형 변환), 명시적 형 변환) (0) | 2021.04.25 |