배열이란?
→ 같은 타입의 여러 변수를 저장할 수 있는 연속된 공간
- 배열의 선언 방법 :: 두가지 방법 모두 지원
:: int[] age;
:: String[] name;
→ 자료타입[] 변수이름;
:: int age[];
:: String name[];
→ 자료타입 변수이름[];
- 배열을 선언하면 (자료 타입 x 배열 길이) 만큼의 공간을 확보하고, 배열의 이름으로 해당 공간의 주소에 접근할 수 있음
- 배열 초기화 방법
- int[] num = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
- int[] num = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // new int{} 를 생략 가능
배열 초기화에 대한 예제 코드
class Arrays2_2 {
public static void main(String[] args) {
int[] num1 = new int[]{1,2,3,4,5,6,7,8,9};
int[] num2 = {1,2,3,4,5,6,7,8,9};
for (int i = 0; i < num1.length; i++) {
System.out.println("num1[" +i + "] = " + num1[i]);
}
System.out.println();
for (int i = 0; i < num2.length; i++) {
System.out.println("num2[" +i + "] = " + num2[i]);
}
System.out.println();
// 주의 할 점!
int[] num3;
// num3 = {1,2,3,4,5,6,7,8,9}; // Error 발생합니다.
// 위처럼 나눠서 표현을 해야 한다면 아래처럼 초기화 하셔야 합니다.
int[] num4;
num4 = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0; i < num4.length; i++) {
System.out.println("num4[" +i + "] = " + num4[i]);
}
}
}
- 배열 출력
:: java 에서 배열 이름을 출력하면 배열의 시작 주소가 출력됨
→ (정확한 주소는 아니고 타입@주소 형태의 문자열이 출력됨)
:: 그러나 char 형 배열은 println 메서드로 출력할 경우 println 메서드의 기능 때문에 배열의 요소가 그대로 출력됨
:: 배열 출력에 대한 예제 코드
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {100, 90, 80, 70, 60, 50, 40, 30, 20, 10};
// 배열을 가리키는 참조 변수 arr 을 출력
System.out.println("arr = " + arr);
// 메모리 주소와 비슷한 문자열이 출력 -> 실제 주소는 아닙니다.
// [I@7a81197d -> [(배열을 뜻함), I(int 타입을 뜻함), @(위치를 뜻함)
// 예외 확인 하기 - char[]
char[] chArr = {'a', 'b', 'c', 'd'};
System.out.println(chArr); // abcd 가 출력되는데 이는 println 메서드의 기능 때문!
// 배열의 요소 하나씩 출력하기
for (int i = 0; i < arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
// Arrays.toString(배열) : 배열의 모든 요소를 문자열로 만들어서 반환한다.
System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
}
}
String 배열
- string 클래스는 기본형 처럼 사용이 가능한 참조 자료형
- string 클래스는 내용을 변경할 수 없음
- string 클래스의 주요 메서드
:: char charAt(int index) → 문자열에서 해당 위치(index)에 있는 문자를 반환
:: int length() → 문자열의 길이를 반환
:: String substring(int from, int to) → 문자열에서 해당 범위의 문자열을 반환(from~to, to는 포함 안됨)
:: boolean equals(Object obj) → 문자열의 내용이 같은지 확인하여 같으면 true, 다르면 false를 반환
:: char[] toCharArray() → 문자열을 문자배열(char[])로 변환해서 반환
- String 배열의 선언과 생성
String[] name = new String[3];
:: 배열 선언 예제 코드
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] strArr = {"축구", "야구", "골프", "테니스"};
System.out.println("Arrays.toString(strArr) = " + Arrays.toString(strArr));
String[] strArr2 = new String[4];
System.out.println("Arrays.toString(strArr2) = " + Arrays.toString(strArr2));
}
}
'Study' 카테고리의 다른 글
나는 Soolo 프로젝트 회고 (2) | 2023.07.05 |
---|---|
인텔리제이 한글 인코딩 오류(UTF-8) (0) | 2023.04.29 |
객체지향 기본 1(클래스, 메서드, 생성자) (1) | 2023.03.11 |
Java 기초문법 : 연산자 (0) | 2023.03.08 |
Java 기초 문법 : 변수, 자료형 (0) | 2023.03.08 |