break : 반복문 안에서 break 키워드를 만나면 반복을 강제로 종료
continue : 실행흐름이 증감식으로 강제 이동한다.
변수를 그룹으로 묶는 형태의 한 종류로서 사물함 같은 형태를 갖고있다.
하나의 배열안에는 같은 종류(데이터형)의 값들만 저장될 수 있다.
배열의 선언
데이터형[] 배열이름;
배열의 생성 (변수를 저장할 수 있는 사물함을 생성한다.)
배열이름 = new 데이터형[크기];
ex) int[] grade; // 여러개의 int형 변수를 저장할 수 있는 grade이름의 배열 형성
grade = new int[3]; // 배열의 칸을 3칸으로 할당
배열의 선언과 크기 지정에 대한 일괄처리.
데이터형[] 배열이름 = new 데이터형[크기];
ex) int[] grade = new int[3];
생성된 배열은 사물함과 같이 각각의 칸에 값들이 저장되고, 각각의 칸은 0 부터 일련번호가 지정된다. (일련번호 = 배열의 인덱스(index))
배열은 값을 저장할 수 있는 공간일 뿐, 그 자체가 아니다.
값이 대입되지 않은 경우, 숫자형은 0, boolean형은 false가 자동으로 대입
배열안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에 직접 값을 대입해야 한다.
배열이름[인덱스] = 값;
int[] grade = new int[3];
grade[0] = 75;
grade[1] = 82;
grade[2] = 91;
배열의 크기를 지정하면서 괄호 "{....}"안에 배열에 포함될 각 항목들을 콤마(,)로 나열하며,
배열의 생성과 할당을 일괄처리 할 수 있다. 이 때는 배열의 크기를 별도로 지정하지 않으며, "new 데이터형[ ]"부분은 생략 가능하다.
데이터형[] 배열이름 = new 데이터형{값1, 값2, ....};
데이터형[] 배열이름 = {값1, 값2, ....};
배열안에 저장되어 있는 값들을 사용하여 연사나 출력등의 처리를 위해서는
배열에 부여된 인덱스 값을 통해서 데이터에 접근해야 한다.
System.out.println( grade[2] ); // 인덱스 2에 값을 호출한다.
0 ~ (배열크기 -1) 만큼의 인덱스 값을 순차적으로 갖는다.
일정 범위를 갖고 순차적으로 증가하는 인덱스 값의 특성을 활용하면 반복문 안에서 배열이 값을 할당하거나, 할당된 값을 읽어들이는 처리가 가능하다.
int[] grade = new int[]{100,100,90};
for(int i = 0; i < 3; i++){
System.out.println(grade[i]);
}
배열의 길이를 얻기 위해서는 "배열이름. length"형식으로 접근하게 된다.
ex)grade라는 배열을 생성한 경우 배열의 길이
int[] grade = new int[]{100,100,90};
for(int i = 0; i < grade.length; i++){
System.out.println(grade[i]);
}
---------------------------------------
int size = grade.length;
앞에서 살펴본 배열 처럼 한 줄만 존재하는 사물함 같이 구성된 배열
행에 대한 개념이 없고 열에대한 개념만 존재하기 때문에 "배열이름.length"는 몇 칸인지 알아보는 기능만 존재
1차 배열의 각 칸에 새로운 배열을 넣는 형태
1채 배열의 각 칸은 행이 되고, 각각의 칸에 추가된 개별적인 배열이 "열"의 개념이되어 "행렬"을 구성하게 된다.
데이터 타임 이름뒤에 대괄호" [ ]"를 행과 열에 대하여 각각 지정한다.
데이터형[ ][ ] 배열이름;
행과 열에 대한 크기를 명시한다.
배열이름 = new 데이터형[행][열];
데이터형[][] 배열이름 = new 데이터형[행][열];
2차원 배열의 경우 블록 괄호 '{ }'를 2중으로 겹쳐서
2차원 배열을 표현한다.
행과 열의 구분에는 콤마(,)가 사용된다.
컴파일러가 블록괄호'{ }'의 요소를 파악하면 행, 열의
크기가 산출 될 수 있으므로 배열의 크기 설정을 위한 [ ][ ]에는
배열의 크기를 명시하지 않는다.
데이터형[][]배열이름 = new 데이터형[][]{
{0행 0열의 값, 0행 1열의 값, ..., 0행 n열의 값},
{1행 0열의 값, 1행 1열의 값, ..., 1행 n열의 값},
...
{n행 0열의 값, n행 1열의 값, ..., n행 n열의 값},
};
배열이름[행][열] = 값;
1차 배열의 길이는 2차 배열에서는 행의 크기로 조회된다.
int rows = grade.length;
열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.
int cols = grade[행].length; // 행을 미리 명시해 주는 방식
특정 기능(=연산)을 그룹화 해서 재사용하기 위한 단위
public static void 메서드이름()
{
.... 수행할 연산식...
}
정의된 메서드는 다른 메서드를 구성하는 {....}안에서 다음의 형식으로 사용될 수 있으며, 이를 메서드 호출이라고 한다.
메서드이름();
java프로그램의 메서드는 자신이 실행되는데 필요한 조건값을 메서드 이름 뒤의 괄호안에서 변수형태로 선언한다. 이를 메서드 파라미터라고 한다.
pubilc static void 메서드 이름( 변수형 변수 이름 ){
}
메서드가 연산을 수행하는데 두 개 이상의 파라미터가 필요하다면 콤마(,)로 구분하여 선언 할 수 있다.
pubilc static void 메서드 이름( 변수형 변수 이름, 변수형 변수 이름, ...){
}
메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야한다.
public static void 메서드이름(변수형 변수이름, 변수형 변수이름(){....};
메서드이름(값1, 값2);
메서드의 리턴값
메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴"이라고 하며, 반환되는 값을 "리턴 값"이라고 한다.
메서드 안에서 값을 리턴하기 위해서는 'return'이라는 키워드가 사용된다.
값을 리턴하는 메서드는 선언시에 "void"키워드 대신, 리턴하는 값에 대한 변수형이 명시된다. void는 리턴값이 없다는 것이다.
public static 리턴형 메서드 이름(변수형 파라미터1, 변수형 파라미터 2, ...){
....
return 리턴값;
}
JAVA메서드 역시 서로 호출하는 것이 가능하다. 호출된 메서드가 값을 리턴하는 경우, 리턴받은 값을 다른 연산자에 사용할 수 있다.