[신세계I&C KDT][Java 프로그래밍] #5 2차원 배열 (0314)

박현아·2024년 3월 14일
0

신세계아이앤씨 KDT

목록 보기
5/42

1. 2차원 배열

1) 정방형

(1) new 이용

데이터타입[][] 배열명 = new 데이터타입[행크기][열크기];

int[][] num = new int[3][2]; //3행 2열의 배열

num[0][0] = 1; //초기화
num[0][1] = 2;
num[1][0] = 3;
num[1][1] = 4;
num[2][0] = 5;
num[2][1] = 6;

(2) 리터럴 이용

데이터타입[][] 배열명 = { { 값1, 값2 }, { 값1, 값2}, {값1, 값2} };

int[][] num2 = {{1,2},{3,4},{5,6}};

(3) new + 리터럴 혼합

데이터타입[][] 배열명 = new 데이터타입[][] {{ 값1, 값2 }, { 값1, 값2}, {값1, 값2}};

int[][] num3 = new int[][] {{1,2},{3,4},{5,6}};

(4) 배열 순회 - 중첩 for문

for (int row=0; row < num.length; row++) {
	for (int col = 0; col < num[row].length; col++) {
		System.out.printf("num[%d][%d]=%d\n", row, col, num[row][col]);
	}
}

(5) 배열 순회 - foreach 문

for (int[] n : num) {
	for (int p : n) {
		System.out.println(p);
	}
}

2) 비정방형

(1) new 이용

  • 행 크기 지정 먼저 -> 열 나중에 생성
  • 데이터타입 [][] 배열명 = new 데이터타입[행크기][];
  • 배열명[0] = new int[열크기];

(2) 리터럴 이용

  • 데이터타입 [][] 배열명 = { { 값1 }, { 값1, 값2, 값3}, {값1, 값2} };

(3) new + 리터럴 혼합

  • 데이터타입 [][] 배열명 = new 데이터타입[][] { { 값1 }, { 값1, 값2, 값3}, {값1, 값2} };

cf) 배열 사용시 Arrays 클래스 도움을 받으면 배열처리를 손쉽게 할 수 있다

2. 커맨드 라인 아규먼트 배열 (command line arguments)

1) public static void main(String[] args) {}

  • 모든 메서드는 기본적으로 파라미터를 가질 수 있다
  • 파라미터 (parameter) 메서드명 (변수1, 변수2, ...) {로컬변수}
  • 파라미터는 로컬변수에 속하기 때문에 stack에 저장
  • 아규먼트 (arguments, 인자값)는 파라미터에 저장하는 값을 말함

2) 실행할 때 값을 설정할 수 있다

3) 이클립스에서 arguments (인자값) 설정하는 법

  • *.java 선택 후 우클릭 -> run as -> run configuration -> arguments 탭에 값 적기 (공백이 구분자)

3. 문자열 정수를 int로 바꾸는 법

  • "10" -> 10 으로
  • Integer.parseInt(" ");
int num = Integer.parseInt("10"); // 10

4. 랜덤값 얻기

  • java.util.Random 클래스 이용
  • 방법

1) Random 클래스 객체 생성

import java.util.Random;

Random r = new Random();

2) 랜덤값 반환하는 메서드 사용

int n = r.nextInt();
int n2 = r.nextInt(3); // 0, 1, 2 중에서 랜덤하게 반환
float f = r.nextFloat();
double d = r.nextDouble();
boolean b = r.nextBoolean(); 

0개의 댓글