250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

java 배열 설명 및 예제 [스택(stack), 힙(heap)] 본문

[Snow-ball]프로그래밍(컴퓨터)/java

java 배열 설명 및 예제 [스택(stack), 힙(heap)]

Snow-ball 2020. 12. 20. 17:07
반응형

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package fifth;
 
public class FifthBasicArray {
    public static void main(String[] args) {
        // 배열을 만드는 방법 - 변수 만들기 비슷하다.
        // 1. 데이터 타입을 적는다.
        // 2. 변수 이름을 적듯이 배열 이름을 적는다.
        // 3. 대괄호를 열고 닫는다.
        //    (대괄호는 데이터 타입 뒤에 적어도 되고
        //     변수 이름 뒤에 적어도 된다)
        // 4. 필요하다면 초기화를 해준다(안해도됨)
        // 4-1. 초기화를 한다면 중괄호를 열고 닫는다.
        // 4-2. 중괄호 내부에 초기화 값을 적는다.
        //      (여러개를 만든다면 ',' 로 구분한다)
        // 5. 초기화 방식이 두 가지 될 수 있다.
        // 5-1. 위의 중괄호 방식이고
        // 5-2. 또 다른 하나는 아래의 new를 사용하는 방식이다.
 
        // 배열을 사용하는 이유
        // 점수 입력의 경우 학생 수에 따라 입력을 받아야 한다.
        // 그러나 이것을 단순히 변수로 작성한다 가정해보자!
        // int a, b, c, d, e, ... z, aa, ab, ac, ... zz ...
        // 위와 같이 작성하면 너무 불편하다.
        // 그러니 아래와 같이 작성하는 것이다.
        // int studentScore[1000];
 
        // 기본적으로 자바 프로그래밍을 하게되면
        // 최소한으로 알아야 하는 메모리가 두개 있다.
        // 바로 스택(Stack)과 힙(Heap)이다.
        // Stack의 경우엔 지역 변수들이 배치가 된다.
        // Heap의 경우엔 new로 생성한 정보들이 배치된다.
 
        // score는 지역 변수이다.
        // new int[7]을 통해서 int 형 공간 7개를 Heap에 만든 정보는
        // 프로그램이 종료될때까지 혹은 GC가 동작할때까지 살아있다.
        int score[] = new int[7];
        score = new int[10];
 
        System.out.println("배열 출력!");
        for(int i = 0; i < 5; i++) {
            score[i] = (i + 1* 10;
        }
 
        for(int i = 0; i < 7; i++) {
            System.out.println(score[i]);
        }
 
        int stack[] = {10203040506070};
 
        //스택에 할당한 크기 변경을 허용하지 않음을 볼 수 있는 부분
        //stack = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
        System.out.println("스택에 할당한 배열 출력!");
        for(int i = 0; i < 7; i++) {
            System.out.println(stack[i]);
        }
 
        // Heap에 배치되는 정보와 Stack에 배치되는 정보의 차이
        // Heap은 자바의 GC(Garbage Collector)가 동작하거나
        // 프로그램이 종료되기 전까지 정보가 살아있게 된다.
        // 반면 Stack의 경우엔 { } 중괄호로 구성된 스코프
        // 내부에서만 정보가 살아있을 수 있다.
        {
            int test = 7;
            System.out.println("test = " + test);
        }
 
        {
            int test = 3;
            System.out.println("test = " + test);
        }
        
    }
}
cs

 

 

 

 

 

 

 

인테리어소품 베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments