안녕하세요 .
국비 기록용으로 남길려고합니다
참고 하실때 도움되셨으면좋겠습니다 ..!(너무믿지 말아주세요 ...)
배열
같은 자료형 의 변수를 하나의 묶음으로 다루는것
배열은 저장된 값마다 인덱스 0부터 시작하여 설정
배열 선언
//배열선언방법
//자료형[] 배열변수명; ★★★★
//자료형 배열변수명[];
//2가지 방법이존재하는데 편한거사용가능하다
//하지만 처음에 알아보기 쉬운 자료형[] 배열변수명; 이방식을 주로 사용하는것 같다.
int[] age;
int age1;
double[] ave;
double ave[];
char[] ch;
char ch[];
String[] name;
String name[];
배열 할당
//배열할당
//선언된 배열을 크기를 할당한다.
//배열변수명 = new 자료형[배열크기];
int[] age;
String[] name;
age = new int[5]; //int형 배열에 최대 5개의 공간을 부여
name = new String[10]; //String형 배열에 최대 10개의 공간을 부여
배열 저장 구조
배열은 참조 변수로 Heap영역에 할당되며 배열 공간의 주소를 저장
배열 공간은 주소를 이용해 인덱스를 참조하는 방식으로 값 처리
배열선언을 하면 Stack 영역에 메모리는 생성만 해두는것이고
배열 할당을 하면 Heap영역에 배열크기를 지정한만큼 공간을 생성해서 주소값을 할당받는다.
개인적으로 설명하기에는 많은 양이서 정리를잘해두신분 링크걸어요
정리엄청잘해두셧습니다!
https://yaboong.github.io/java/2018/05/26/java-memory-management/
배열 초기화
배열 초기화란 배열인덱스영역에 값을 처음 대입한것을 초기화라고한다.
아래에 반복문으로 초기화 하는방법도있다 .
//배열 선언
int[] age;
int[] num;
String[] name;
//배열 할당
age = new int[5];
num = new int[10];
name = new String[5];
//배열 초기화
//배열의 index 순서는 0~시작 한다.
age[0] = 1;
age[1] = 2;
age[2] = 3;
age[3] = 4;
age[4] = 5;
String[0] = "안";
String[1] = "녕";
String[2] = "하";
String[3] = "세";
String[4] = "요";
//반복문으로 초기화하기
for(int i = 0; i < num.length; i++){
num[i] = i + 1;
}
선언과 동시에 초기화
배열 선언, 할당, 초기화 작업을 따로따로하면 코드양도 길어지도 가독성도안좋아지고 해서 선언과 동시에 초기화 하는방식도있다.
// 배열 선언과 동시에 초기화
// 방법1.
// 자료형[] 배열변수명 = {값,값,값,}; //이런식으로 작성해주면 배열크기를 작성안해도 알아서 배열크기를 지정해준다.
// 방법2.
// 자료형[] 배열변수명 = new 자료형[] {값, 값, 값}; //위에랑 같은방식이지만 new 키워드를 추가로 작성해준것이다.
// 둘중에 편한걸로 작성하면된다.
int[] age = {1, 2, 3, 4, 5};
String[] name = new String {"안", "녕", "하", "세", "요"};
char[] ch = {'A', 'B', 'C', 'D','E','F'};
배열 값 확인
//배열 값 확인하는방법
//배열변수명[index];
String[] str = {"가", "나", "다", "라"};
str[0]; //가
str[1]; //나
str[2]; //다
str[3]; //라
실습문제
// 실습 문제1
// 1~10 까지 배열로 출력하라
public void practice1(){
int[] iArr = new int[10];
for(int i = 0; i < iArr.length; i++) {
iArr[i] = i + 1;
System.out.print(iArr[i] + " ");
}
}
// 실습 문제2
// 10 ~ 1 까지 배열로 출력하라
public void practice2() {
int[] iArr = new int[10];
int length = 10;
for(int i = 0; i < iArr.length; i++) {
iArr[i] = length--;
System.out.print(iArr[i] + " ");
}
}
// 실습 문제3
// 입력받은 정수 값의 정수만큼 1 ~ 출력하라
//실습문제 3
public void practice3() {
Scanner sc = new Scanner(System.in);
System.out.print("양의 정수 : ");
int size = sc.nextInt();
int[] arr = new int[size];
for(int i = 0; i < arr.length; i++) {
arr[i] = i+1;
System.out.print(arr[i] + " ");
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
JAVA - 객체(1편) (0) | 2021.05.23 |
---|---|
JAVA - 2차원 배열 (0) | 2021.05.23 |
JAVA - 반복문(for, while), 분기문(break, continue) (0) | 2021.05.14 |
JAVA - 조건문(if, else, else if, switch) (0) | 2021.05.13 |
JAVA - 연산자 (0) | 2021.05.12 |