JAVA/Basic

[스터디할래? Java 03] 연산자 Operator

[스터디할래? Java] 목차

 

이글은 백기선님 스터디 할래? 스터디를 뒤늦게 따라간 기록입니다.

스터디할래 링크 >> https://github.com/whiteship/live-study

이필기를 시작으로 공부했습니다 >> blog.naver.com/hsm622/222150928707,

                                                swich operator  catch-me-java.tistory.com/31

여기 없는내용은 스터디 할래 강의 내용 혹은 제가 java Doc보고작성하거나 예제를 만들어 추가했습니다.

그외는 같이 출처가 써있습니다. 

 


연산 : Operations : 프로그램에서 데이터 처리 결고 산출

연산자 : Operator : 연산사용 표시 기호

피연산자: Operand:연산대상이되는 데이터

연산식 : expressions: 연산자 피연산자로 연산의 과정기술

 

연산자 우선 순위

https://blog.naver.com/hsm622/222150928707

(optional) Java 13. switch 연산자

int result = switch (day){

   case "MON" ->2;

   case "FRI" ->3;

   case "NOT" ->43;

}

yield 사용가능

 

 

산술 연산자

비트 연산자

int num = 8;  

~num            : -9: 보수        

num << 1      : 16:곱하기2  , 쉬프트연산자

num >> 1      : 4:나누기2, 쉬프트 연산자

 

진리표(truth table)



 

관계 연산자
논리 연산자

Q1.

int i  =0;

int j =0;

if (i++ == 0 || j++ == 0){

   Hello 출력

}

i, j 값은?

답: i 출력 :1, j 출력 : 0 

 

Q2.

int i  =0;

int j =0;

if (i++ == 0 | j++ == 0){

   Hello 출력

}

i, j 값은?

답: i 출력 :1, j 출력 : 1

 

 

Q3. 중간값 구하기. 

int start = 0;

int end = 10;

int mid= (start + end)/2;

오버플로우 가능성. >> 이상한값이 나온다. 

 

int mid = start + (end-start)/2;

int mid = (start + end) >>>1;  비트연산자.. 

 

 


instanceof
assignment(=) operator

 

 

 

화살표(->) 연산자
3항 연산자

Q numbers라는 int라는 배열이 있다. 

해당 배열이 들어있는 숫자들은 오직 한숫자를 제외하고 모두 두번씩들어있다. 

오직 한번만 등장하는 숫자 찾는 코드를 작성하라. 

 

public class Hello{

    Hello hello = new Hello();

    int result  = hello.solution(new int[] {5,2,3,1,2,4,5,});

    출력 결과

}

 

private int solution(int[] numbers){

    //xor 논리적 배타합. 다르면 1 같으면 0

   // 5  ^ 0 = 5     

  // 5 ^5 =0   => (5^5)^1 = 0^1 =1     

 

  // 101

 //  101

 //-------

// 000

 

// 101

// 000

//-------

// 101

//인텔리제이 for ita   or iter

int result =0;

for (int number : numbers){

    result ^=result;

}

 

return result;

 

}

 

 

 

 

3주차 과제: 연산자 #3

  • 산술 연산자
  • 비트 연산자
  • 관계 연산자
  • 논리 연산자
  • instanceof
  • assignment(=) operator
  • 화살표(->) 연산자
  • 3항 연산자
  • 연산자 우선 순위
  • (optional) Java 13. switch 연산자

 

자바의 객체지향 디자인패턴

 

클린아키텍처..

www.yes24.com/Product/Goods/77283734

 

 

ListNode : 링크드리스트 기본구조.