
자바 배열 초기화 하는 방법
JAVA를 사용하면서 배열 초기화를 진행하지 않으면 java.lang.NullPointerException 에러메세지를 만나게 된다. 제대로 된 배열 초기화가 진행되지 않았기 때문에, 배열의 인자에 접근이 불가능한게 가장 큰 원인이다. 배열 초기화를 진행하기 위해서는 new 키워드를 사용해줘야 한다.
아래 예시를 보면 최초 배열 초기화를 진행해주지 않았기 때문에 NullPointerException 에러가 발생한다.
public class ArrayTest {
public static int[][] testArray;
public static void main(String[] args){
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
System.out.println(testArray[i][j]);
}
}
}
}
아래 예시에서는 new int[][]; 형식으로 2차 배열을 초기화 해주고 있다. 배열의 크기는 [세로][가로] 순서로 인자를 입력하여 배열의 크기를 지정해주면 된다. 초기화된 배열의 인자들이 가지는 초기값은 '0' 이다. 아래 예시의 결과값은 다음과 같다.
public class ArrayTest {
public static int[][] testArray;
public static void main(String[] args){
testArray = new int[100][100];
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
System.out.print(testArray[i][j]);
}
System.out.println();
}
}
}
결과
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
boolean 타입 배열 초기화
만약 int 형 배열이 아닌 boolean 타입 배열은 선언하고자 한다면 배열의 선언 타입만 변경해주면된다. boolean 타입 배열의 초기값은 false가 할당된다.
/*
Owner : Developer Blog
Title : 2차 배열 초기화
Date : 2022-03-22
*/
public class ArrayTest {
public static boolean[][] testArray;
public static void main(String[] args){
testArray = new boolean[100][100];
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
System.out.print(testArray[i][j]+" ");
}
System.out.println();
}
}
}
결과
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
false false false false false false false false false false
만약 NullPointerException 에러를 만났다면 90% 이상은 배열 초기화를 진행하지 않아서 찾을 수 없는 인자값을 참조하려고 시도할 때 발생한다는 점 잊지말자.
당신을 위한 콘텐츠
JAVA StringBuilder란? StringBuffer란? 차이점 및 사용하는 이유
String 클래스 한계점 JAVA에서 String 객체를 사용하는 것은 메모리할당 및 해제를 사용한다. String 객체는 불변 객체이기 때문에 두개의 String 객체를 더하게 되면 새로운 String 객체가 탄생하게 된다
incomeplus.tistory.com
JAVA BufferedReader와 BufferedWriter 사용법
Scanner나 System.out.print() 사용해서 입출력을 만들게 되면 메모리에 상당한 부담이 가해지게 된다. 이를 방지하기 위해서 버퍼를 사용해서 입출력 효율을 올릴 수 있다. 데이터 처리양이 많을 때 유
incomeplus.tistory.com
백준 알고리즘 2798번 블랙잭 문제 JAVA
백준 알고리즘 2798번은 모든 경우의 수를 생각하는 브루트 포스 문제다. 자바로 알고리즘을 만들어보자. 입력값은 n과 m이 주어진다. n은 카드의 갯수이며, m은 카드의 조합으로 가장 가까운 수를
incomeplus.tistory.com
'Programming' 카테고리의 다른 글
스프링 부트 SpringBoot 웹 애플리케이션 개발 #2 백엔드 개발 (0) | 2022.03.29 |
---|---|
줌 프로그래밍 만드는 방법 클론 코딩 (0) | 2022.03.29 |
SpringBoot 웹 애플리케이션 개발 #1 프로젝트 시작 (0) | 2022.03.28 |
Kotlin kotlin-android-extentions가 제거된 안드로이드 4.1 XML 객체 선택하는 방법 (0) | 2022.03.09 |
Ubuntu NPM node.js install 설치하기 (0) | 2022.03.08 |
Kotlin null 처리하는 방법 (0) | 2022.03.07 |
댓글