자신보다 하위 블록으로는 침투할 수 있다.
- 사용 가능 예
int num = 100; if ( num == 100 ) { System.out.println(num); } #----------------------------------------------------------- int num = 100; for ( int i = 0 ; i<10, i++ ) { System.out.println(num + i) }
자신이 선언된 블록 밖으로는 빠져나갈 수 없다.
- 사용 불가능 예
int num = 100; if (num == 100 ) { int result = num + 100; } //변수 result가 if블록 안에서 생성되었으므로 사용 불가 System.out.println(result); #----------------------------------------------------------- for( int i = 0; i<10; i++ ){ ... } System.out.println(i); // 에러 // i가 for문을 위한 괄호 안에서 사용되었으므로 사용 불가
int target=100 if ( target == 100 ) { int num = target + 100; } else { int num = target - 100; }
break
키워드를 만나면 반복을 강제로 종료
증감식
으로 강제이동 데이터 형
)의 값들만 저장될 수 있다. 데이터형[] 배열이름;
배열이름 = new 데이터형[크기];
- 3개의 int형 변수를 저장할 수 있는 배열 생성
int[] grade; grade = new int[3];
- 배열의 선언과 크기 지정에 대한 일괄처리
int[] grade = new int[3];
0
부터 일련번호( = 배열의 인덱스
)가 지정된다. 0
, boolean 형은 false
가 자동으로 대입된다.
예시
int[] grade = new int[3]; grade[0] = 75; grade[1] = 82; grade[2] = 91
{...}
안에 배열에 포함될 각 항목들을 콤마,
로 나열하면, 배열의 생성과 값의 할당을 일괄처리할 수 있다.new 데이터형[]
부분은 생략 가능하다.
예시
// 데이터형[] 배열이름 = new 데이터형[] { 값, 값, 값 ... } int[] grade = new grade[] { 75, 82, 91 } -------- // 데이터형[] 배열이름 = { 값, 값, 값 ... } << new 데이터형[] 생략 int[] grade = { 75, 82, 91 }
인덱스
값을 통해서 데이터에 접근해야 한다.
예시
System.out.print ( grade[0] + "\t" ); System.out.print ( grade[1] + "\t" ); System.out.print ( grade[2] + "\t" ); // [출력결과] 75 82 91
0 ~ ( 배열의 크기 - 1 )
만큼의 인덱스 값을 순차적으로 갖는다.int[] grade = new int[] {100, 100, 90} // 배열의 인덱스는 0부터 전체 길이 3보다 작은 2까지이다. for( int i = 0; i < 3; i++ ){ System.out.println(grade[i]); }
배열이름.length
형식으로 접근한다.
- grade라는 배열을 생성한 경우 배열의 길이
int size = grade.length; # .length 이용 for문 예시 ------------------------------------ int[] grade = new int[] {100, 100, 90} for( int i = 0; i < grade.length; i++ ){ System.out.println(grade[i]); }
- 앞에서 살펴본 배열처럼 한 줄만 존재하는 사물함처럼 구성된 배열
- 행에 대한 개념이 없고 열에 대한 개념만 존재하기 때문에
배열이름.length
는 몇 칸인지를 알아보는 기능이 된다.
- 1차 배열의 각 칸에 새로운 배열을 넣는 형태
- 1차 배열의 각 칸은 행이 되고, 각각의 칸에 추가된 개별적인 배열이 열의 개념이 되어 행렬을 구성하게 된다.
2차원 배열의 선언
데이터형[][] 배열이름;
2차원 배열의 크기 할당
배열이름 = new 데이터형[행][열];
2차원 배열의 선언과 할당의 일괄처리
데이터형[][] 배열이름 = new 데이터형[행][열];
2차원 배열의 선언, 크기할당, 값의 대입에 대한 일괄 처리
데이터형[][] 배열이름 = new 데이터형[][]{ { 0행0열의 값, 0행1열의 값, ..., 0행n열의 값 }, { 1행0열의 값, 1행1열의 값, ..., 1행n열의 값 }, ... { n행0열의 값, n행1열의 값, ..., n행n열의 값 }, };
- 행, 열에 대한 인덱스를 통하여 값을 대입한다.
배열이름[행][열] = 값;
int [][] grade = new int[3][3];
0 1 2 0 grade[0][0] grade[0][1] grade[0][1] 1 grade[1][0] grade[1][1] grade[1][2] 2 grade[2][0] grade[2][1] grade[2][2]
행
에 대한 측면과 열
에 대한 측면을 나누어서 생각해야 한다.
- 1차원 배열에서의 길이는 2차원 배열에서는
행
의 길이로 조회
int rows = grade.length;
- 열의 길이는 각 행에 대해서 개별적으로 조회해야 한다.
int cols = grade[행].length;