백기선님의 온라인 자바 스터디
연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야하는데, 이것을 피연산자(operand)라고 한다.
피연산자로 상수, 변수, 또는 식 등을 사용 할 수 있다.
'+' '-' '*' '/' '%' (사칙 연산과 나머지 연산)
비트 연산자는 피연산자를 비트단위로 논리 연산한다.
'<<' '>>' ( 쉬프트 연산자이다. 비트를 오른쪽으로 밀거나 왼쪽으로 밀거나)
'|' (AND) 피연산자 중 한 쪽의 값이 1이면 1을 결과로 얻는다. 그 외에 0을 얻는다.
'&' (OR) 피연산자 중 양 쪽이 모두 1이어야만 1을 결과로 얻는다. 그 외에 0을 얻는다.
'^' (XOR) 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 때는 0을 얻는다.
`~' 피연산자를 비트로 표현 했을때 0은 1로 1은 0으로 바꾼다.
비교 연산자는 두 피연산자를 비교하는 데 사용되는 연산자다. 주로 반복문과 조건문의 조건식에 사용되며, 연산결과는 오직 ture와 false이다. 비교 연산자는 이항 연산자이므로 피연산자의 타입이 서로 다를 경우에 자료형의 범위가 큰 쪽으로 자동 형변환하여 피연산자의 타입을 일치 시킨다.
'>' 좌변 값이 크면 ture 아니면 false
'<' 우변 값이 크면 true 아니면 false
'>=' 좌변 값이 크거나 같으면 true 아니면 false
'<=' 우변 값이 크거나 같으면 true 아니면 false
'==' 두 값이 같으면 true 아니면 false
'!=' 두 값이 다르면 true 아니면 false
'&&' AND에 해당한다 피연산자 모두 true일 때 ture 아니면 false
'||' OR에 해당한다. 피연산자 중 하나라도 ture이면 ture 아니면 false
'!' 논리 부정 연산자로 true이면 false, false이면 true
class Simple1 {
public static void main (String args []) {
Simple1 s = new Simple1 ();
System.out.println (s instanceof Simple1); //진실
}
}
람다 표현식(lambda expression)이란
int min(int x, int y) {
return x < y ? x : y;
}
람다 표현식
(x, y) -> x < y ? x : y;
위의 예제처럼 메소드를 람다 표현식으로 표현하면, 클래스를 작성하고 객체를 생성하지 않아도 메소를 사용 할 수 있습니다. 그런데 자바에서는 클래스의 선언과 동시에 객체를 생성하므로, 단 하나의 객체만을 생성할 수 있는 클래스를 익명클래스라고 합니다. 이러한 람다 표현식은 메소드의 매개변수로 전달될 수 도 있으며, 메소드의 결괏값으로 반환될 수 있습니다.
람다 표현식 작성
(매개변수목록) - > {함수 몸체}
람다 표현식을 작성 할 대 유의해야 할 사항
출처 : TCPSCHOOL
조건 연산자는 조건식, 식1, 식2 모두 세개의 피연산자를 필요로 하는 삼항 연산자이다.
조건식 ? 식1: 식2
조건식이 true이면 식1을 아니면 식2
산술 > 비교 > 눈리 > 대입 대입은 제일 마지막에 수행된다.
단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.