배열

데이터 형이 같은 변수가 여러 개 필요할 때 사용한다.
정수를 저장하므로 int형 변수가 필요함 => 자료형 (int)다음 배열을 나타내는 대괄호를 넣고 배열명 (array , sum .. 뭐든)

인덱스 =배열 안에 있는 값을 가르키는 번호
**0부터 시작**해서 0,1,2,3,4 ... 로 생긴다.
int[] array1 = new int[100] //int형 배열 100개 생성 후 array1에 담음 ( 정수 100개를 담을 수 있는 배열 )

array1[0] = 50; 배열 array1의 인덱스 0에 50이라는 값을 담음
array1[1] = 40; 배열 array1의 인덱스 1에 40이라는 값을 담음
                         ||
           int[] array1 = new int[]{50,40};
                         ||
           int[] array1 = {50,40};
__________________________________________________________________________
출력시: System.out.println(array1[1]);
실행결과:40

for문을 사용해서 1~100까지의 값을 넣기

배열명.length는 배열의 크기를 출력한다.

for(int i = 0; 조건식 ; 증감식) i를 index로 사용
for(int i = 0; i<100; 증감식) = for(int i = 0; i < 배열명.length; 증감식)
= for(int i = 0; i< iarray.length; i++)

= for(int i = 0; i < iarray.length; 1++){iarray[i] = i+1;}
iarray[] 괄호 안에 인덱스 값을 i로 넣었고,
인덱스에 해당하는 배열에 값을 넣을 때 0부터인데 넣고 싶은 값은 1이므로 i에 1씩 더해서 넣는다.
이 식은 100개짜리 배열 안에 1~100까지의 값을 넣은 것
1~ 100까지의 값을 더하려면 값을 받을 변수를 for문 위에 선언하고 값을 받으면 된다.
sum = sum + larray[i];

변수의 스코프(scope)

  • 변수를 선언하는 지점이 어디냐에 따라 그 변수를 사용할 수 있는 범위
  • 기본적으로 변수를 선언한 지점을 감싼 괄호 안의 변수의 스코프다.
  • 선언할 때 생성되고 해당 블록이 끝날 때 소멸한다.
    i라는 변수를 쓰고 끝낸 뒤 다시 i라는 변수를 선언 해도 문제가 없는 이유가 변수의 스코프 때문이다. (for문 시작할 때 생성 후 끝날 때 사라짐)

그래서 반복문 사용시 값을 누적시킬 변수는 반복문 밖에 선언하고 반복문 밖에서 선언한 변수에 값을 누적시킨 뒤, 값을 출력해야한다.

배열의 출력 방법 3가지

  1. for문을 이용해서 출력
		int[] iArr = { 100, 95, 80, 70, 60 };
		for(int i = 0; i < iArr.length; i++) {
			System.out.println(iArr[i]);
		}
	}
}

2.더 쉬운 방식

		int[] iArr = { 100, 95, 80, 70, 60 };
		System.out.println(Arrays.toString(iArr));
		}
	}
  1. char 타입만 가능한 배열 출력방식
int[] iArr1 = new int[10];
		int[] iArr2 = new int[10];		
		int[] iArr3 = { 100, 95, 80, 70, 60 };
		char[] chArr = {'a', 'b', 'c', 'd'};
		System.out.println(chArr);
	}
}

2차원 배열

  • 1차원 배열의 배열 , 1차원 배열을 한 차원 확장시킨 형태로 행렬 모양
    자료형[][] 배열명 = new 자료형[행 크기][열 크기]
int[][] array4 = new int [3][4] //3행 4열 생성
//array4[0] = 10; 2차원 배열에선 사용할 수 없다. 이 경우
array4[0][1] = 10; 으로 선언해야한다.

2차원 배열 뿐만 아니라 3,4차원 등을 할꺼면 [][][] 이런식으로 하나씩 눌려주면된다.

가변 배열 (불규칙적인 배열형태)

수학 행렬 구조가 아닌 계단식 구조를 가질 수 있다.

 선언과 동시에 값을 저장하려면
 int[][] array6 = {{1},{1,2},{1,2,3}};
 System.out.println(annay6[0][0]);
 실행결과: 1 이 나온다.

for each문

for(타입 값을 받아줄 변수명 : 출력하고 싶은 자료구조 )

int[] iarr = {10,20,30,40,50};

for (int value:iarr){
	System.out.println(value);

연습 글

https://velog.io/@si9138/%EB%B0%B0%EC%97%B4-%EC%BD%94%EB%93%9C-410

profile
풀스택 국비수강중

0개의 댓글