BackEnd๐Ÿงต

2023.04.20 TIL(JAVA ๋ฐฐ์—ด)

hae02y 2023. 4. 24. 01:11
๋ฐ˜์‘ํ˜•

 

๐Ÿ‘€Today...


๊ฑฑ์ •๊ฑฐ๋ฆฌ๋ฅผ ๋‘๊ณ  ์›ƒ๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ์ง€ ๋ชปํ•˜๋ฉด ๋‚˜์ด๊ฐ€ ๋“ค์—ˆ์„ ๋•Œ ์›ƒ์„ ์ผ์ด ์ „ํ˜€ ์—†์„ ๊ฒƒ์ด๋‹ค. (Edgar Watson Howe)

 

 

โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn)


๋ฐฐ์—ด?

๋ฐฐ์—ด์ด๋ž€, ๋™์ผํ•œ ํƒ€์ž…์˜ ๊ฐ’๋“ค์„ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋ฌถ์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์— ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

//ํฌ๊ธฐ ํ• ๋‹น / ์ดˆ๊ธฐํ™” ์—†์ด ๋ฐฐ์—ด ์ฐธ์กฐ๋ณ€์ˆ˜๋งŒ ์„ ์–ธ
int[] arr;
int arr[];

//์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ฐฐ์—ด ํฌ๊ธฐ ํ• ๋‹น
int[] arr = new int[5];
String[] arr = new String[5];

//๊ธฐ์กด ๋ฐฐ์—ด์˜ ์ฐธ์กฐ๋ณ€์ˆ˜์— ์ดˆ๊ธฐํ™” ํ• ๋‹นํ•˜๊ธฐ
int[] arr;
arr = new int[3]; //3์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ดˆ๊ธฐ๊ฐ’ 0์œผ๋กœ ์ฑ„์›Œ์ง„ ๋ฐฐ์—ด์ƒ์„ฑ

//์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ์ง€์ • ๋ฐ ๊ฐ’ ์ดˆ๊ธฐํ™”
int[] arr = {1,2,3};
int[] arr = new int[] {1,2,3};
String[] name = {"mon","tue","wed"};

//2์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธ
int[][] arr = new int[2][2]; //2์˜ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ 2๊ฐœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” 2์ฐจ์› ๋ฐฐ์—ด ํ• ๋‹น
int[][] arr2 = { {1,2,3}, {4,5,6}, {7,8,9} };

๋งŒ์•ฝ int[] arr ์ด๋ผ๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด arr์€ ์ฐธ์กฐ๋ณ€์ˆ˜์ด๋‹ค. ๋ฐฐ์—ด์ด ์„ ์–ธ๋˜์—ˆ์„๋•Œ ๋ฐฐ์—ด์ด ๋ช‡๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์งˆ์ง€ ์•Œ์ˆ˜์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์†Œ๊ฐ’์„ ๋‹ด์„ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„๋งŒ ํ™•๋ณด๊ฐ€ ๋˜๊ณ , ๋ฐฐ์—ด์ด ์ƒ์„ฑ๋œ ์ดํ›„ ํ•ด๋‹น ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๊ฐ’์ด ์ฐธ์กฐ๋ณ€์ˆ˜์— ํ• ๋‹น์ด ๋œ๋‹ค.์ฆ‰ arr์—๋Š” ์ฃผ์†Œ๊ฐ’์ด ๋‹ด๊ธฐ๊ฒŒ๋˜๊ณ , ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” index๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ ‘๊ทผํ•œ๋‹ค.

 

์ฐธ์กฐ๋ณ€์ˆ˜.length ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์–ป์„์ˆ˜์žˆ๋‹ค.

int[] arr = new ont[3];
System.out.println("์ถœ๋ ฅ : " + arr.length);

// ์ถœ๋ ฅ : 3

 

 

2์ฐจ์› ๋ฐฐ์—ด

2์ฐจ์›๋ฐฐ์—ด๋„ 1์ฐจ์› ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

public static void main(String[] args) {
        int[][] arr = {
                {1,2},
                {3,4},
                {5,6}
        };
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arr[0]));
    }

๊ฐ’์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ, arr[0]์ด๋ฉด arr[0][0], arr[0][1]์˜ ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š”๊ฒƒ์„ ๋ณผ์ˆ˜์žˆ๋‹ค.

 

 

๊ฐ€๋ณ€ ๋ฐฐ์—ด

2์ฐจ์› ์ด์ƒ์˜ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์—์„œ๋Š” 1์ฐจ์›๋ณด๋‹ค ์ž์œ ๋กœ์šด ํ˜•ํƒœ๋กœ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰. 2์ฐจ์›์ด์ƒ์˜ ๋ฐฐ์—ด์ผ๋•Œ, ๋งˆ์ง€๋ง‰ ์ฐจ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๊ณ ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ , ์ด๊ฒƒ์„ ๊ฐ€๋ณ€๋ฐฐ์—ด ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ฐ€๋ณ€๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

int[][] arr = new int[3][];			//๊ฐ€๋ณ€๋ฐฐ์—ด ์ƒ์„ฑ ์™ธ๋ถ€๋ฐฐ์—ด3 ๋‚ด๋ถ€๋ฐฐ์—ด ๊ฐ€๋ณ€
System.out.println(Arrays.toString(arr));

//๊ฒฐ๊ณผ
//[null,null,null]

์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋˜๋ฉด ์™ธ๋ถ€๋ฐฐ์—ด(3๊ฐœ)๋งŒ ์ƒ์„ฑ๋œ ์ƒํƒœ์ด๊ณ  ๋‚ด๋ถ€๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ์ž์œ ๋กญ๊ฒŒ ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด ์ƒํƒœ์—์„œ ๋งŒ์•ฝ ๋‚ด๋ถ€๋ฐฐ์—ด๋„ ์ƒ์„ฑ์„ ํ•ด์ฃผ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•˜๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

//์ƒ์„ฑ์ดํ›„ ํ•˜๋‚˜์”ฉ ์ดˆ๊ธฐํ™”
int[][] arr = new int[3][];

arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[4];

//[0,0]
//[0,0,0]
//[0,0,0,0]


//์ƒ์„ฑ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”
int[][] arr2 = {
    {1,2},
    {3,4,5},
    {6,7,8,9,10}
};

 

# Enhanced for๋ฌธ ์ด์šฉ

int[] numbers = { 1,2,3,4,5};

for(int num : numbers){
	System.out.print(num);
}

//๊ฒฐ๊ณผ
//12345

* Enhanced for๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๋ฐฐ์—ด๊ฐ’์˜ ์ˆ˜์ •์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค!

 

 


๐Ÿ‘Šํ˜ผ์ž์„œ ํ•ด๊ฒฐํ•˜๊ธฐ


1. ๋ฉค๋ฒ„๋ณ€์ˆ˜ ๋ช…์‹œ์  ์ดˆ๊ธฐํ™” ์—†์ด ์„ ์–ธํ•˜์˜€์„๋•Œ ์ž๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š”๊ฐ’

public class Main {
    int num;
    String str;
    boolean bool;
    double dou;				//์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์„ ์–ธ
    	
    static int num1;   
    static String str1;
    static boolean boo1;
    static double dou1;		//์ •์ ๋ณ€์ˆ˜ ์„ ์–ธ
    
    public static void main(String[] args) {
        System.out.println(num1+ str1+ boo1 + dou1);
        Main m = new Main();			//์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ ์ ‘๊ทผ์„ ์œ„ํ•ด์„œ m ์ธ์Šคํ„ด์Šค์ƒ์„ฑ
        System.out.println(m.num+ m.str+ m.bool + m.dou);
    }
}

//๊ฒฐ๊ณผ
//0 null false 0.0
//0 null false 0.0

๊ฒฐ๊ณผ์™€ ๊ฐ™์ด ์ž๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค...! ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ ์ง€์—ญ๋ณ€์ˆ˜๋Š” ๊ผญ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค...

 

 

 

๋ฐ˜์‘ํ˜•