int num= 100; if (num ==100){ system.out.println(num); }
// 사용가능
int num = 100; for(int i =0; i<10; 1++){ 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++){ ... } // i가 for문을 위한 괄호 안에서 사용되었으므로 사용 불가 system.out.println(i);
블록안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의
변수와는 이름만 동일할 뿐, 다른 값으로 인식된다.
사용 가능 예
int target = 100; if( target == 100){ int num = target + 100; }else { int num = target = 100; }
변수를 그룹으로 묵은 형태의 한 종류로서, 사물함 같은 형태를 갖고있다.
하나의 배열안에는 같은 종류(데이터 형)의 값들만 저장 될 수 있다.
데이터형[ ] 배열이름;
배열의 생성 : 변수를 저장할 수 있는 사물함을 생성된다.
배열이름 = new 데이터형[크기];
배열 생성의 예 : 3개의 int형 변수를 저장할 수 있는 배열 생성
int[ ]grade; grade = new int[3];
데이터형 [ ] 배열이름 = new 데이터형 [크기];
int [ ] grade = new int[3];
배열은 값을 저장할 수 있는 공간일 뿐, 그 자체가 값은 아니다.
값이 대입되지 않는 경우, 숫자형은 0, boolean 형은 false가 자동으로 대입된다.
배열안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에 직접 값을
대입해야한다.
배열이름[인덱스] = 값;
둘리의 점수를 배열로 표현
int[ ]grade = new int[3]; grade[0] = 75; grade[1] = 82; grade[2] = 91;
데이터형 [ ] 배열이름 = new 데이터형 [ ] {75, 82, 91};
혹은
데이터형 [ ] 배열이름 = {75, 82, 91};
system.out.println( grade[0]);
system.out.println( grade[1]);
system.out.println( grade[2]);
배열의 특성
-> 0~ (배열의 크기 -1) 만큼의 인덱스 값을 순차적으로 갖는다.
// 배열의 인덱스는 0부터
전체 길이 3보다 작은 2가지이다.
int[ ] grade = new int[ ] {100,100,90};
=
for( int i = 0; i<3; i++ ) { system.out.println( grade[ i ]); }
배열의 길이를 얻기 위해서는 "배열이름.length" 형식으로 접근한다.
grade 라는 배열을 생성한 경우 배열의 길이
int size = grade.length;
int[ ] grade = new int[ ] {100,100,90, 80}; for( int i = 0; i<grade.length; i++ ) { system.out.println( grade[ i ]);
}
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열의 값 },
};
2차원 배열에 대한 값의 대입 방법
-> 행,열에 대한 인덱스를 통하여 값을 대입한다.
배열이름 [행][열] = 값;
int rows = grade.length;
-열의길이
-> 열의 길이는 각 행에 대해서 개별적으로 조회해야 한다.
int cols = grade[행].length;