더 많이 실패하기

코딩공부 66일차: 자바의 정석 / 자바의 정석 107~110강 / 9장 java.lang패키지와 유용한 클래스 본문

자바/자바의정석

코딩공부 66일차: 자바의 정석 / 자바의 정석 107~110강 / 9장 java.lang패키지와 유용한 클래스

김발자~ 2022. 10. 4. 22:17
반응형

개발 공부 66일차

자바의 정석 기초편 강의

https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 

 

 

총 171개의 강의로 구성되어 있다

총 강의 시간은 80시간 정도

 

 

강의는 기초편을 기준으로 제작되어 있지만,

http://www.yes24.com/Product/Goods/24259565

 

Java의 정석 - YES24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

www.yes24.com

링크로 첨부한 자바의 정석 3판으로도 무리가 없다는 댓글이 있어 그대로 진행

 

 

 

 

 


ch 9 - 21~24 StringBuilder, Math클래스

(3판 기준 482~490쪽)

https://www.youtube.com/watch?v=7tLCCWDUddE&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=111 


 

StringBuilder란?
-StingBuffer는 동기화되어 있고(멀티 쓰레드에 안전) StringBuilder는 동기화되어있지 않다는 점만 다르고 똑같다
-멀티 쓰레드 프로그램이 아닌 경우 동기화는 성능저하 → 이럴 땐 StringBuffer 대신 StringBuilder를 사용하면 성능 향ㅅ아
*멀티쓰레드:동시에 여러 작업(파일 보내면서 카톡 보내기)


1.4 Math클래스
-수학관련 static 메서드의 집합
-Math.round() 등 앞서 배운 메서드들이 많다

(3판에 적힌 내용들이 강의에선 생략된 부분들이 많다)

 


Math클래스의 메서드

static double rint(double a) double d = Math.rint(1.2);
double d2 = Math.rint(2.6);
double d3 = Math.rint(3.5);
double d4 = Math.rint(4.5);
d = 1.0
d2 = 3.0
d3 = 4.0
d4 = 4.0
주어진 double값과 가장 가까운 정수값을 double형으로 반환
단, 두 정수의 정가운데에 있는 값(1.5, 2,5, 3,5)은 짝수를 반환

(역시나 표로 정리되어 있지만 이 포스팅에 똑같이 정리하진 않는다)

 

 

 


ch 9 - 25~27 래퍼 클래스, Number클래스

(3판 기준 490~492쪽)

https://www.youtube.com/watch?v=tBUm6yj4cKQ&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=112 


 

1.5 래퍼(Wrapper) 클래스
-기본형값을 감싸는 클래스 → 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스
-래퍼클래스도 총 8개가 존재한다

기본형 래퍼클래스 생성자 활용예
boolean Boolean Boolean (boolean value)
Boolean (String s)
Boolean b = new Boolean(true);
Boolean b2 = new Boolean("true");
char Character Character (char value) Character c = new Character('a');
byte Byte Byte (byte value)
Byte (String s)
Byte b = new Byte(10);
Byte b2 = new Byte("10");
short Short Short (short value)
Short (String s)
Short s = new Short(10);
Short s2 = new Short("10");
int Integer Integer (int value)
Integer (String s)
Integer i = new Integer(100);
Integer i2 = new Integer("100");
long Long Long (long value)
Long (String s)
Long l = new Long(100);
Long l2 = new Long("100");
float Float Float (double value)
Float (float value)
Float (String s)
Float f = new Float(1.0);
Float f2 = new Float(1.0f);
Float f3 = new Float("1.0f");
double Double Double (double value)
Double (String s)
Double d = new Double(1.0);
Double d2 = new Double("1.0");



491쪽 예제9-23


Number클래스
-모든 숫자 래퍼 클래스의 조상(추상 클래스)
-Biginteger, BigDecimal 등도 포함

 

 

 


ch 9 - 28~31 상수와 리터럴오토박싱 & 언박싱, 문자열과 숫자 변환

(3판 기준 493~쪽)

https://www.youtube.com/watch?v=_LlcuVFC6ao&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=113 


 

문자열을 숫자로 변환하기
-문자열을 숫자로 변환하는 다양한 방법
  int i = new Integer("100").intValue();
  int i2 = Integer.parseInt("100");
  Integer(=int) i3 = Integer.valueOf("100");
 다른 기본형도 Integer와 parse뒤만 다르고 같다고 보면 된다

-문자열을 래퍼 클래스로 변환하는 방법
  Integer i = Integer.valueOf("100");
  Integer i2 = new Integer("100");

-n진법의 문자열을 숫자로 변환하는 방법
  int i4 = Integer.parseInt("100", 2);  //2진수
  int i5 = Integer.parseInt("100", 8);  //8진수
  int i6 = Integer.parseInt("100", 16); //16진수
  int i7 = Integer.parseInt("FF", 16); //16진수

 

 

오토박싱 & 언박싱
오토박싱: int → Integer
언박싱: int ← Integer

-기본형의 값을 객체로 자동변환하는 것을 오토박싱, 그 반대는 언박싱
  ArrayList<Integer> list = new ArrayList<Integer>(); //list에는 객체만 추가가능
  list.add(100);   // 오토박싱으로 100 → new Integer(100)

  Int i = list.get(0); //list에 저장된 첫번째 객체를 꺼낸다 // 언박싱으로 Integer i = list.get(0); → int i =list.get(0).intValue();

495쪽 예제9-25

 

 

 


드디어 자바의정석 1권 끝

완전히 익힌 건 당연히 아니라서 복습도 계속 해야겠지만

어쨌든 나중에 여러 번 복습하더라도 첫 번째 바퀴를 반이나 돌았다는 게 뿌듯하다

반응형
Comments