일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 무료코딩강의
- 브루트포스
- 빅오 표기법
- 백준
- 백준자바
- dfs
- 동적계획법
- 백트래킹
- java
- 자바의정석연습문제
- 자바공부
- 자바개념
- 알고리즘
- 다이나믹 프로그래밍
- 알고리즘공부
- 백준단계별로풀어보기
- ★
- 자바의정석
- 백준9단계
- 코딩공부
- 자바의정석연습문제풀이
- 시간 복잡도
- BFS
- dp
- 무료개발강의
- ☆
- Java개념
- 개발공부
- 백준알고리즘
- 자바
- Today
- Total
더 많이 실패하기
코딩공부 65일차: 자바의 정석 / 자바의 정석 107~110강 / 9장 java.lang패키지와 유용한 클래스 본문
개발 공부 65일차
자바의 정석 기초편 강의
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 - 11 String 생성자
(3판 기준 468~471쪽)
https://www.youtube.com/watch?v=3cqJz9hIPD8&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=107
String 클래스의 생성자와 메서드
메서드 엄청 많다(교재 2쪽 반 정도)
익숙하지 않은 것들만 뽑아서 표로 정리
메서드/설명 | 예제 | 결과 |
int compareTo(String str) 문자열(str)과 사전순서로 비교 같으면 0 이전이면 음수 이후면 양수 |
int i = "aaa".compareTo("aaa"); int i2 = "aaa".compareTo("bbb"); int i3 = "bbb".compareTo("aaa"); |
i = 0; (값이 같다) i2 = -1; (오른쪽이 크다) i3 = 1; (왼쪽이 크다) |
boolean contains(*CharSequence s) 지정된 문자열(s)dl 포함되었는지 검사 |
String s = "abcdefg"; boolean b = s.contains("bc"); |
b = true; |
boolean endsWith(String suffix) 지정된 문자열(suffix)로 끝나는지 검사 |
String file = "Hello.txt"; boolean b = file.endsWith("txt"); |
b = true; |
boolean equalsIgnoreCase(String str) 문자열과 String인스턴스의 문자열을 대소문자 구분 없이 비교 |
||
int indexOf(int ch) 주어진 문자(ch)가 문자열에 존재하는지 확인 후 위치를 알려준다 못 찾으면 -1 반환 |
String s = "Hello"; int idx1 = s.indexOf('o'); int idx2 = s.indexOf('k'); |
idx1 = 4 idx2 = -1 |
int indexOf(int ch, int pos) 주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 위치를 알려준다 못 찾으면 -1 반환 |
String s = "Hello"; int idx1 = s.indexOf('e', 0); int idx2 = s.indexOf('e', 2); |
idx1 = 1; idx2 = -1 |
int indexOf(String str) 주어진 문자열이 존재하는지 확인 후 위치를 알려준다 못 찾으면 -1 반환 |
String s = "Hello"; int idx = s.indexOf("CD"); |
idx = 2 |
*CharSequence는 문자열들을 묶은 인터페이스(문자열 클래스들은 공통조상이 없어서)
훨씬 많지만 일단 이정도만 정리
ch 9 - 12~14 String Joiner, 문자열과 기본형 변환
(3판 기준 471~476쪽)
https://www.youtube.com/watch?v=bX0ZAu4IUXo&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=108
join()과 StringJoinder
join()은 여러 문자열 사이에 구분자를 넣어서 결합한다
String str = String.join("구분자", arr);
→ arr[0]구분자arr[1]구분자…
기본형 값을 String으로 변환
숫자를 문자열로 바꾸는 방법
int i = 100;
String str1 = i + ""; //간편
String str2 = String.valueOf(i); //빠름
String을 기본형 값으로 변환
문자열을 숫자로 바꾸는 방법
int i = Integer.parseInt("100");
int i2 = Integer.valueOf("100");
Integer i2 = Integer.valueOf("100"); //valueOf가 반환하는 건 참조형 Integer지만 기본형 int로 자동으로 바꿔주는 기능이 있어 괜찮다
출력할 때
System.out.println(String.join("",strVal,"+",strVal2,"=")+sum);
=
System.out.println(strVal+"+"+strVal2+"="+sum2);
→숫자+숫자=합계
ch 9 - 15~18 StringBuffer 클래스
(3판 기준 476~479쪽)
https://www.youtube.com/watch?v=FvaXjnBpGgc&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=109
1.3 StringBuffer 클래스와 StringBuilder클래스
String처럼 문자형 배열(char[])을 내부적으로 가진다
그러나 String과 달리 내용을 변경할 수 있다(mutable)
StringBuffer의 생성자
-배열은 길이 변경 불가해서 공간이 부족하면 새로운 배열 만들어야
①새로운 배열 생성 ②내용 복사 ③참조 변경
-StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야 한다
StringBuffer의 변경
-StringBuffer는 String과 달리 내용 변경 가능
StringBuffer sb = new StringBuffer("abc");
sb.append("123"); //sb의 내용 뒤에 "123"을 추가
-append()는 지정된 내용을 StringBuffer에 추가 후, StringBuffer의 참조를 반환
반환 타입이 StringBuffer라서 sb.append("123").append("zz") 같은 경우도 가능
StringBuffer의 비교
-StringBuffer는 equals()가 오버라이딩되어있지 않다 → 주소로 비교한다
-StringBuffer를 String으로 변환 후 equals()로 비교해야 한다
ch 9 - 19, 20 StringBuffer 클래스의 메서드
(3판 기준 480, 481쪽)
https://www.youtube.com/watch?v=MbxD2I2dyx0&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=110
StringBuffer의 생성자와 메서드
이것 역시 양이 많다(교재 기준 2쪽)
우선 표로 정리는 안 했다
'자바 > 자바의정석' 카테고리의 다른 글
코딩공부 67일차: 자바의 정석 / 자바의 정석 114강 / 10장 날짜와 시간 & 형식화 (0) | 2022.10.05 |
---|---|
코딩공부 66일차: 자바의 정석 / 자바의 정석 107~110강 / 9장 java.lang패키지와 유용한 클래스 (0) | 2022.10.04 |
코딩공부 64일차: 자바의 정석 / 자바의 정석 104~106강 / 9장 java.lang패키지와 유용한 클래스 (0) | 2022.10.02 |
코딩공부 61일차: 자바의 정석 / 자바의 정석 102~104강 / 8장 예외처리 (0) | 2022.09.29 |
코딩공부 59일차: 자바의 정석 / 자바의 정석 94~96강 (0) | 2022.09.27 |