BEDAY 09
가변배열 (ragged array: column)
(열)의 개수가 일정하지 않은 배열
가변 배열 선언 방법: 행의 개수만 지정을 하고, 열의 개수는 비워둠
열(column)이 몇 개가 될 지 모르기 때문에 메모리 할당이 되지 않습니다.
ex)
int [][] arr;
arr = new int[3][];
arr[0] = new int[1];
arr[1] = new int[2];
arr[2] = new int[3];
Enhanced for (향상된 for) 문
for (배열타입 변수 : 배열이름) { ... }
ex)
int [] arr ={11, 22, 33, 44, 55};
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
↕↕↕↕둘의 결과가 같음↕↕↕↕
for(int x : arr) {
System.out.print(x+ " ");
}
System.out.println();
ex) 이름이 arry인 2차원 배열 출력
for(int[] row : array){
for(int x : row) {
System.out.println(x + " ");
}
System.out.println();
}
* for와 enhanced for의 차이점
enhanced for문에서는 배열의 원소를 꺼내서
변수에 복사(저장)해서 사용하는 것입니다.
즉, 배열의 원소를 직접 변경하는 것은 불가능하다.
java.util.Arrays 클래스
배열을 다루는 유용한 메소드들 제공
Arrays.toString() : 문자열 형태로 리턴
Arrays.copyOf(원본배열, 복사할 length)
Arrays.copyOfRange(원본배열, from, to))
Arrays.fill() : 배열에 특정 값으로 채우기
Arrys.sort(원본배열) : 오름차순 변경
Arrays.asList() : array -> List 로
메소드 (Method):
반복되는 코드, 내용, 재사용해야할 코드들을 한 뭉치로 묶어서
따로 메소드로 만들은 다음(정의) 이를 필요할때마다 사용(호출)한다.
메소드 정의:
메소드는 main 메소드 바깥에서!!, class 안에서 정의!!
메소드 정의구문:
수식어 리턴타입 메소드이름(매개변수, ...) { ... }
modifier return_type method_name(parameter, ...) { ... }
수식어(modifier) : public, static, private, ... (생략 가능)
매개변수 (parameter) : 메소드 호출시 넘겨주는 값.
리턴타입 (return type) : 메소드 종료후 호출한 쪽에 돌려주는 값
void, int, double, String ...
(리턴타입 void의 의미는 되돌려주는 값(return 값)이 없다는 의미)
메소드 signature 란?:
메소드 이름 + 매개변수 리스트 (매개변수 타입, 순서, 개수)
sayAge(int)
sayHello3(String, int)
return 의 의미
1. 메소드를 호출한 곳으로 값을 리턴한다.
2. 메소드 종료
3. 메소드 정의시 명시한 리턴타입의 값이 '반드시' 리턴되어야 한다
(혹은 리턴타입으로 형변환 가능한 값이)
'Language > JAVA1' 카테고리의 다른 글
| [JAVA 10] 문자열 메소드, 정규표현식 (0) | 2022.01.31 |
|---|---|
| JAVA 09 (메소드 오버로딩, 재귀 함수, 호출) (0) | 2022.01.31 |
| 369 게임 (반복문) (0) | 2022.01.27 |
| JAVA07 (0) | 2022.01.27 |
| JAVA06 (0) | 2022.01.21 |