πŸ’» Programming/Java

[Java] μžλ°” 1차원 λ°°μ—΄ 생성(μ„ μ–Έ 및 μ΄ˆκΈ°ν™”)

μΌ€μ΄μΉ˜ 2019. 6. 25. 07:34
μ„Έλ‘œλ‘œ λ‚˜μ—΄λœ 5개의 λ„€μŠ€ν”„λ ˆμ†Œ λ°°μ—΄

μ΄λ²ˆμ—λŠ” μžλ°”λ‘œ 1차원 배열을 λ§Œλ“€μ–΄ 보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.
μžλ°”λ‘œ 배열을 λ§Œλ“œλŠ” 방법은 μ—¬λŸ¬ 가지가 μžˆμŠ΅λ‹ˆλ‹€.
μš°μ„  μš©μ–΄λΆ€ν„° μ •λ¦¬ν•˜κ³  κ°€κ² μŠ΅λ‹ˆλ‹€.
μ œκ°€ λ§Œλ“ λ‹€λΌκ³  μ–˜κΈ°ν•œ 것은 일반적으둜 μ–˜κΈ°ν•˜λ €κ³  ν•œ 것인데 μ΄λŠ” 두 가지 의미λ₯Ό ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
λ°”λ‘œ "μ„ μ–Έ"κ³Ό "μ΄ˆκΈ°ν™”"μž…λ‹ˆλ‹€.
μ—¬κΈ°μ„œ "μ„ μ–Έ"μ΄λΌλŠ” 것은 λ³€μˆ˜μ˜ 이름을 μ§€μ–΄μ£ΌλŠ” 것을 μ–˜κΈ°ν•˜λ©°,
"μ΄ˆκΈ°ν™”"λΌλŠ” 것은 κ·Έ λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.
이 μš©μ–΄λ“€μ„ 머릿속에 λ„£κ³  μΆœλ°œν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

배열을 μ„ μ–Έν•˜λŠ” 방법

μžλ°”μ—μ„œ 배열을 μ„ μ–Έν•˜λŠ” 방법은 μ•„λž˜μ™€ 같이 3가지가 μžˆμŠ΅λ‹ˆλ‹€.

public static void main(String[] args) {

        // 배열을 μ„ μ–Έν•˜λŠ” 방법
        int[] intArr1;
        int []intArr2;
        int intArr3[];
}

μœ„μ—μ„œλŠ” int νƒ€μž…μ˜ 배열을 3가지 λ°©λ²•μœΌλ‘œ μ„ μ–Έν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.
intνƒ€μž… λŒ€μ‹  long, double, Integer, Long, Double, String λ“± λ‹€λ₯Έ νƒ€μž…μ„ μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
μ΄λ ‡κ²Œ 선언을 ν•΄ 놓아도 곡간(λ©”λͺ¨λ¦¬)을 μ°¨μ§€ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.
배열은 μ΄ˆκΈ°ν™”λ₯Ό ν•˜λ©΄μ„œ μ‚¬μ΄μ¦ˆλ₯Ό μ •ν•΄μ€˜μ•Ό 곡간(λ©”λͺ¨λ¦¬)을 μ°¨μ§€ν•˜κ²Œ λ©λ‹ˆλ‹€.
그럼 λ°°μ—΄ μ΄ˆκΈ°ν™”λŠ” μ–΄λ–»κ²Œ ν• κΉŒμš”?

배열을 μ΄ˆκΈ°ν™”ν•˜λŠ” 방법

배열을 μ΄ˆκΈ°ν™”ν•  λ•ŒλŠ” μ•„λž˜μ™€ 같이 ν•©λ‹ˆλ‹€.

public static void main(String[] args) {

        // 배열을 μ„ μ–Έν•˜λŠ” 방법
        int[] intArr1;

        // 배열을 μ΄ˆκΈ°ν™”ν•˜λŠ” 방법
        intArr1 = new int[3];
}

μœ„ μ˜ˆμ œμ—μ„œλŠ” intArr1μ΄λΌλŠ” 이름을 가진 배열을 μ‚¬μ΄μ¦ˆκ°€ 3인 λ°°μ—΄λ‘œ μ΄ˆκΈ°ν™”λ₯Ό ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
μ΄λ ‡κ²Œ μ΄ˆκΈ°ν™”λ₯Ό ν•˜λ©΄ int νƒ€μž…μ˜ 경우 κΈ°λ³Έκ°’ 0으둜 μ„ΈνŒ…μ΄ λ©λ‹ˆλ‹€.

λ°°μ—΄μ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”λ₯Ό λ™μ‹œμ— ν•˜λŠ” 방법

μžλ°”μ—μ„œλŠ” μ•„λž˜μ™€ 같이 λ°°μ—΄μ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”λ₯Ό λ™μ‹œμ— ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

public static void main(String[] args) {

        int[] intArr1 = new int[10];    // size 10, index range from 0 to 9
        int []intArr2 = new int[20];    // size 20, index range from 0 to 19
        int intArr3[] = new int[20];    // size 20, index range from 0 to 19
}

μœ„μ—μ„œ μ„€λͺ…λ“œλ¦° μ„ μ–Έλ¬Έκ³Ό μ΄ˆκΈ°ν™”λ¬Έμ„ ν•œ 쀄에 λΆ™μ—¬ μ“°λ©΄ λ™μ‹œμ— μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.

자, 그런데 μ΄λ ‡κ²Œ ν•˜λ©΄ int νƒ€μž…μ˜ λ°°μ—΄μ—λŠ” λͺ¨λ‘ 0으둜 값이 μ„ΈνŒ…μ΄ λ©λ‹ˆλ‹€.

μ „, μ œκ°€ μ›ν•˜λŠ” κ°’μœΌλ‘œ μ„ΈνŒ…μ„ ν•˜κ³  싢은데 κ·Έλ ‡κ²Œλ„ ν•  수 μžˆλ‚˜μš”?

물둠이죠~ κ·Έλ ‡κ²Œλ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ•„λž˜μ™€ 같이 ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

public static void main(String[] args) {

        int[] intArr4 = {1, 2, 3, 4};   // size 4, index range from 0 to 3
        int[] intArr5 = {0, 0, 0, 0, 0, 0, 0};  // size 7, index range from 0 to 6
}

intArr4μ—λŠ” [1, 2, 3, 4]κ°€ μ €μž₯λ©λ‹ˆλ‹€.
intArr5μ—λŠ” new int[7] 둜 μ΄ˆκΈ°ν™”ν•œ 것과 같이 0으둜 값이 λ“€μ–΄κ°‘λ‹ˆλ‹€.

λ°°μ—΄ 좜λ ₯ν•˜κΈ°

그럼 μ΄λ ‡κ²Œ 배열에 λ“€μ–΄κ°„ 값을 좜λ ₯해보고 싢을 땐 μ–΄λ–»κ²Œ ν• κΉŒμš”?
μžλ°”μ—μ„œ μ½˜μ†”μ°½μ— 좜λ ₯을 ν•  λ•Œμ—λŠ” System.out.println() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 것은 λ‹€λ“€ μ•Œκ³  κ³„μ‹œμ£ ?
Hello Worldλ₯Ό 해보셨닀면 λ‹€λ“€ μ•Œκ³  κ³„μ‹€κ²λ‹ˆλ‹€.
그럼 이 λ©”μ„œλ“œλ₯Ό μ΄μš©ν•΄μ„œ λ³€μˆ˜μ΄λ¦„μ„ λ„£μ–΄μ£Όλ©΄ λ κΉŒμš”?
μ•„λ‹™λ‹ˆλ‹€. 배열이 λ‹΄κΈ΄ λ³€μˆ˜λͺ…λ§Œ λ„£μ–΄μ£Όλ©΄ μ“°λ ˆκΈ°κ°’μ΄ 좜λ ₯이 λ©λ‹ˆλ‹€.
이런 κ²½μš°μ—λŠ” Arrays.toString() λ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜λ©΄ λ©λ‹ˆλ‹€.

public static void main(String[] args) {

        int[] intArr1 = new int[10];    // size 10, index range from 0 to 9
        int []intArr2 = new int[20];    // size 20, index range from 0 to 19
        int intArr3[] = new int[20];    // size 20, index range from 0 to 19
        int[] intArr4 = {1, 2, 3, 4};   // size 4, index range from 0 to 3
        int[] intArr5 = {0, 0, 0, 0, 0, 0, 0};  // size 7, index range from 0 to 6

        System.out.println(Arrays.toString(intArr1));
        System.out.println(Arrays.toString(intArr2));
        System.out.println(Arrays.toString(intArr3));
        System.out.println(Arrays.toString(intArr4));
        System.out.println(Arrays.toString(intArr5));
}

좜λ ₯ κ²°κ³Ό

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 2, 3, 4]
[0, 0, 0, 0, 0, 0, 0]

μ΄μƒμœΌλ‘œ λ°°μ—΄μ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”μ— λŒ€ν•œ ν¬μŠ€νŒ…μ„ λ§ˆμΉ˜κ² μŠ΅λ‹ˆλ‹€.
κΆκΈˆν•œ 점이 μžˆμœΌμ‹œλ©΄ λŒ“κΈ€ λ‹¬μ•„μ£Όμ‹œλ©΄ λ‹΅λ³€λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

2차원 배열에 λŒ€ν•œ λ‚΄μš©μ€ [Java] μžλ°” 2차원 λ°°μ—΄ 생성(μ„ μ–Έ 및 μ΄ˆκΈ°ν™”)μ—μ„œ 더 닀루고 μžˆμœΌλ‹ˆ μ°Έκ³ ν•˜μ‹œκ΅¬μš”~

도움이 λ˜μ…¨λ‹€λ©΄ 곡감 κΎΈ~~~~욱 눌러주고 κ°€μ„Έμš” ^-^

κ°μ‚¬ν•©λ‹ˆλ‹€.