일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django widget
- Git
- Algorithm
- Django
- 파이썬 알고리즘
- 알고리즘 문제
- 파이썬
- MAC
- CSS
- Baekjoon
- react
- django ORM
- 알고리즘 연습
- web
- 장고
- 알고리즘 풀이
- 백준
- PYTHON
- HTML
- AWS
- c++
- es6
- js
- django rest framework
- javascript
- 알고리즘
- form
- DRF
- java
- API
- Today
- Total
수학과의 좌충우돌 프로그래밍
[java] 배열에 대해서 알아보자 본문
배열
배열의 선언과 사용
자바에서 배열은 객체이다. 그렇기 때문에 변수 선언시 배열 참조 변수를 선언해주어야한다. 그 방법은 아래와 같다.
int[] s;
int s[];
이 부분에서 int
는 배열 요소들의 자료형을 s
는 배열의 이름을 의미한다. 배열 참조 변수를 선언하였지만 아직 배열을 사용할 준비는 되지않았다. 배열을 사용하기 위해서는 new 연산자
를 통해 생성해줘야한다. (이에 대해서는 뒤에서 객체에 대한 내용을 학습하며 다시 이해하도록 하자. ) 생성하는 방법은 다음과 같다.
s = new int[10];
위에서 생성한 배열 참조 변수의 배열의 크기를 10개로 생성한 것이다. 위 두 식은 다음과 같이 합쳐서 사용할 수 있다.
int[] s = new int[10];
이 때 배열은 자동으로 초기화가 되는데 각 자료형에 따라 초기화되는 방식이 다르다.
- 숫자 배열은
0
으로 초기화된다. - boolean 배열은
false
로 초기화된다. - 문자열 배열은
null
로 초기화된다.
배열 선언을 더 쉽게 하면 안되나?
int[10] s;
다음과 같은 방식은 허용되지 않는 문법이다.
배열의 초기화
위에서는 배열의 변수를 선언해주고 어떤 값으로 초기화 되는지 알아보았다. 사용자가 원하는 값으로 초기화 해주기 위해서는 중괄호를 사용해서 배열의 초기값을 적고, 이 때는 연산자 new 를 사용하지 않아도 되고, 배열의 크기를 지정할 필요도 없다.
int[] s = {1,2,3,4,5};
배열과 반복문
배열의 원소들에 접근할 때는 다음과 같이 반복문을 통해 쉽게 접근할 수 있다. s.length
는 배열의 크기를 반환한다.
public class array {
public static void main(String[] args) {
int[] s = {1,2,3,4,5};
for (int i=0;i<s.length;i++) {
System.out.print(s[i]+" ");
}
}
}
//1 2 3 4 5
자바에서는 이를 더 쉽게 구현할 수 있다. for-each 루프
라고 불리는 방법인데 더 쉽게 배열의 요소들에 접근이 가능하다. i
가 배열 s
를 순회하게 된다.
public class array {
public static void main(String[] args) {
int[] s = {1,2,3,4,5};
for (int i : s) {
System.out.print(i+" ");
}
}
}
//1 2 3 4 5
2차원 배열
2차원 배열의 선언과 초기화도 1차원 배열과 비슷한 방식으로 이루어진다.
int[][] s = new int[3][5];
int[][] s1 = {
{1,2,3},
{4,5,6},
{7,8,9}
};
'프로그래밍 언어 > Java' 카테고리의 다른 글
[java]클래스를 알아보자 2 (0) | 2019.04.10 |
---|---|
[java]클래스에 대해 알아보자 (0) | 2019.03.28 |
[java]사용자로 부터 값 입력받기, Scanner (1) | 2019.03.20 |
[java]자바의 기초(2), 기호상수와 String메소드 (0) | 2019.03.20 |
[java]자바의 기초(1), 주석과 자료형 (0) | 2019.03.20 |