[JAVA] ๋ฐฐ์—ด

kbannieยท2022๋…„ 10์›” 7์ผ
1

JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
4/8
post-thumbnail

๐Ÿ’ก 1์ฐจ์› ๋ฐฐ์—ด

๐Ÿ“Œ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

JAVA ๋ฐฐ์—ด = ์ฐธ์กฐ์ž๋ฃŒํ˜•

JAVA์—์„œ ๋ฐฐ์—ด์€ ์ฐธ์กฐ์ž๋ฃŒํ˜•์ž…๋‹ˆ๋‹ค. ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ ํ›„ ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•ด ํ• ๋‹นํ•ด์ฃผ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐฐ์—ด์€ ๋™์  ํ• ๋‹นํ•ด์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ฐฐ์—ด ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์ด๋ฅผ ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ๋ฐ›์•„์„œ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

1์ฐจ์› ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

new ์—ฐ์‚ฐ์ž์˜ ์‚ฌ์šฉ์œผ๋กœ ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. VM์ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด(=์ฐธ์กฐ๊ฐ’)๋ฅผ ๋ฐฐ์—ด ์ด๋ฆ„์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ฐธ์กฐ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ id๊ฐ’์ž…๋‹ˆ๋‹ค.

arrayName=new elementType[size]  //๋™์  ๋ฐฐ์—ด ์ƒ์„ฑ
double [] costs=new double[100]; //๋ฐฐ์—ด ์„ ์–ธ์˜ ์˜ˆ

๋ฐฐ์—ด ์š”์†Œ์˜ ์„ ํƒ๊ณผ ์ฒจ์ž

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ index๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

arrayName[indexNumber]
costs[10]=90;

์œ ํšจํ•œ ์ฒจ์ž์˜ ๋ฒ”์œ„๋Š” 0~(๋ฐฐ์—ด์˜ ํ• ๋‹น ํฌ๊ธฐ-1) ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฒ—์–ด๋‚ซ์„ ๋•Œ๋Š” ArrayIndexOutOfBoundsException ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

arrayName.length
costs.lenth;

๋ฐฐ์—ด ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”

๋ฐฐ์—ด ์„ ์–ธ๋ฌธ์— ์ค‘๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ดˆ๊ธฐ๊ฐ’์„ ํ• ๋‹นํ•ด์ค๋‹ˆ๋‹ค.

int[] list=new int[]{10,20,30,40,50}

๐Ÿ“Œ ์ฐธ์กฐ ์ž๋ฃŒํ˜•

๊ฐ์ฒด๋“ค์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ณ€์ˆ˜๋“ค์„ ๋ฐฐ์—ด ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์š”์†Œํƒ€์ž…์ด ์ฐธ์กฐ์ž๋ฃŒํ˜•์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฐ์—ด ์š”์†Œ์ธ ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋  ๊ฐ ๊ฐ์ฒด๋“ค์€ ๋ฐ˜๋“œ์‹œ ๋ณ„๋„๋กœ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์—์„œ ์–ธ๊ธ‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์ฒด ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

  1. ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์„ ์—…ํ•ฉ๋‹ˆ๋‹ค.
Circle[] circles;
  1. new ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด ๋ฐฐ์—ด์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๊ฐ ์š”์†Œ๋Š” Circle ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.
circles=new Circle[5];

โญ 3. new ์—ฐ์‚ฐ์ž์™€ ์ ์ ˆํ•œ ์ƒ์„ฑ์ž ํ˜ธ์ถœ๋กœ ๊ฐ ์š”์†Œ(์ฐธ์กฐ๋ณ€์ˆ˜)๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋“œ์‹œ ์žŠ์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค!

circles[0]=new Circle();

โ— ํ—ท๊ฐˆ๋ฆฌ์ง€ ๋ง ๊ฒƒ

  • ๊ฐ์ฒด ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜
  • ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ๋ณ„๋„์˜ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ด

for each ๋ฃจํ”„

array๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๋ฐฐ์—ด ์š”์†Œ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณ€์ˆ˜ var์— ํ•˜๋‚˜์”ฉ ์ „๋‹ฌํ•˜๋ฉฐ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

for each (Type var) in {array}

๋ณ€์ˆ˜ a๋Š” ๋ฐฐ์—ด arr์—์„œ ํ•œ ์š”์†Œ๋ฅผ ๋นผ๋ƒˆ์„ ๋•Œ ๊ทธ๊ฒƒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

int[] arr={1,2,3};
for(int a:arr)
	System.out.print(a);

๐Ÿ’ก ๋‹ค์ฐจ์› ๋ฐฐ์—ด

n์ฐจ์› ๋ฐฐ์—ด์€ n-1์ฐจ์›์˜ ๋ฐฐ์—ด์ด ๋ชจ์ธ ๊ฒƒ์œผ๋กœ n์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด n๊ฐœ์˜ ์ฒจ์ž๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ 2์ฐจ์›์ด๋ผ๋ฉด 1์ฐจ์› ๋ฐฐ์—ด์˜ ๊ทธ๋ฃน์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ณ ์ •์  ๊ธธ์ด

int [][] test1=new int[2][3]์—์„œ new ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ธ์ž์— ๋ชจ๋‘ ๊ฐ’์„ ๋„ฃ์€ ๊ฒƒ์„ ๊ณ ์ •์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


public class BasicTypeArray {
	public static void main(String[] args) {
		int [][] integers;
		integers=new int[2][3]; //๊ณ ์ •๋œ ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด
		
		for (int g=0;g<integers.length;g++) {
			for (int e=0;e<integers[g].length;e++) {
				integers[g][e]=g*10+e;
			}
			System.out.println();
		}
		
		for(int[] a:integers) { 
			for(int n:a) {  //a๋˜ํ•œ ๋ฐฐ์—ด
				System.out.print(n+"\t");
			}
			System.out.println();
		}
	}
}

๐Ÿ“Œ ๊ฐ€๋ณ€์  ๊ธธ์ด

int [][] test1=new int[2][3]์—์„œ new ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ธ์ž์— ๋ชจ๋‘ ๊ฐ’์„ ๋„ฃ์ง€ ์•Š์€ ๊ฒƒ์„ ๊ฐ€๋ณ€์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

public class BasicTypeArray2 {
	public static void main(String[] args) {
		int [][] integers;
		integers=new int[2][]; //๊ฐ€๋ณ€์  ๊ธธ์ด์˜ 2์ฐจ์› ๋ฐฐ์—ด
		
		integers[0]=new int[2]; 
		integers[1]=new int[4];
		
		
		for (int g=0;g<integers.length;g++) {
			for (int e=0;e<integers[g].length;e++) {
				integers[g][e]=g*10+e;
			}
			System.out.println();
		}
		
		for(int[] a:integers) {
			for(int n:a) {
				System.out.print(n+"\t");
			}
			System.out.println();
		}
		
	}
}

โ— ์ฃผ์˜ํ•  ์ 
integers[0]=new int[2]
๋ฐฐ์—ด์˜ ์ฐธ์กฐ๋ฅผ ๋Œ€์ž…ํ•จ์œผ๋กœ์จ ๊ฐ๊ฐ ์ดˆ๊ธฐํ™”ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

profile
์—ฌํ–‰ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ๐Ÿง™โ€โ™‚๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด