자바 스터디 할래 3주차 과제 연산자

2021. 8. 29. 16:36Java

3주차 스터디 목차

 연산(operations)
-> 프로그램에서 데이터를 처리하여 결과를 산출하는 것

연산자(operator) 
-> 연산에서 사용되는 표시나 기호

피연산자(operand)
-> 연산되는 데이터 

산술연산자

자바 연산자 종류

(이미지 출처 : https://kephilab.tistory.com/28)

 

비트 연산자 

->비트 연산자는 데이터를 비트(bit)단위로 연산한다. 즉, 0과 1이 피연산자가 된다. 그래서 0과 1이 표현 가능한 정수
타입만 비트연산을 할 수 있다. 실수 타입인 float, double은 비트연산을 할 수 없다.

 

자바 비트연산자
자바 비트 이동 연산자

 

관계 연산자

자바 관계 연산자

(이미지 출처 : https://programmer-seva.tistory.com/8 )

논리연산자
-> 논리연산자는 논리곱(&&), 논리합(||), 배타적논리합(^) 그리고 논리부정(!) 연산을 수행한다.
논리연산자의 피연산자는 boolean  타입만 사용할 수 있다. 

논리 연산자

(이미지 출처 : https://medium.com/@katekim720/%EC%97%B0%EC%82%B0%EC%9E%90%EB%B6%80%ED%84%B0-%EC%A1%B0%EA%B1%B4-%EB%B0%98%EB%B3%B5%EB%AC%B8%EA%B9%8C%EC%A7%80-3d5cec6513d4)

instanceof(객체 타입 확인)
-> 어떤 객체가 어떤 클래스의 인스터스인지 확인하려면 instanceof 연산자를 사용할 수 있다. 

[사용방법]

boolean result = 좌항(객체) instanceof 우항(타입)

 

assignment(=) operator

-> 대입 연산자는 변수에 데이터를 할당할때 사용한다. 

[사용방법]

int number = 10;

 

화살표( -> ) 연산자

람다식에서 자주 사용하는 화살표 연산자이다. 자세한 것은 람다식을 좀 더 구체적으로 공부할때 포스팅 할게요 ㅋㅋㅋ 간단하게 설명하자면 

output.java

@FunctionalInterface
public interface Output {
    void print(String name);
}

-> inteface에 메서드 하나만 정의한다. 람다식을 사용하려면 메서드는 하나만 정의해야한다. 메서드를 하나만 정의하는 것을 강제하기 위해서 @FunctionalInterface 어노테이션을 사용한다.

public class Main {

    public static void main(String[] args) {
        Output output = (x)-> System.out.println(x);

        output.print("tom");
    }
}

Main에서는 -> 연산자를 사용해서 정의하였다. 

그리고 output.print("tom")으로 tom을 출력하였다. 

 

[result]

 

3항 연산자

 

public class Main {

    public static void main(String[] args) {

        int number1 = 10;
        int number2 = 20;
        int bigNumber = 0;

        if (number1 > number2) {
            bigNumber = number1;
        } else {
            bigNumber = number2;
        }

        System.out.println("if문 bigNumber : " + bigNumber);

        bigNumber = number1 > number2 ? number1 : number2;

        System.out.println("삼항연산자 bigNumber : " + bigNumber);

    }
}

-> if else 구문을 간단하게 표현한 것이 삼항연산자이다. 사용하는 방법은 아래 코드처럼 사용하면 된다. 

number1 > number2 ? number1 : number2;

 

연산자 우선순위 

연산자 우선순위

(이미지 출처 : https://medium.com/@katekim720/%EC%97%B0%EC%82%B0%EC%9E%90%EB%B6%80%ED%84%B0-%EC%A1%B0%EA%B1%B4-%EB%B0%98%EB%B3%B5%EB%AC%B8%EA%B9%8C%EC%A7%80-3d5cec6513d4 )

참고 : 이것이 자바다