1. 배열 선언과 생성
1) 배열 참조변수의 선언
-자료형 뒤에 배열을 뜻하는 []를 붙임
자료형[] 배열참조변수;
예) int[] num;
배열참조변수는 stack 영역에 생성됨
2) 배열의 생성
배열참조변수 = new 자료형[데이터의 개수];
예) num = new int[5];
3) 배열참조변수의 선언과 배열 생성을 한꺼번에 하는 방법
자료형[] 배열참조변수 = new 자료형[데이터의 개수];
예) int[] num = new int[5];
new로 생성한 배열 데이터는 heap 영역에 생성됨
▶ String도 배열참조변수를 생성하여 쓰는 것이 맞지만 자바에서 특별히 배려하여 자료형처럼 쓸 수 있는 것임.
▶ 배열의 개수 : num.length
4) 배열 초기화
① 일일이 배열 인덱스마다 넣어주는 힘든 방법
num[0] = 10;
num[2] = 20;
......
② 일반적인 방법
int[] num={10,20,30,40,50};
-> 이렇게 하면 배열의 선언, 생성, 초기화가 한꺼번에 이루어진다
2. 배열의 데이터 저장 및 호출
배열에 값을 저장하고 불러오는 것은 배열참조변수(배열이름)를 이용한다.
배열참조변수[인덱스] = 값;
예) num[3] = 0;
자바의 배열 인덱스는 0부터 시작한다.
배열참조변수는 배열 시작 주소를 가지고 있다.
3. 배열의 차원
1) 배열첨자가 1개면 1차원 배열
int[] num= new int[5];
2) 배열첨자가 2개면 2차원 배열
int[][] num= new int[3][5];
3차원 배열부터는 거의 사용하지 않는다.
4. 2차원 배열 생성 및 초기화 예제
int[][] num; //2차원 배열 참조변수 선언 [행][열]
num = new int[3][3]; //2차원 배열 생성
nu[0][0] = 10;
nu[0][1] = 20;
...
그러나 아래처럼 하는 것이 좋다
int[][] num={{10,20,30},{40,50,60},{70,80,90}};
Tip :
1) 메모리 할당
① 정적 메모리 할당
- 실행 전 컴파일 단계에서 일어남.
- int a= 10; -> 컴파일 단계에서 a변수에 대한 메모리 확보함
② 동적 메모리 할당
- 실행할 때 메모리 할당(run time)
- 자료형이 있는데 변수명이 없는 것
Scanner sc=new Scanner(System.in)
int[] num= new int[5];
new 자료형 -> new와 자료형이 있는데 변수명이 없다. 대표적인 동적 메모리 할당임.
왼쪽의 int[] num 부분은 정적할당임.
변수명이 없으므로 참조변수를 통해서 접근하게 된다.
삭제하려면 delete를 써야 한다.(C언어)
그런데 delete를 안 쓰면 프로그램이 끝나도 동적할당 부분은 그대로 살아있어서 메모리 누수현상이 일어남.
그래서 자바에서는 Garbage Collector가 자동으로 수거한다.
2) 이클립스 로딩을 조금 빨리 하는 방법
이클립스 설치파일에 보면 eclipse.ini파일이 있다.
열어서 보면 아래와 같은 두 항목이 있다.
-Xms256m -> 힙 영역(동적메모리할당부분)이 가지는 최소메모리영역
-Xmx1024m -> 힙 영역이 가지는 최대메모리 영역
메모리에 여유가 있다면 Xms256m부분을 Xms1024m로 고치면 조금 빨리 로딩된다.
3) 대소문자 변환
character.toUpperCase(‘j’); -> 대문자로 변환
character.toLowerCase(‘J’); -> 소문자로 변환
4) 확장 for문
for (int n : num){
}ㅇ
-> num이 배열과 같은 집합값임.
num배열의 0번째부터 값을 차례차례 변수 n에 넣으면서 for문 실행함.
java 1.5부터 지원.
실무에선 잘 안씀
'공부방 > 자바프로그래밍' 카테고리의 다른 글
자바 상속 (0) | 2020.07.26 |
---|---|
자바 생성자 (0) | 2020.07.20 |
자바 클래스와 객체 (0) | 2020.07.15 |
자바 Method(메소드) (0) | 2020.07.13 |
자바 반복문(for, while, do while, break,continue) (0) | 2020.07.04 |
자바 조건문(if, swich) (0) | 2020.07.02 |
자바 연산자와 피연산자 (0) | 2020.04.11 |
자바의 자료형과 변수에 대하여 (0) | 2020.04.10 |
댓글