일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 투자
- 독서
- algorithmtraining
- 자바
- 서평
- 지혜를가진흑곰
- 알고리즘공부
- 채권
- 다독
- 알고리즘 공부
- 돈
- algorithmTest
- C
- JavaScript
- 재테크
- C++
- 화장품
- 성분
- algorithmStudy
- 책을알려주는남자
- 프로그래머스 알고리즘 공부
- 프로그래밍언어
- 자바스크립트
- 경제
- 독후감
- 책알남
- 주식
- 알고리즘트레이닝
- 백준알고리즘
- Java
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
java 배열 설명 및 예제 [스택(stack), 힙(heap)] 본문
반응형
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[] = {10, 20, 30, 40, 50, 60, 70};
//스택에 할당한 크기 변경을 허용하지 않음을 볼 수 있는 부분
//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 |
반응형
'[Snow-ball]프로그래밍(컴퓨터) > java' 카테고리의 다른 글
[Java] 시작값과 끝나는 값을 입력해서 모두 합한 값을 출력하기 (0) | 2021.01.05 |
---|---|
[JAVA] ContinueTest (컨티뉴테스트) (0) | 2021.01.03 |
랜덤한 숫자를 출력하는 방법 (0) | 2020.12.17 |
이중 For(포)문 구구단으로 설명 (0) | 2020.12.17 |
For문 예제와 풀이 (0) | 2020.12.17 |
Comments