게으른 나르의 코딩

Java 의 사칙 연산(비교 연산자 equals) 본문

Languages/Java

Java 의 사칙 연산(비교 연산자 equals)

개발자 나르 2021. 6. 26. 15:02
반응형

사칙연산에는 더하기 빼기 곱하기 나누기가 있다.

그리고 더 추가해서 (증가식,감소식(둘을 합쳐서 증감식이라 부른다),나머지)가 있고

논리(boolean)을 위한 비교연산자( &&(and), or(||) )이 있다.

더보기

더하기 +

빼기 -

곱하기 *

나누기 /

나눈 나머지 %

증가식 ++ // 1씩 올라간다.

감소식 -- // 1씩 내려간다.

and && (두 식 모두 true여야 true) 그 반대로 하나만 false여도 false

or || (두 식 모두 false여야 false) 그 반대로 하나만 true여도 true

 

증감식에서 ++나 --가 어디에 붙는지에 따라 값이 달라질 수 있다.

더보기

ex)후위연산자로 대입을 먼저 하고 나중에 1을 더하는 식이다.

sum = i++;

 

ex)전위연산자로 먼저 1을 더하고 그 후에 대입을 하는 방식이다.

sum = ++i;

 

둘의 출력값이 달라질 수 있기 때문에 잘 생각하고 써야된다.

또 다른 증감식이 있는데 이것은 증가나 감소값을 정할 수 있다.

곱셈이나 나눗셈도 가능하다.

더보기

ex)

sum += i;    //sum=sum+i 라고 해석하면 된다.

sum -= i;    //위와 연산기호만 바뀌고 동일하다.

sum *= i;    //위와 연산기호만 바뀌고 동일하다.

sum /= i;    //위와 연산기호만 바뀌고 동일하다.

문자열 비교연산자

String 문자열의 비교는 equals 함수를 사용해야된다.

ex)equals 와 == 연산자 비교의 차이는 equals는 대상의 내용 자체를 비교한다면 ==연산자는 주소값을 비교하기 때문이다.

String a = "a";

String b = "a";

String c = new String("a");

이런 예제의 문제가 있다면 

==의 연사자의 같은경우 a 와 b는 true가 나오지만 a 와 c , b 와 c 는 false가 나온다. 출력을 하면 다 a가 나오겠지만

주소값의 차이로 인해서 false가 나온다. 그래서 equals를 사용함으로써 클래스를 사용한 변수여도 값 자체의 비교를 하기 때문에

모두 true가 나온다.

 

기본식 - 변수에 equals를 쓰고 비교할 변수를 ()안에 넣어준다.

sysout(a.equals(b));

sysout(a.equals(c));

반응형
Comments