연산자(Operator)

Yoop·2020년 2월 2일
0

Java 개념정리

목록 보기
2/3

java의 연산자에 대해 살펴보자.

산술연산자

  • 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나눈 나머지(%)
int num1 = 6;
int num2 = 2;
System.out.println(num1 + num2); // 8
System.out.println(num1 - num2); // 4
System.out.println(num1 * num2); // 12
System.out.println(num1 / num2); // 3
System.out.println(num1 % num2); // 0

홀수 짝수 구하기로 %를 조금 더 이해해보자.

int num3 = 100;  // num3 변수의 값을 2로 나눈 나머지가 0일 경우는 짝수 아니면 홀수
System.out.printf("%d는 %s입니다.", num3, num3 % 2 ==0 ? "짝수" : "홀수" );

증감연산자

  • 형태 : (++, --)
  • 1을 증가시키거나 1을 감소시킨다.
  • 연산자들 중 유일하게 결과에 변수를 담지 않고 단독으로 쓸 수 있다. 대입이 필수가 아니다.

주의해서 기억하자!

  • 문자 에 오면 연산 후 대입 : ++a
  • 문자 에 오면 대입 후 연산 a++
int a = 5;
++a; // a = a + 1;
System.out.println(a);		// 6   앞에있던 뒤에있던 사용하는 변수의 값은 무조건 변한다.
--a; // a = a - 1;
System.out.println(a);		// 5
a++; // a = a + 1;
System.out.println(a);		// 6
a--; // a = a - 1;
System.out.println(a);		// 5

비교연산자

  • 형태 :  (>, <, >=, <=, ==, !=)
  • 결과는 또는 거짓

주의해서 기억하자! 

  • > = : 공백이 중간에 들어가면 안된다.
  • =< : 순서가 바뀌어도 안된다.
  • 같다 비교는 "="이 아니다!

배정연산자

  • 형태 : (+=, -=, *=, /= ...)
  • 어떤 변수가 자기 자신의 값을 꺼내서 연산 후 다시 자기 자신에게 넣을 때
int a = 5;
a *= 3; // a = a * 3; 
		
a = a + 1;
a += 1;
a++;
  • 배정연산자는 연산자중에 우선순위가 가장 낮다. 가장 마지막에 계산한다.
int b = 5;
b *= 2 + 3;  // b = b * (2 + 3);         
System.out.println(b); // 25

논리연산자

  • 형태 : ( &&, ||)

  • 조건식 && 조건식 -> 참, 거짓이 반환

  • 조건식 || 조건식 -> 참, 거짓이 반환

    	True    &&   True -> True

    True    &&   False-> False
    False   &&   True -> False
    False   &&   False-> False

    True    ||   True -> True
True    ||   False-> True
False   ||   True -> True
False   ||   False-> False
- || 연산자는 앞의 조건이 true이면 뒤에 연산을 더 진행하지 않는다. 무조건 true니까.

int a = 20;
int b = 10;
boolean result = (a > b) && (a % 2 == 0);

위의 식에서 앞 조건인 a > b 가 flase 면 무조건 flase이기 때문에 앞조건을 따져 본 후 flase면 뒤는 계산하지 않는다.
좀 더 똑똑한 연산자다!

&& 말고 하나짜리 &도 있다. &&는 앞이 거짓이면 뒤는 계산하지 않지만 &는 뒤에도 계산한다. 효율을 위해 그래서 자바는 &&를 쓴다.

삼항연산자

  • 형태 : ( 조건 ) ? 값1 : 값2;
    - (조건) : 참과 거짓을 판단할 수 있는 식이 와야 한다.
    - 값1 : 조건이 참일 경우 선택
    - 값2 : 조건이 거짓일 경우 선택
int a = 5;
int b = 10;
		
int max = (a > b) ? a : b;
System.out.println("max : " + max);   // 10
System.out.println("max : " + ((a > b) ? a : b)); // 이런 식으로도 표현이 가능하다.
		
String result = (a > b) ? "a가 크다" : "b가 크다";
System.out.println(result); // b가 크다

산술연산자와 배정연산자의 특이점(주의사항)

데이터 크기

  • byte < char=short < int < long < float < double

산술연산의 주의점

  • int, short, byte, char의 산술 결과는 int 이다.
    왜? int의 값이 가장 크기 때문이다. 산술연산 하기 전에 미리 int로 바꾼다.
System.out.println('a' + 1);    //98
System.out.println('A' + 'B');   // 131
System.out.println((char)(75));  // 'K'
  • int보다 큰 값으로 연산하면 더 큰 걸로 나온다.
    - int + float → float
    - int + long → long
    - int + double → double

증감연산자를 제외한 다른 연산자를 사용할 때는 반드시 연산의 결과를 사용해야 한다. 변수에 담는다던가 말인다.

profile
병아리 개발자의 취뽀 일기

0개의 댓글