주말 배열, 반복문 중점적으로 복습 요망 , 2중
integer를 써야하는 경우 여러가지 이유
상상력을 동원 해야함!
소스코드에서는 차이가 없음, 결국은 아키텍쳐
어떤 기술적인 포인트를 줬냐
기술적인 근거와, 기술적인 다양성 필요 전형적인 건 도움 안됨 (최종프로젝트)
+= 쓰면 성능이 조금 떨어짐 이거 말고 오늘 배울거 사용하기를 추천
String a= "abc";
a += "def";
새롭게 선언
수정은 불가능 하지만, 새롭게 선언은됨
String < StringBuffer < StringBuilder
불변객체
재선언과정
거쳐야해서느림
replace 랑 pateern 클래스 차이(스프링이 리턴타입) 차이 (블린이 리턴타입)
사용자 > 프론트엔드 > 서버
텍스트 서버간 주고받을때
크게
텍스트, Xml, json
데이터를 주고 받는 방식
---오늘 배울것
split : string > string[]
join : string[] > string
대부분 예외 에러는 런타임 에러 (예상못한)
컴파일 에러는 대부분 빨간불 뜸! (문법틀릴때 등등)
2중 for문 복습 하고 마스터 주말에 해야함!
ai 발달로 아키텍쳐 에 대한 걸 많이 해야함!
테스트코드를 ai가 사람보다 잘짜줌..
남는건 아키텍쳐다!
프론트엔드 - 그림그리기 (ai가 다함)
- 상태 관리 아직 사람이
-----------------------
자료형 string
splint
문자열을 특정 구분자로 분리하는메소드
리턴값은 STring 배열
isEmpty()
문자열이 비어있는지여부
null과는 다름에 유의
join
여러 문자열을 하나로 결합하며, 각문자열사이에는 지정한구분자가 삽입
클래스 메서드 이므로 String.join()로 사용해야함에 유의
문법
String.join(지정구분자,문자매열);
String.join(지정구분자,문자배열);
"java","world","python"
String
String[] 배열명 = {"a","b","c"};
=> 1)배열 선언 2)랭귀지 나열 3)join : 공백하나로 4)출력
String.join(지정구분자,문자매열);
String > int
int n = Integer.parselnt(num);
int > String
너무빨리지나가서 못적음 다시 적기
자료형-StringBuffer
StringBuffer는 문자열을 추가하거나 변경 할 때 주로 사용하는 객체 - 클래스
기본문법
StringBuffer buf = new StringBuffer("hello");
buf.append("java") // 마지막자리에 문자열추가
buf.append("world") //마지막자리에 문자열 추가
String new_str = buf.toString(); //새로운 String문자열로 변환
String과 StringBuffer의 차이
String은 immutable, StringBuffer는 mutable
String은 +=을 사용해서 문자열을 추가가 가능하지만, 추가가 아닌 재선언인 것
성능면에서 StringBuffer가 우수
주요 메서드
append
append 메소드를 사용하여 계속해서 문자열 마지막에 추가대상 문자열을 추가
string 경우 +=를 통해 추가하는것처럼 보이나, 추가가 아닌 재선언
insert
insert 메소드는 특정 n번째 위치에 원하는 문자열을 삽입
sb.insert(5, "hello ");
substring
String 자료형의 substring 메소드와 동일하게 사용
delete(int start, int end)
start 부터 end 만큼 삭제
그외 대부분 메서드는 String과 동일
StringBuilder
StringBuffer 와 같은 기능을 하는 객체로서 성능이 더 뛰어남
싱글스레드에서는 동기화에 대한 추가로직이 필요치 않으므로
그러나, 멀티 스레드 상황에서 동기화 문제가 발생
StringBuffer Thread-Safe (내부적으로 동기화처리 - synchronized)
자바 = 스트링 빌더, 스프링 = 스트링 버퍼 (간단하게 보면)
자세하게 알고픈사람은 찾아보기...
문제풀때는 싱글스레드 상황이라서 스트링 빌더 쓰면 됨.
성능은 빌더가 빠름
버퍼 쓰는 문제도 있긴 함. 속도 더 늦음.
프로그래머스 문제풀기 - 문자 반복 출력 하기
자료형 - 배열(Array)
배열의 특징
-배열의 길이는 고정
-동일한 데이터 타입
-인덱스에 의한 접근
String[] Weeks={"월","화","수","목","금","토","일"};
배열의 길이 필기 더하기
배열 합계와 평균계산
최대값 필기 더하기
Arrays클래스
배열을 다루기 위한 다양한 메소드가 포함
Arrays 클래스의 모든 메소드는 클래스 메소드(static method), new 필요 x
대표적인 메소드
출력
Arrays.toString()
정렬
오름차순
Arrays.sort(arr)
내림차순
오름차순 정렬후 배열 뒤집기
Comparator사용
Arr
sort 알고리즘 직접 구현해보기
선택정렬
버블정렬