[JAVA] 자바 연산자 : 최우선, 단항, 산술, 시프트, 관계, 비트, 논리, 삼항, 배정대입
자바의 연산자는 다양한 변수들 혹은 변수들간의 연산을 위해 존재한다.
종류는 아래와 같이 약 9개 정도로 나누어볼 수 있다.
- 최우선연산자
- 단항연산자
- 산술연산자
- 시프트연산자
- 관계연산자
- 비트연산자
- 논리연산자
- 삼항연산자
- 배정대입연산자
1. 최우선 연산자 -> 빠르다!
( ) - 괄호연산자 |
2. 단항연산자 => 보통 항 앞에 존재
! : 논리 부정 연산자 : 논리식을 반대로 하겠다.
boolean a = true;
if(!a) ==> false 일떄의 조건문
~ : 비트부정 연산자
byte a = 10; // 0000 1010
System.out.println(~a); // 1111 0101
+/- : 부호 연산자
++/-- : 증감 연산자
앞에 있으면 전위 증감 연산자 ( 단항 연산자 )
뒤에 있으면 후위 증감 연산자 : 연산자의 우선 순위가 콤마연산자 바로 앞 : 느리다!
(자료형) : 캐스팅 연산자 / 형변환에 사용
instanceof : 다형성 연산자
3. 산술 연산자
*, /, % +,- |
4. 시프트 연산자
<< : 왼쪽 시프트 연산자 :
byte a = 1;
byte b =3;
System.out.println(a<<b); a비트를 왼쪽으로 b 회 이동 ---> a * 2^b
>> : 오른쪽 시프트 연산자
byte a=8;
byte b =3;
a>>b;
0000 1000
???0 0001 ==> 양수는 0 으로 채우고 , 음수는 1로 채운다. : a 비트를 오른쪽으로 b 회 이동 --> a / 2^b
>>> : 부호 없는 오른쪽 시프트 연산자
이동할때 부호와 상관 없이 0 으로 채운다.
5. 관계 연산자
== : 같다 |
6. 비트 연산자
& : AND 연산자 : 둘다 1일때만 1을 반환 |
7. 논리 연산자
&& : AND 연산자 : 둘다 true 일때 true 반환
|| : OR 연산자 : 둘중에 하나만 true일 때 true 반환
& : AND 연산자 : 더 신중함 !!
int a =10; int b=20;
(a==b) && (a++>b); ==> 앞의 결과가 거짓이므로 증감연산자 까지 실행안됨!
(a==b) & (a++>b); ==> 앞 뒤의 식을 다 실행한 후 true / false 반환을 결정!
| : OR 연산자
8. 삼항연산자
(조건식) ? 참 : 거짓 ;
int a =1; String name; // (a==1) ? name="참":name="거짓"; (x) -> 한줄에서 name 정의를 두번 해서 에러! name = (a==1)?"참":"거짓"; |
9. 배정대입연산자
= : 대입연산자 +=,-=,*=,/=,%=,<<=,>>=,>>>= : 배정 대입 연산자 ==> why ? : 형 변환이 일어나지 않은체로 실행된다! / 빠르다. byte a = 10; a+=10; // a=a+10; 인 경우에는 int 형데이터로 변환되므로 배정대입 연산자를 사용한다. System.out.println("a = " + a); // a = 20 |
'Public > 프로그래밍' 카테고리의 다른 글
[JAVA] 자바 배열 프로그래밍을 활용한 호텔관리 프로그램(빈방관리, 입실관리) (1) | 2020.08.24 |
---|---|
[JAVA] 자바 기본 입출력 : System 클래스, 표준 입력 및 표준 출력 스트림, BufferedReader (1) | 2020.08.23 |
[JAVA] 자바의 형변환 : 자동 형변환과 강제 형변환 (0) | 2020.08.22 |
[JAVA] 자바의 기본 자료형 : 논리 정수 실수 문자열 자료형 (0) | 2020.08.22 |
[tensorflow] 미국주식 테슬라 머신러닝으로 주가 예측하기 (6) | 2020.08.02 |