JAVA언어의 기초

JAVA - 2차원 배열

dong uk 2024. 3. 25. 19:56

 

 

오늘은 설명이 조금 짧을 수 있으나

중요해서 설명을 해야겠다.

또 내가 나중에 볼 수 있게

구분 지어 나눠야겠다.

라는 생각에 글을 적겠다.

 

 

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이 저장됨.

 

 

 

이렇게 인자값을 통해서도 할 수 있다.

 

하지만 본인은 이클립스가 아닌 인텔리제이를 쓰기에 인텔리 제이의 방법도 알려주겠다.

 

 

 

 

 

 

 

 

 

자 이렇게 하면 된다.

 

참고하길 바라며 본인의 설명이 틀린 부분이 있거나 수정해야 할 부분이 있으면 댓글로 알려주길 바라며

오늘 설명은 여기까지 하겠다.