본문 바로가기
JAVA/절차지향

배열 array

by SEOKIHOUSE 2023. 3. 9.

 

1) 연관된 데이터를 모아서 관리하기 위해 사용하는 데이터타입

String[]        lolGroup = { "룰루", "티모", "마이", "베인" };

↑데이터타입 / 변수     /   문자열데이터들

classgroup에 담긴 배열은 문자열 데이터타입 형식을 가진 데이터들의 모임

 


 

2) 특정 데이터 가져오고 싶을 때 how?

System.out.println(classGroup[0]); // [0] <- index (색인) //최진혁 (원소) 컴퓨터는 0부터 카운팅

System.out.println(classGroup[1]);

System.out.println(classGroup[2]);

System.out.println(classGroup[3]);


3) 배열 정의하는 새로운 방법

String[] lolGroup = new String[4]; -> 배열을 만들기 위해 new string / [4]-> 4개의 원소로 이루어짐
lolGroup[0] ="룰루";

System.out.println(classGroup.length); //4 --->

---->.length ( 원소의 개수 알아옴) length 값이 몇개 들어있는지가 아니라 배열이 몇개의 값을 수용하는지 (4나옴)
lolGroup[1] ="티모";

System.out.println(classGroup.length); //4
lolGroup[2] ="마이";

System.out.println(classGroup.length); //4
lolGroup[3] ="베인";

System.out.println(classGroup.length); //4



System.out.println(lolGroup[0]); //룰루
System.out.println(lolGroup[1]); //티모
System.out.println(lolGroup[2]); //마이
System.out.println(lolGroup[3]); //베인

 

4) 배열+반복문

String[] lolGroup = { "룰루", "티모", "버섯" };

for (int i = 0; i < lolGroup.length; i++) {

String lolGroup = lolGroup [i];

System.out.println(lolGroup + "가 부활했습니다");

}


5)for-each -- while이 for도출된거처럼 for문과 배열 결합해서 사용하다가 목적에만 사용하기 위해 나온거(간결하게)

String[] lolGroup = {"룰루", "티모", "버섯" };

for (String e : lolGroup ) { // lolGroup 에 담긴 값을 하나씩 꺼내서 변수e에 넣어~

System.out.println(e + "가 부활했습니다");

}


6)배열의 오류와 한계

String[] lolGroup = { "룰루", "티모", "버섯" };

System.out.println(lolGroup[3]);

->>>>>Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

at java_tutorials/renew.arraypractice.arraypractice.main(arraypractice.java:7)

>> 3의 값이 없어서 error~

>>ArrayIndexOutOfBoundsException은 존재하지 않는 인덱스를 사용하려고 했을 때 발생

JavaScript나 Python, PHP와 같은 언어에 익숙한 사람에게는 할지도 모르지만 후자의 언어들은 배열의 크기를 미리 정의하고 사용하지 않는다. 그래서 방법은 자바에는 컬렉션 Collection이라는 기능을 이용하는 것인데이 기능을 이용하면 JavaScript의 배열과 같이 유연하게 배열을 사용할 수 있다고 한다.

-->>나중에 배울겅미~

'JAVA > 절차지향' 카테고리의 다른 글

입출력(io) - String[]args  (0) 2023.03.09
메소드 method~( 함수 function~) +리턴  (0) 2023.03.09
반복문  (0) 2023.03.09
논리 연산자(and or ..)  (0) 2023.03.09
★★★조건문★★★  (0) 2023.03.08