📝오늘 공부한 것
- Java의 정석 기초편 5. 배열
- Java의 정석 기초편 6. 객체지향 프로그래밍| 1 ~ 26
- 프로그래머스 자바 문제풀기
공부한 것 정리❗
[String클래스의 주요 메서드]
- char charAt(int index) : 문자열에서 해당 위치(index)에 있는 문자를 반환한다.
- int length( ) : 문자열의 길이를 반환한다.
- String substring (inr from, int to) : 문자열에서 해당 범위(from ~to)의 문자열을 반환한다.(to는 포함 안 됨)
- boolean equals(Object obj) : 문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false
- char[ ] toCharArray( ) : 문자열을 문자배열(char[ ])로 변환해서 반환한다.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html
[Arrays로 배열 다루기]
배열의 비교와 출력 - equals( ), toString( )
Arrays.toString(arr);
Arrays.deepToString(arr2D); //다차원 배열
Arrays.equals(str, str2);
Arrays.deepEquals(str2D, str2D2); //다차원 배열
배열의 복사 - copyOf( ), copyOfRange( )
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr, arr.length); //arr2=[0,1,2,3,4]
int[] arr3 = Arrays.copyOf(arr, 3); //arr3=[0,1,2]
int[] arr4 = Arrays.copyOf(arr, 7); //arr4=[0,1,2,3,4,0,0]
int[] arr5 = Arrays.copyOfRange(arr, 2, 4); //arr5=[2,3]
int[] arr6 = Arrays.copyOfRange(arr, 0, 7); //arr6=[0,1,2,3,4,0,0]
배열의 정렬 - sort( )
Arrays.sort(arr);
배열의 복사(Arrays.copyOf( ) vs System.arraycopy( ) )
알고리즘 문제를 풀때 배열을 복사해야 할 일이 생기면 for문으로 배열을 복사했었는데, 메서드를 사용하는 게 코드가 짧고 쉬워보인다. 다음에는 잊지말고 사용해보자!!
[객체의 구성요소 – 속성과 기능]
객체지향 프로그래밍에서는 속성과 기능을 각각 변수와 메서드로 표현한다.
속성(property) -> 멤버변수(variable) 기능(function) -> 메서드(method) 채널 -> int channel 채널 높이기 -> channelUp( ){ ... } |
[한 파일에 여러 클래스 작성하기]
- 하나의 소스파일에 하나의 클래스만을 정의하는 것이 보통이지만, 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능하다.
- 소스파일의 이름은 public class의 이름과 일치해야 한다.
- 하나의 소스파일에 둘 이상의 public class가 존재하면 안된다.
- 소스파일과 달리 클래스 파일은 클래스마다 하나씩 만들어진다.
소스파일(*.java) / 클래스파일(*.class)
[객체배열]
객체배열 안에 객체가 저장되는 것이 아니고, 객체의 주소가 저장된다.
= 객체배열은 참조변수들을 하나로 묶은 참조변수의 배열인 것이다.
느낀 점🤔
메서드가....너무 너무 많다....모든 메서드를 외울 순 없지만 자주 쓰는 것들은 빨리 외워놔야 겠다. 내가 문제풀때 쓴 코드를 보면 코드도 복잡하고 길고 중복된 코드도 많아보인다. 문제를 다 풀고 다른 사람들의 풀이를 보면 메서드를 이용해서 깔끔하게 푼 것들이 많다. 나도 얼른 그렇게 되었으면.....ㅎ....열심히 해야겠다....!!!!
참고자료: Java의 정석 기초편(남궁성)
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-230624 (0) | 2023.06.24 |
---|---|
TIL-230623 (0) | 2023.06.23 |
TIL-230620 (0) | 2023.06.20 |
TIL-230617 (0) | 2023.06.17 |
TIL-230617([프로그래머스/자바] 없는 숫자 더하기) (0) | 2023.06.17 |