ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [3일차] Do it! 자바 완전 정복 / 3장
    IT/자바 2022. 5. 9. 17:07

    1. 책 DB를 넣어주세요. (글감 > 책 클릭 > 내가 지금 공부하는 책 검색 및 선택)

    2. 나의 스터디 흔적을 사진으로 보여주세요. 책상(모니터)과 책이 함께 보이면 최고!

    예시) 지우쭈님의 된다! 7일 실무 엑셀을 공부한 흔적: https://vo.la/LBxH

    3. 이번 스터디에서 특별히 좋았던 점이나 어려웠던 점이 있었나요? 새로 알게된 부분이 있다면 알려주세요. 다음에 이 책으로 공부할 스터디룸의 독자들에게 큰 도움이 됩니다. (200자 이내)

    예시) 뚜기님의 Do it! 점프 투 파이썬 스터디 노트 : https://vo.la/WhN6

    * 연산자 종류 : 연산 결과에 따라 3가지로 나누어 진다 (값 / 참 또는 거짓 / 실행)

    * 값 : 산술 연산자, 증감 연산자, 비트 연산자, 시프트 연산자

    * 참 또는 거짓 : 비교 연산자, 논리 연산자

    * 실행 : 대입 연산자, 삼항 연산자

    * 비트 연산자 (사실 잘 이해하지 못하던 연산자다.. ㅠㅠ)

    * 비트 단위의 연산자

    * 종류 : AND(&), OR(|), XOR(^), NOT(~)

    * AND(&) : 두 값이 "모두" 1일 때만 1인 연산자

    * OR(|) : 두 값이 "모두" 0일 때만 0인 연산자

    * XOR(^) : 두 값이 "같을" 때 0, "다를" 때 1인 연산자

    * NOT(~) : 0은 1, 1은 0 으로 "반전"하는 연산자

    * 비트 연산자 진리표

    값 1
    값 2
    AND(&)
    OR(|)
    XOR(~)
    0
    0
    0
    0
    0
    0
    1
    0
    1
    1
    1
    0
    0
    1
    1
    1
    1
    1
    1
    0

    * 비트 AND, OR, XOR 연산 과정

    * 비트 단위의 연산을 계산하기 위해서는 10진수 -> 2진수 로 바꿔 표기 가능해야 함

    * 자바 코드 상 10진수 > 2진수, 8진수, 16진수 변환하는 메서드를 활용하자!

    * Integer.toBinaryString(), Integer.toOctalString(), Integer.toHexString()

    * 2진수, 8진수, 16진수 > 10진수 변환 메서드 : Integer.parseInt()

    * 2진수 표기 : 0b + 숫자

    * 8진수 표기 : 0 + 숫자

    * 16진수 표기 : 0x + 숫자

    * 비트 NOT(~) 연산 과정

    * 0과 1을 반전시키는 연산으로 부호 비트까지 반전시킴

    * 양숫값과 음숫값 읽는 방법 : 첫 번째 비트는 부호 비트 (0: 양수, 1: 음수)로써 숫자 부호를 결정

    * 부호 비트 이후 차례대로 읽는다.

    * 양숫값 : 숫자 1을 기준으로 읽는다. ex) 00...001010 -> 양수 2^3 + 2^1 = 10

    * 음숫값 : 숫자 0을 기준으로 읽은 후 1을 더한 값이 음수의 절댓값이다. ex) 11...111010 -> 음수 2^2 + 2^0 + 1 = 6 즉, -6

    * 시프트 연산자 (shift operator)

    * 비트의 위치를 좌우로 이동하는 연산

    * 종류 : 산술 시프트(<<, >>), 논술 시프트(>>>)

    * 산술 시프트 : 숫자의 부호 비트는 유지하면서 나머지 비트를 왼쪽(<<) 또는 오른쪽(>>)으로 이동하는 연산자

    * 논리 연산자

    * 비트 연산자와 비슷하지만 피연산자로 불리언값(true 또는 false)만 올 수 있고 연산 결과도 불리언 타입만 가진다.

    * 종류 : AND(&&), OR(||), XOR(^), NOT(!)

    * 논리 XOR(^) 연산자는 두 값이 다를 때는 true, 같을 때는 false 연산 결과를 나타낸다.

    * 논리 연산자 진리표

    값 1
    값 2
    AND(&&)
    OR(||)
    XOR(^)
    false
    false
    false
    false
    false
    false
    true
    false
    true
    true
    true
    false
    false
    true
    true
    true
    true
    true
    true
    false

    * 쇼트 서킷 (short circuit)

    * 정의 : 연산을 수행하는 과정에서 결과가 이미 확정된 경우 나머지 연산 과정을 생략하는 것

    * 논리 연산자로 논리 연산을 수행할 때는 '쇼트 서킷'이 적용되지만, 비트 연산자로 논리 연산을 수행할 때는 적용되지 않음

    -> 예전에 개발할 때 멋모르고 논리 연산자로 AND, OR 연산자 적용하고 나머지 연산이 수행되지 않아 오류가 생긴 적이 있었는데 이러한 이유 때문이었음... ㅠㅠ

    * 대입 연산자 ( = )

    * 정의 : 오른쪽 피연산자의 연산 결과를 왼쪽 변수에 대입하는 연산자

    * 삼항 연산자

    * 문법 => (참 또는 거짓) ? 참일 때 연산 결과 : 거짓일 때 연산 결과

    4. 열심히 실습한 코드를 저장해 첨부해 주시거나 자랑할만한 스크린샷이 있다면 올려주세요.

     

     

    원글 : https://cafe.naver.com/doitstudyroom/39330

     

    댓글

Designed by Tistory.