데이터 타입의 이름 뒤에 대괄호 "[ ]"를 행과 열에 대하여 각각 지정한다.
데이터형 [ ][ ] 배열이름;
행과 열에 대한 크기를 명시한다.
배열이름 = new 데이터형[행][열];
public class Main01 {
public static void main(String[] args) {
/* 성적표에 대한 2차배열 선언
/* 학급 성적을 위한 배열
*/
int [][] grade = new int [3][3];
// 둘리의 과목을 점수로
grade [0][0] = 75;
grade [0][1] = 82;
grade [0][2] = 91;
// 도우너의 과목별 점수
grade [1][0] = 84;
grade [1][1] = 64;
grade [1][2] = 50;
//또치의 과목별 점수
grade [2][0] = 100;
grade [2][1] = 100;
grade [2][2] = 90;
/*2차 배열을 탐색하여 총점과 평균 점수 구하기( 2중 for문 사용)*/
for(int i = 0; i < grade.length; i++) { //행
// 반복문 안에서 선언된 변수는 매 시행시마다 새로 생성된다.
int sum = 0;
int evg = 0;
for(int j = 0; j < grade[i].length; j++) { // 열
sum += grade[i][j];
}
evg = sum / grade[i].length;
System.out.println("총점 = " + sum + ", 평균 =" + evg);
}
}
}
데이터형[ ][ ] 배열이름 = new 데이터형 [행][열];
2차원 배열의 경우 블록 괄호"{ }" 를 이중으로 겹쳐서 2차원 배열을 표현한다.
행과 열의 구분에는 콤마 ( , ) 가 사용된다.
컴파일러가 블록 괄호 '{ }' 의 요소를 파악하면 행, 열의 크기가 산출될 수 있으므로 배열의 크기
설정을 위한 [ ][ ] 에는 배열의 크기를 명시하지 않는다.
행, 열에 대한 인덱스를 통하여 값을 대입한다.
배열이름[행][열] = 값;
일괄지정
int [ ][ ] grade = new int [ ][ ] {
{75,82,91}, {88,64,50}, {100,100,90}
}
2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야 한다.
행의 길이
1차 배열의 길이는 2차 배열에서는 행의 크기로 조회된다.
int rows = grade.length;
열의 길이
열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.
int cols = grade[행].length;
-정의된 메서드는 다른 메서드를 구성하는 {...} 안에서 다음의 형식으로 사용될 수 있으며,
이를 메서드를 호출한다고 한다.
메서드 이름( ); → public static void 메서드 이름( ) { }
public class Main01 {
// main 이라는 메서드
// 프로그램의 시작점
public static void main(String[] args) {
plus();
plus();
minus();
}
public static void plus() {
int x = 100;
int y = 200;
System.out.println(x + y);
}
public static void minus() {
int x =200;
int y = 100;
System.out.println(x - y);
}
}
-Java 프로그램의 메서드(=함수)는 자신이 실행되는데 필요한 조건값을 메서드 이름 뒤의
괄호안에서 변수 형태로 선언한다. 이를 메서드 파라미터, 매개변수 라고 한다.
public static void 메서드 이름(변수형 변수이름) {
...
}
메서드가 연산을 수행하는데 두개 이상의 파라미터가 필요하다면 콤마( , ) 로 구분해서 선언할 수 있다.
public static void 메서드 이름 (변수형 변수이름, 변수형 변수이름,... ) {
...
}
메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야 한다.
public static void 메서드 이름 (변수형 변수이름, 변수형 변수이름) {
...
}
메서드이름( 값1, 값2 );