java 연산자

moonseungha·2022년 12월 7일
0

📌단항 연산자

  • 한개의 값으로 연산

- 논리 부정 연산자 : !

  • 논리값을 부정하여 반대 값으로 변경
  • 제어문을 활용할때 많이 쓰임
  • 결과값도 논리값
package 선언부
Class 작성부
	method 작성부
		boolean bool1 = true
        
        System.out.println(!bool1); // false

- 증감 연산자 : ++, --

  • 변수에 담긴 값(==피연산자의 값)에 1을 증가 또는 감소하는 연산자
  • (증감연산자)변수 : 전위연산 → 선 증감 후 처리
  • 변수(증감연산자) : 후위연산 → 선 처리 후 증감
package 선언부
Class 작성부
	method 작성부
    	int num = 10;
        
        System.out.println(num++); // 10
        System.out.println(num); // 11
        System.out.println(++num); // 12        

📌이항 연산자

  • 두개의 값으로 연산

- 산술 연산자 : +, -, *, /, %

  • /:몫
  • %:나머지
  • 0이 분모에 들어가는 것 불가능
package 선언부
Class 작성부
	method 작성부
    	int num1 = 10;
        int num2 = 3;
        
        System.out.println("num1 + num2 = " + num1 + num2); // num1 + num2 = 103
        System.out.println("num1 + num2 = " + (num1 + num2)); // num1 + num2 = 13

- 비교 연산자 : <, >, <=, >=, ==, !=

  • 대소 비교 연산자 : <, >, <=, >=
  • 동등 비교 연산자 : ==, !=
  • 결과값은 논리값
package 선언부
Class 작성부
	method 작성부
    	int num1 = 10;
        int num2 = 30;
        
        System.out.println(num1 == num2); // false
        System.out.println(num1 <= num2); // true
  • 특이 : 문자와 숫자, 문자와 문자간의 대소 비교 가능
package 선언부
Class 작성부
	method 작성부
    	System.out.println(10 < 'A'); // 'A' = 65 // true

- 논리 연산자 : &&, ||

  • 두개의 논리값으로 연산
  • 여러개의 조건들을 연결시켜 하나의 조건으로 만들때 사용
  • 결과값도 논리값
  • 논리값1 && 논리값2 : 두 피연산자 모두 true일때 true 반환 (AND)
    만약 논리값1이 false일 경우 논리값2 실행되지 않음
  • 논리값1 || 논리값2 : 두 피연산자 중 하나만 true여도 true 반환 (OR)
    만약 논리값1이 true일 경우 논리값2 실행되지 않음

package 선언부
Class 작성부
	method 작성부
    	char ch = 'B'; // 66
        
        System.out.println(ch >= 65 && ch <= 90); // true
package 선언부
Class 작성부
	method 작성부
    	int num = 10;
        
        System.out.println((num < 5) && (++num > 0)); // false
        System.out.println("&& 연산 후의 num : " + num) // && 연산 후의 num : 10

- 복합 대입 연산자 : +=, -=, *=, /=, %=

  • 산술 연산자와 대입 연산자가 결합한 것
  • 자신과 연산 후 연산 결과 자신에게 대입
  • 데이터 처리시 속도가 빨라지므로 사용 권장
package 선언부
Class 작성부
	method 작성부
    	int num = 10;
        
        System.out.println(num += 3); // 13
  • 특이 : 문자열과 문자열, 문자열과 숫자간의 연산 가능
package 선언부
Class 작성부
	method 작성부
    	String str = "ab";
        
        System.out.println(str += "cd"); // abcd

📌삼항 연산자

  • 세개의 값으로 연산
  • 조건식 ? true일 경우의 반환값 : false일 경우의 반환값
  • 중첩 사용 가능
package 선언부
Class 작성부
	method 작성부
    	int num = 7
    
    	String result1 = num % 2 == 0 ? "짝수" : "홀수"; // 홀수
        String result2 = (num > 0 ? "양수" : (num < 0 ? "음수" : "0")); // 양수

📌instanceof 연산자

  • 현재 레퍼런스가 실질적으로 어떤 클래스 타입을 참조하고 있는지 확인할 때 사용
  • 클래스 타입이 맞으면 true, 아니면 false 반환
package 선언부
Class 작성부
	method 작성부
    	if(레퍼런스 instanceof 클래스 타입1) {
        	true일 경우 해당 클래스 타입1로 down casting;
        } else if (레퍼런스 instanceof 클래스 타입2) {
        	true일 경우 해당 클래스 타입2로 down casting;
        } else if (레퍼런스 instanceof 클래스 타입3) {
        	true일 경우 해당 클래스 타입3로 down casting;
        }

0개의 댓글