연산자

|

################## 산술 연산자 ##################
+ - * / %

+ - * / 은 초등학교 때 배웠던 4칙연산
% 는 나머지 연산자로써 몫이 아닌 나머지를 리턴한다.(배수, 약수, 홀수/짝수, 최대공약수 등에서 활용!!)

/  는  좌측 피연산자를 우측 피연산자로 나누었을 때의 몫이다. 

이중 + 연산자는 수학 뿐 아니라 문자나 문자열에서도 사용이 가능하다.

산술연산자는 1+2 2x3 과 같이 두항 이상이 필요한 이항연산자임.

################## 산술연산자의 형변환 ##################
1. int a=10; int b=3; System.out.println(a/b);

이경우 a를 b로 나누므로 값은 3.3333... 이 출력되어야 한다.

하지만 변수 a와 b 둘다 정수인 int 타입을 가지므로, 실수부분은 정보누락이 발생해 화면에는 3이 출력된다.

2. int a=10; float b=3F; System.out.println(a/b);

이경우 마찬가지로 10을 3.0으로 나누므로 3.33333... 이 출력된다.

비록 변수 a가 정수값인 int 타입이지만, 변수 b의 타입이 실수를 표현가능한 float 이기 때문에 자동형변환이 일어나 3.3333... 이 제대로 출력된다.

################## 단항(증감)연산자 ##################
+ : 양수를 표현한다. 사실상 생략되기에 의미는 없다.
- : -3과 같이 음수를 표현한다.
++ : 증가 연산자로, 이 연산자가 붙어있으면 값에 1을 증가시킨다. (++2 = 3)
-- : 감소 연산자로, 이 연산자가 붙어있으면 값에 1을 감소시킨다. (--2 = 1)

 

1, 2, 3과 같이 항이 하나뿐인 대상을 상대로는 단항연산자가 사용된다.

변수 앞에 ++ 혹은 -- 가 붙으면 전위연산자 ex. (++i) :  +1된 i의 값을 출력.(식 전체를 평가하기 전에 피연산자의 값을 증가시킴.)

변수 뒤에 ++ 혹은 -- 가 붙으면 후위연산자 ex. (i++) :  일단 i의 값을 출력하고 그뒤에 1을 증가시킨다.(식 전체를 평가한 후에 피연산자의 값을 증가시킴.)

################## 연산의 우선순위  ##################
복잡한 연산을 시행할때는 java가 우선순위를 지정하고 처리한다. 외우지 말고 필요할때 와서 찾자.

분명하지 않으면 혼란스러울 것이다. 아래는 자바에서 제공하는 연산자들 간의 우선순위를 정리한 표이다.

 

1 [ ]
()
.
2 ++
--
+(양수) -(음수)
~
!
(type)
new
3 * / %
4 +(더하기) -(빼기)
+(문자 결합 연산자)
5 <<
>>
>>>
6 < <=
> >=
instanceof
7 ==
!=
8 &
&
9 ^
^
10 |
|
11 &&
12 ||
13 ? :
14 =
*= /= += -= %=
<<= >>= >>>=
&= ^= |=

 

 

################## 비교연산자 ##################

> < >= <= == !=

두 기본형 데이터 타입을 비교하여 조건에 맞으면 참, 틀리면 거짓이 나옴.

조건문을 보조하는 역할

 

비교와 Boolean
Boolean이란?
데이터타입의 일종으로, 출력되는 값이 'true' 'false' 두가지 뿐인것이 특징

= : 예로 a=1 이면 a에 1을 대입하는 연산자이다.
== : 비교연산자로 좌항과 우항의 값이 같으면 true, 다르면 false를 출력한다.
!= : 부정을 의미한다. 위와 정반대의 경우.
>, >= : 수학에서의 부등호와 완전히 같다.
.equals : 숫자가 아닌 문자열(string)을 비교할때 사용한다. == 과 같은 역할을 하나 문자열에 사용한다. 기본형 데이터에 대해서만 비교! String class는 equals() 메소드로 비교한다!★

 

################## 논리연산자 ##################

&& || !

조건문을 보조하는 역할


&&(AND 연산자) --> 2개다 참이면 참, 1개라도 거짓이면 거짓
||(OR 연산자) --> 1개라도 참이면 참, 2개다 거짓이면 거짓
!(부정(NOT) 연산자) --> 참은 거짓, 거짓은 참으로(Boolean의 값을 역전시키는 역할)

 

################## 비트연산자 ##################

정수형에 대해서만 사용가능

정수를 비트(이진법)로 바꾼 후 비교하거나 조작한다.

 

& 연산자(AND) : 비교하는 두 값의 비트 자릿수가 1일 때만 1, 그 외엔 0
| 연산자(OR) : 하나라도 1이면 1
^ 연산자(XOR) : 비교하는 두 값의 비트 자릿수가 다를 때만 1을 반환
~ 연산자 : 비트값 반전

 

* 시프트 연산자(<<, >>)
<<연산자 : 비트값을 왼쪽으로 이동시킴. ex) 6<<2 -> 0110(4비트)<<2 -> 1000
>>연산자 : 비트값을 오른쪽을 이동시킴. 앞에 부호를 따라감 ex) 0110>>2 -> 0001 / 1110>>2 -> 1011

>>>연산자 : 비트값을 오른쪽을 보내고 빈 자리는 0으로

'Java' 카테고리의 다른 글

입력과 출력  (0) 2019.05.16
명명규칙  (0) 2019.05.16
형변환  (0) 2019.05.16
상수의 데이터 타입  (0) 2019.05.16
데이터 단위  (0) 2019.05.16
And