자바 char 배열 초기화 - jaba char baeyeol chogihwa

Java에서 배열 생성시 초기화 값


참조변수 배열 - Null 로 초기화

byte / short / int / long  배열  -  0 으로 초기화

float / double 배열  -  0.0 으로 초기화

boolean 배열    -    false로 초기화

char 배열    -    null ('\u0000) 으로 초기화


공유하기

게시글 관리

구독하기Programo90 코딩 기록저장소

저작자표시

'Java' 카테고리의 다른 글

추상클래스(Abstract class)와 인터페이스(Interface)  (0)2020.10.24List.subList() 함수의 유의점  (0)2020.09.19java String의 정렬, String에 숫자가 포함되어 있다면?  (0)2020.08.12특수 문자 출력  (0)2020.08.10

int[] scores = { 10, 20, 30, 40, 50}; for (int i = 0; i < scores.length; i++) System.out.println(scores[i]+ " ");

결과값: 10 20 30 40 50

String[] toppings = {"Pepperoni", "Mushrooms", "Onions", "Sausage", "Bacon"}; for (int i = 0; i < toppings.length; i++) System.out.print(toppings[i] + " ");

결과값: Pepperoni Mushrooms Onions Sausage Bacon

3) Arrays클래스의 fill메소드 이용

-import java.util.*; 을 임포트 해준다.

-public static void fill​(int[] a, int val)

int[] arr=new int[4]; for(int i: arr) System.out.print(i); //default 값으로 초기화 System.out.print(""); Arrays.fill(arr,1); //특정 값으로 초기화 for(int i: arr) System.out.print(i);

결과값: 0000 1111 //1로 모두 한 번에 초기화 되었다.

배열 출력

배열 출력하기

1)일반적인 for문

int[] numbers = {10, 20, 30}; for (int i = 0; i < 3; i++) System.out.print(numbers[i] + " ");

2)for-each문

-반드시 "첫 번째 요소부터 마지막 배열 요소까지" 차례대로 대입된다.

-배열의 크기를 몰라도 된다

-인덱스 변수를 생성할 필요가 없다 => for-each문의 i는 인덱스가 아니다!!! 배열 요소의 "type(형)" 을 객체화 한 것을 말한다!!!

int형 배열이기 때문에, numbers 배열 안의 요소는 모두 int형으로 구성되어있다. 그 각각을 i 라는 이름을 붙여 객체화 한 것이다. 그리고 그 객체를 처음부터 차례로 출력한다는 의미이다.

int[] numbers = {10, 20, 30}; for (int i : numbers) System.out.print(i+ " ");

부적합한 경우

-배열 요소의 값을 변경할 때

-역순으로 배열을 처리할 때

-전체가 아닌 일부 요소를 처리할 때

-하나의 반복 루프에서 두 개 이상의 배열을 처리할 경우

3)Arrays 클래스 이용

Arrays클래스의toString() 메소드를 이용한다.

-import java.util.*; 을 임포트 해준다.

-출력 모양에 차이가 있다.

int[] numbers = {10, 20, 30}; System.out.println(Arrays.toString(numbers));

결과: [10, 20, 30]

배열 길이 & 크기(사이즈)

int[] arr=new int[4]; for(int i: arr) System.out.print(i); System.out.println(""); System.out.println(arr.length); //배열 길이

결과값 0000 4

자바에서는 배열의 사이즈에 변수값을 쓸 수 있다. (c와 다른 점)

package arr; import java.util.*; public class arr { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int total = 0; int SIZE; System.out.print("정수의 개수:"); SIZE = sc.nextInt(); int [] arr = new int[SIZE]; for (int j = 0; j < SIZE; j++) arr[j] = sc.nextInt(); for (int i : arr) total += i; System.out.println("평균은 " + total/SIZE); }

배열이란 동일한 자료형으로 선언된 데이터 공간을 메모리 상에 연속적으로 나열하여 데이터 관리의 효율성을 높이는 것입니다. 변수는 한개의 데이터만 저장할 수 있습니다. 따라서 저장해야 할 데이터의 수가 많아지면 그만큼 많은 양의 변수를 선언해줘야하는 비효율성이 발생하죠. 그렇기에 좀 더 효율적인 방법이 필요한데 이것이 배열입니다. 배열은 같은 타입의 데이터를 연속된 공간에 나열시키고 각 데이터에 인덱스(index)를 부여해 놓은 자료구조입니다.

 

 여러가지 배열 선언 

//int 타입 배열 선언 int[] i_array; int i_array[]; //배열 생성후 초기화하면 배열의 주소가 할당된다. int[] i_array = new int[8]; //초기값 0 String[] s_array = new String[8]; //초기값 "" //배열 선언만 해놓고 나중에 초기화를 시킬수도 있다. int[] i_array; i_array = new array[8];

배열을 선언하는 방법은 두가지 방법으로 나눌 수 있습니다.

타입 [] 변수;

타입 변수[];

대괄호는 [] 배열 변수를 선언하는 기호로 사용되는데 타입 뒤에 붙을 수도 있고 변수 뒤에 붙을 수도 있습니다. 

 

배열을 선언하면 크기를 할당하면 위와 같은 배열의 index가 부여됩니다.

 

배열 변수는 참조변수에 속합니다. 배열도 객체이므로 힙 영역에 생성되고 배열 변수는 힙영역의 배열 객체를 참조하게 됩니다. 따라서 new를 해주지 않으면 해당 배열은 null값을 가지며 null값을 가진 상태에서 배열을 활용하려고 하면 NullPointerException이 발생합니다. 아마 배열을 사용하기 시작하면 많이 보시는 에러메시지일텐데요. NullPointerException이 뜨면 1차적으로 배열의 index값이 제대로 있는지부터 제대로 확인하셔야 합니다.

 

객체배열 사용법

//길이가 8인 자동차 객체배열 선언 Car [] car = new Car[8]; // 각 배열에는 아직 NULL값만 존재한다. System.out.println(car[0]); //배열안의 자동차클래스를 초기화시켜주어야한다. for(int i=0;i<car.length;i++) { car[i] = new Car(); } //배열에 주소값이 제대로 설정된다. System.out.println(car[0]);

객체배열을 사용하실때는 한가지 주의하셔야 하는것이 자바에서는 Array도 초기화를 시켜야 사용이 가능하지만 Object도 초기화를 시켜주어야 사용이 가능합니다. 그렇기에 배열안에 있는 Class를 전부 초기화 시켜주어야 사용이 가능합니다. 그렇지 않고 그냥 사용하게 되면 그 객체배열은 해당 index에 등록된 reference가 없어 NullPointerException에러가 뜰것입니다

 

 여러가지 배열 초기화 

//배열에 특정값 대입하며 선언 int[] i_array = {1,2,3,4,5}; String[] s_array = {"a","b","c","d"}; //배열의 주소를 모두 같은값으로 초기화 Arrays.fill(i_array,1);//i_array의 모든 index값을 1로 초기화 //for문을 통해 값을 대입 for(int i=0;i<i_array.length;i++) { i_array[i]=i; } //foreach문을 통한 배열출력 for(int i:i_array) { System.out.print(i); }

배열을 초기화시키는 방법도 여러가지가 있습니다. 배열에 값을 초기화를 시키면서 선언을 해도 되지만 배열의 크기가 커지면 커질수록 노가다가 되기에 대부분 Arrays.fill을 활용하여 배열을 한번에 초기화시키거나 for문을 통해 초기화를 시킵니다.

Toplist

최신 우편물

태그