728x90
반응형
배열 선언 및 초기화 규칙
int[] arr = new int[]{1,2,3,4,5}; // O 선언 및 명시적인 초기화
int[] arr = new int[5]{1,2,3,4,5}; // X 오류!!!
int[] arr = {1,2,3,4,5}; // O new int[] 생략, 컴파일러가 인식하고 자동으로 new int[]추가해줌
int[] arr;
arr = {1,2,3,4,5}; // X 오류!!! 선언후에 초기화시 반드시 new int[]추가해줘야함 컴파일러가 인식못함
int[] arr;
arr = new int[]{1,2,3,4,5}; // O
- 배열을 선언하면 개수만큼 메모리가 할당되지만, 실제 요소(데이타)가 없는 경우도 있음
- 배열의 length 속성은 배열의 개수를 반환해주기 때문에 요소의 개수와는 다름
- length를 활용하여 오류가 나는 경우
< 전 >
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1;
double mtotal = 1;
for(int i = 0; i< dArr.length; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal);
728x90
< 후 >
(1) 배열요소에 값이 있는만큼 count갯수로 카운트
double[] dArr = new double[5];
int count = 0;
dArr[0] = 1.1; count++;
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
double mtotal = 1;
for(int i = 0; i< count; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal);
(2) null체크해서 요소에 값있는것만 계산
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1;
double mtotal = 1;
for(int i = 0; i< dArr.length; i++) {
if(dArr[i] == 0.0) {
continue;
}
mtotal *= dArr[i];
}
System.out.println(mtotal);
728x90
반응형
'백엔드' 카테고리의 다른 글
[java] 배열복사, 얕은복사, 깊은복사 (0) | 2025.03.03 |
---|---|
[패턴] 싱글톤 패턴 (Singleton pattern) (0) | 2025.03.03 |
[java] 변수의 유효 범위와 메모리 (1) | 2025.03.02 |
[JSP] 스크립트릿(<% %>) 과 선언(<%! %>) 차이 (0) | 2024.10.16 |
[java] this, heap, stack메모리 (0) | 2024.08.03 |