Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 구조 분해 할당
- AGGREGATE
- Map
- JSON.stringify
- JavaScript
- 로그스태시
- javacript
- react-slick
- 중첩 구조 분해
- MongoDB
- 카카오로그인
- 화살표 함수
- 캐러셀
- 객체
- 위크맵
- logstash
- 위크셋
- context switch
- DB
- nest
- 이메일 전송
- 참조에 의한 객체 복사
- 자바스크립트
- nodemailer
- 카카오 소셜로그인
- TypeScript
- nestjs
- Mongoose
- nextjs
- JSON.parse
Archives
- Today
- Total
뚜sh뚜sh
[자바의 정석 - 기초편] Chapter 5. 배열 본문
배열이란?
- 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
배열의 선언과 생성
- 배열의 선언 : 배열을 다루기 위한 참조변수의 선언(저장공간 생성X)
타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성)
배열의 인덱스
- 배열의 인덱스 : 각 요소에 자동으로 붙는 일련번호
- 인덱스의 범위는 0부터 배열길이-1까지
배열의 길이
- 배열의 길이 : 배열이름.length
- 배열은 한번 생성하면 그 길이를 바꿀 수 없음
배열의 초기화
- 배열의 초기화 : 배열의 각 요소에 처음으로 값을 저장하는 것
- 배열은 생성할 때 타입의 기본값으로 자동초기화됨
배열의 출력
- for문
int[] iArr = {100, 95, 80, 70, 60};
for (int i=0; i<iArr.length; i++) {
System.out.println(iArr[i]);
}
- Arrays 클래스 이용
System.out.println(Arrays.toString(iArr));
String배열의 선언과 생성
String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성함
- 기본형의 기본값은 false, 0인데 참조형의 기본값은 null임
String클래스
1. String클래스는 char[]와 메서드(기능)를 결합한 것
String클래스 = char[] + 메서드(기능)
2. String클래스는 내용을 변경할 수 없다(read only)
String클래스의 주요 메서드
커맨드 라인을 통해 입력받기
- 커맨드 라인에 입력한 값이 문자열 배열에 담겨서 전달된다
// 커맨드 창에
java [class명] 입력값1 입력값2 "입력값3 입력값4" // 큰따옴표로 묶는다면 띄어진 단어를 한 단어로 넘길 수 있음
- main 함수의 args에 ["입력값1", "입력값2", "입력값3 입력값4"]가 넘어감
2차원 배열
- 2차원 배열 : 테이블 형태의 데이터를 저장하기 위한 배열
int[][] score = new int[4][3]; // 4행 3열의 2차원 배열을 생성함
2차원 배열의 인덱스
- 행 index : 0 ~ 행의 길이-1
- 열 index : 0 ~ 열의 길이-1
Arrays로 배열 다루기
- 배열의 출력 : toString()
int[] = {0, 1, 2, 3, 4};
int[][] arr2D = {{11, 12}, {13, 14}};
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4]
System.out.println(Arrays.deepToString(arr2D)); // [[11, 12], [13, 14]]
- 배열의 비교 : equals()
String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
System.out.println(Arrays.equals(str2D, str2d2)); // false
System.out.println(Arrays.deepEquals(str2D, str2d2)); // true
- 배열의 복사 : 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) // arr2 = [0, 1, 2]
int[] arr4 = Arrays.copyOf(arr, 7) // arr2 = [0, 1, 2, 3, 4, 0, 0]
int[] arr5 = Arrays.copyOfRange(arr, 2, 4) // arr2 = [2, 3] (4는 포함x)
int[] arr5 = Arrays.copyOfRange(arr, 0, 7) // arr2 = [0, 1, 2, 3, 4, 0, 0]
- 배열의 정렬 : sort()
int[] arr = {3, 2, 0, 1, 4};
Arrays.sort(arr); // 배열 arr을 정렬한다
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4]
'Language > Java' 카테고리의 다른 글
Comparable과 Comparator (0) | 2024.01.16 |
---|---|
PriorityQueue에서의 Comparator 사용법 (0) | 2023.10.06 |
[자바의 정석 - 기초편] Chapter 2. 변수(Variable) (0) | 2023.08.03 |
GUI, AWT와 스윙(swing) (0) | 2023.07.06 |
컬렉션 클래스 (0) | 2023.07.06 |
Comments