[Java] 2020.10.23. day 3_진수 변환, Wrapper Class(API), 연산자

2020. 10. 23. 17:28Web_Back-end/Java SE

◎ Constant 

  • 변수를 상수처럼 사용할 때(가독성 향상, 값을 변경하지 못하게 막을 때)
  • 프로그램에서 사용할 기준 값을 설정할 때
  • class field에만 정의할 수 있다
  • Constant의 값은 선언할 때에만 할당 가능하다
  • Constant의 이름은 주로 대문자로 설정
  • API 문서에서 찾을 때에는 field로 찾는다
  • 문법)
    • public static final  데이터형 상수명=값;
      • public 클래스 외부에서 사용가능
      • static 모든 메모리에서 접근가능
      • final 값 변경 불가
      • 데이터형 상수명 기본형 데이터형, 참조형 데이터형
  • Constant 의 사용
    • 클래스 안에서 사용
      • Constant 명
      • 클래스명, Constant명
    • 외부 클래스에서 사용
      • 클래스명, Constant명

◎ 진수

  • 서로 다른 모양의 숫자 몇 개를 가지고 모든 수를 표현하는가
2진수 - … 2⁴ 2³ 2² 2¹ 2⁰
=> …  16  8  4  2  1
바꾸는 진수 과정 2진수로 표현
10진수 24 10진수는 24 그대로의 값을 의미한다 11000
8진수 57⑻ 5/7 101 / 111 101111
16진수 37a⒃ 3/7/10 11⑵ / 111⑵ / 1010 0011 0111 1010
         
8진수 - … 8⁴ 8³ 8² 8¹ 8⁰
=> … 4096  512 64  8  1
바꾸는 진수 과정 8진수로 표현
10진수 24 2진수로 바꾼다 11000⑵→011/000 30⑻
2진수 101111⑵ 101 / 111 5 / 7 57
1100101⑵ 001 / 100 / 101 1 / 4 / 5 145
16진수
37a⒃
① 2진수로 바꾼다 ③ 11 / 111 / 1010 ⑤ 3자리로 다시 변경
001 101 111 010
3 / 7 / 10 ④ 4자리로 변경
0011 0111 1010
⑥ 1572

 

 


◎ Wrapper class

  •  Wrapper Class
    • 기본형 데이터형의 값을 객체로 감싸서 기능을 제공하는 클래스
    • java.lang 패키지에는 기본형 데이터형과 같은 이름의 클래스가 존재한다
    • byte-Byte
    • short-Short
    • int-Integer
  • 데이터형 byte 는 기능이 없지만 Wrapper Class인 Byte는 기능이 있다
    • byte b = ?;  -128 ~ +127
    • Byte 의 기능
      • 음수저장 가능한 값 Byte.MIN_VALUE
      • 양수저장 가능한 값 Byte.MAX_VALUE
      • Byte객체가 가지고 있는 값을 문자열로 얻기
      • Byte b=new Byte(70);  b.toString();

◎ 연산자

  연산자 : 연산에 사용할 예약된 부호들
1. 최우선
() 괄호 안의 연산이 최우선시 된다
2. 단항
~, !, +, -, ++, -- 연산에 필요한 항이 하나
사용법 연산자 대상체;
~(tilde) : 1의 보수연산
10 : 0000 1010
~10 : 1111 0101 ==> -11
~양수 : 부호변경 1증가
~음수 : 부호변경 1감소

!(not) : true <-> false
!true => false
!false => true

!(3>4)
false

+ : 형식적 제공
+3
- : 2의 보수연산(부호 바꿈연산)
`10

++, -- : 대상체의 값을 변경하는 연산자
대입연산자와 함께 사용되거나, method에 값으로 전달되면 전위와 후위는 다른 값을 넘겨준다
전위연산 : 연산자 대상체;
후위연산 : 대상체 연산자;
전위 : 내것 먼저(대상체 연산을 먼저 수행하고 대입)
후위 : 남의것 먼저(대입연산을 먼저 수행하고 대상체를 연산)

++ : 대상체의 값을 1씩 증가
int i = 4;
++i; // 4->5
i++ // 5->6

-- : 대상체의 값을 1씩 감소
int i = 10;
--i; // 10->9
i--; // 9->8
3. 산술
+, -, *, /, %(나눈 나머지)  
사용법 / : 나누기
정수/정수 = 정수
실수/실수 = 실수

% : 큰 값을 몇가지의 작을 값으로 만들 때
많은 값을 %가짓수
10%2 = |1
4. 쉬프트
<<, >>, >>>  
5. 관계
>, <, >=, <=, ==, !=  
6. 논리
6-1 일반논리 &&, ||
6-2 비트논리 &, |, ^
7. 삼항
?   :  
8. 대입
  =,+=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, |=, ^=