JAVA - 2차원 배열
오늘은 설명이 조금 짧을 수 있으나
중요해서 설명을 해야겠다.
또 내가 나중에 볼 수 있게
구분 지어 나눠야겠다.
라는 생각에 글을 적겠다.
2차원 배열이란 무엇일까?
이해하기 쉽게 설명을 하자면
표와 같은 개념이다.
열과 행이 있는 그런 배열이다.
옛날에 체육시간이나 군대에서
2열 종대 해쳐 모여!!
해보 왔을 것이다.
이것은 앞의 2 사람을 기준으로
뒤로 줄을 서는 것이다.
이처럼 배열에서는
일반 배열은 1줄로 나열하는 것이며
2차원 배열은
1-1, 1-2
2-1, 2-2
3-1
이런 식으로 줄을 세운다 생각하면 좋다.
3-1은 왜 하나 일까?
배열에 필요한 부분이 아니면 공백으로 둬도 된다.
그럼 이제 2차원 배열을 만드는 방법을 알아보자.
2차원 배열도 여러 가지 방법이 있다.
1) 정방형
가. new 이용
데이터타입 [][] 배열명 = new 데이터타입[행크기][열크기];
나. 리터럴 이용
데이터타입 [][] 배열명 = { { 값 1, 값 2 }, { 값 1, 값 2}, {값 1, 값 2} };
다. new + 리터럴 혼합
데이터타입 [][] 배열명 = new 데이터타입[][] { { 값 1, 값 2 }, { 값 1, 값 2}, {값1, 값 2} };
2) 비정방형
가. new 이용 ( 행크기만 지정 )
데이터타입 [][] 배열명 = new 데이터타입[행크기][];
// 열은 나중에 생성
배열명[0]=new int [열크기];
나. 리터럴 이용
데이터타입 [][] 배열명 = { { 값 1 }, { 값 1, 값 2, 값 3}, {값 1, 값 2} };
다. new + 리터럴 혼합
데이터타입 [][] 배열명 = new 데이터타입[][] { { 값 1 }, { 값 1, 값 2, 값 3}, {값 1, 값 2} };
이처럼 배열을 만드는 방법이 나뉘게 되는데
정방형 배열은 n*n배열이다.
3*3, 2*2 와 같이
3개의 행과 3개의 열이 필요하다.
반대로 비정방형은
각각 3개의 열을 만들더라도
행의 개수는 사용자가 지정하기 나름이다.
이것이 아니더라도 배열은 여러 가지 있다.
하지만 하나만 더 설명하고 나머지는
알아서 찾아보길 바란다.
커맨드 라인 아규먼트 배열 ( command line arguments )
1) public static void main( String [] args ){}
- 모든 메서드는 기본적으로 파라미터 가질 수 있다.
파라미터(parameter): 메서드명( 변수, 변수 2,... ){ 로컬변수}
- 파라미터는 로컬변수에 속함. 따라서 stack 저장됨.
- 아큐먼트(arguments, 인자값)는 파라미터(변수)에 저장되는 값을 의미한다.
2) 실행할 때 값을 설정할 수 있다.
예> Hello.java
<== c:\> javac Hello.java
Hello.class
<== c:\> java Hello 10 20
3) 이클립스에서 arguments(인자값) 설정하는 방법
*. java 선택하고 오른쪽클릭 > Run as > Run configuration > arguments 탭에
공백을 구분자로 값을 설정 > Run 선택.
3. 문자열 형태의 정수인 "10" 값을 실제 정수로 변경하는 방법
"10"===> 10
예> int num = Integer.parseInt("10"); // num에는 정수 10이 저장됨.
이렇게 인자값을 통해서도 할 수 있다.
하지만 본인은 이클립스가 아닌 인텔리제이를 쓰기에 인텔리 제이의 방법도 알려주겠다.
자 이렇게 하면 된다.
참고하길 바라며 본인의 설명이 틀린 부분이 있거나 수정해야 할 부분이 있으면 댓글로 알려주길 바라며
오늘 설명은 여기까지 하겠다.