본문 바로가기
혼자서 개발새발

배열(Array)에 대해서 알아보다

by 휴일이 2022. 9. 2.

자바의 정석 기초 2권을 반 이상 따라쳤다

코드를 따라 칠 때 "Array"라는 단어가 참 많이 나와서

Array를 검색해보았다

 

Array는 배열이다

간단히 말하면 변수에 여러가지 값을 넣을 수 있는 기능인 모양이다..??

 

int[] name = {};

String[] name = {};

이런 식으로 자료형 옆에 []를 쓰고, 중괄호 안에 값을 넣어주면 된다

 

		int[] birthday = {1,9,9,5,0,6,1,0}; // 01234567
		String[] name = {"holiday", "hyuil", "HOLIDAY", "Holiday"}; // 0123

 

이런 식으로 써주면 된다 // 주석에는 갯수를 적어놨당

 

 

그렇다면, 이것들을 어떻게 꺼내올 수 있을까?

 

 

		int[] birthday = {1,9,9,5,0,6,1,0}; // 01234567
		String[] name = {"holiday", "hyuil", "HOLIDAY", "Holiday"}; // 0123
		
		System.out.println(name[3]);
		System.out.println(birthday[2]);

 

name의 0123번째 값을 가져와주세요 : name[3]

birthday의 012번째 값을 가져와주세요 : birthday[2]

 

결과값!

 

 

 

이걸 다른 식으로 가져올 순 없을까?해서

다르게도 불러와보았다

 

 

		int[] birthday = {1,9,9,5,0,6,1,0}; // 01234567
		String[] name = {"holiday", "hyuil", "HOLIDAY", "Holiday"}; // 0123
		
		System.out.println(name);

 

name을 불러오면 name에 있는 단어(값) 전부를 출력할 수 있지 않을까?

 

띠용...왜 이런 결과가?

책에서

import java.lang.어쩌구;

하는 문구를 본 적 있는 거 같아서

코드 맨 윗줄에

import java.lang.*;

import java.lang.String;

두 가지를 번갈아 써보았다

 

결과는 똑같네용

 

 

검색해보니

배열에 있는 값을 전부 출력하려면

for 문을 사용해야하는 모양이다

(점프 투 자바 최고!)

 

그러면 코드를 수정해보자

 

int[] birthday = {1,9,9,5,0,6,1,0}; // 01234567
		String[] name = {"holiday", "hyuil", "HOLIDAY", "Holiday"}; // 0123
		
		for (int i=0; i<birthday.length; i++) {
			System.out.println(birthday[i]);
		}
		
		for (int a=0; a<name.length; a++) {
			System.out.println(name[a]);
		}

 

int i=0; i라는 변수를 생성한다. 0은 거들뿐

i<birthday.length; i는 birthday에 저장된 배열의 수보다 작다?? 인듯?(정확히는 모르겠네 ㅠ)

i++; i는 1씩 더해진다

birthday[i] 변수i에 저장된 birthday의 값을 전부 꺼내와!

 

그렇다면 결과는?

 

짜잔 ㅎㅎ

 

for 문으로 불러올 수 있는데....

아직 조건문 이런 건 잘 몰라서;;ㅎㅎ

대충 이런 건가 보다~

 

 

이런 식은 언제 활용할 수 있지 않을까?

 

식당에서 몇 번 손님 들어오세요~ 할 때?

제비뽑기로 몇 번째 손님 당첨! 할 때?

아니면 배열에 로그인 한 사용자를 그때그때 모아놓고

몇번째 사용자 나오셈! 해서 그 사람을 불러올 수도 있으려나?

 

모르는 건 아빠찬스를 써줘야지!!

 

 

이럴 땐 든든한 아빠

 

배열은 참 중요하고 쓸모있는 녀석이었구나~~! ㅎㅎ

역시 사람은 배우고 볼 일이야 ㅎ_ㅎ

 

 

내일은 카페에 가서 자바의 정석 기초편을 마저 타이핑해야겠다!! >_<

728x90