TIL - 2020.12.11 (금)

코드 굽는 제빵사·2020년 12월 11일
0

TIL

목록 보기
16/20

백기선님의 온라인 자바 스터디

연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야하는데, 이것을 피연산자(operand)라고 한다.
피연산자로 상수, 변수, 또는 식 등을 사용 할 수 있다.

산술 연산자

'+' '-' '*' '/' '%' (사칙 연산과 나머지 연산)

비트 연산자

비트 연산자는 피연산자를 비트단위로 논리 연산한다.

'<<' '>>' ( 쉬프트 연산자이다. 비트를 오른쪽으로 밀거나 왼쪽으로 밀거나)
'|' (AND) 피연산자 중 한 쪽의 값이 1이면 1을 결과로 얻는다. 그 외에 0을 얻는다.
'&' (OR) 피연산자 중 양 쪽이 모두 1이어야만 1을 결과로 얻는다. 그 외에 0을 얻는다.
'^' (XOR) 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 때는 0을 얻는다.
`~' 피연산자를 비트로 표현 했을때 0은 1로 1은 0으로 바꾼다.

관계 연산자

비교 연산자는 두 피연산자를 비교하는 데 사용되는 연산자다. 주로 반복문과 조건문의 조건식에 사용되며, 연산결과는 오직 ture와 false이다. 비교 연산자는 이항 연산자이므로 피연산자의 타입이 서로 다를 경우에 자료형의 범위가 큰 쪽으로 자동 형변환하여 피연산자의 타입을 일치 시킨다.

대소 비교 연산자

  • 두 피연산자의 값의 크기를 비교하는 연산자이다. 기본형에 중에서 boolean형을 제외한 나머지 자료형에 다 사용 할 수 있지만 참조형에는 사용 할 수 없다.

'>' 좌변 값이 크면 ture 아니면 false
'<' 우변 값이 크면 true 아니면 false
'>=' 좌변 값이 크거나 같으면 true 아니면 false
'<=' 우변 값이 크거나 같으면 true 아니면 false

등가 비교 연산자

  • 두 피연산자의 값이 같은지 또는 다른지를 비교하는 연산자이다. 대소비교 연산자와 달리 기본형은 물론 참조형, 즉 모든 자료형에 사용 할 수 있다. 기본형의 경우 변수에 저장되어 있는 값이 같은지를 알 수 있고, 참조형의 경우 객체의 주소값을 저장하기 때문에 두 개의 피연산자가 같은 객체를 가르키고 있는지를 알 수 있다.

'==' 두 값이 같으면 true 아니면 false
'!=' 두 값이 다르면 true 아니면 false

논리 연산자

'&&' AND에 해당한다 피연산자 모두 true일 때 ture 아니면 false
'||' OR에 해당한다. 피연산자 중 하나라도 ture이면 ture 아니면 false
'!' 논리 부정 연산자로 true이면 false, false이면 true

instanceof

  • 객체 타입을 확인하는데 사용한다. 속성은 이항연산자이고 형변환 가능여부를 가능하면 true 불가능하면 false를 반환한다.
class  Simple1 {  
 public static void  main (String args []) {    
 Simple1 s = new  Simple1 ();  
 System.out.println (s  instanceof  Simple1); //진실  
 }  
}  

assignment(=) operator

  • 대입 연산자는 변수와 같은 저장공간에 값 또는 수식의 연산 결과를 저장하는데 사용된다. 대입 연산자는 연산자들 중에서 가장 낮은 우선순위를 가지고 있기 대문에 식에서 가장 제일 나중에 수행된다. 연산 진행 순서는 오른쪽에서 왼쪽이다.

화살표(->) 연산자

람다 표현식(lambda expression)이란

int min(int x, int y) {

    return x < y ? x : y;

}

람다 표현식

(x, y) -> x < y ? x : y;

위의 예제처럼 메소드를 람다 표현식으로 표현하면, 클래스를 작성하고 객체를 생성하지 않아도 메소를 사용 할 수 있습니다. 그런데 자바에서는 클래스의 선언과 동시에 객체를 생성하므로, 단 하나의 객체만을 생성할 수 있는 클래스를 익명클래스라고 합니다. 이러한 람다 표현식은 메소드의 매개변수로 전달될 수 도 있으며, 메소드의 결괏값으로 반환될 수 있습니다.

람다 표현식 작성

(매개변수목록) - > {함수 몸체}

람다 표현식을 작성 할 대 유의해야 할 사항

  1. 매개변수의 타입을 추론 할 수 있는 경우에는 타입을 생략 할 수 있습니다.
  2. 매개변수가 하나인 경우에는 괄호() 를 생략할 수 있습니다.
  3. 함수의 몸체가 하나의 명령문만으로 이루어 진 경우에는 중괄호 생략 할 수 있습니다 이때 세미콜론은 붙이지 않음
  4. 함수의 몸체가 하나의 return문으로만 이루어진 경우에는 중괄호를 생략 할 수 없다.
  5. return 문 대신 표현식을 사용 할 수 있으며, 이때 반환값은 표현식의 결괏값이 됩니다.

출처 : TCPSCHOOL

3항 연산자

조건 연산자는 조건식, 식1, 식2 모두 세개의 피연산자를 필요로 하는 삼항 연산자이다.

조건식 ? 식1: 식2
조건식이 true이면 식1을 아니면 식2

연산자 우선 순위

산술 > 비교 > 눈리 > 대입 대입은 제일 마지막에 수행된다.
단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

(optional) Java 13. switch 연산자

0개의 댓글