오늘은 자바의 배열에 대해 작성해볼까 합니다 !
주말동안 푹 쉬셨나요 ? 전 주말동안 노느라 정신을 못차렸네요 ...
다시 월요일 한주 시작하는 겸 열심히 작성해볼게요 ~
- 1차원 배열(선형 배열)
《배열》
하나의 이름으로 같은 자료형의 데이타를 여러개 저장할 수 있는 메모리 구조로
메모리가 연속적으로 생김으로 참조형 입니다.
배열선언이란?
int [] arrNum;//int arrNum
//arrNum =10;//[x]데이타 저장 불가함.
EX] arrNum이라는 배열명으로 int형의 배열을 선언하는것으로
arrNum이라는 이름으로 stack영역에 주소를 저장할 수 있는 메모리가 생깁니다.
메모리 할당이란?
실제 값을 저장할 수 있는 메모리를 heap영역에 생성하기 위해
new연산자 사용합니다.
※ new연산자는 실제 데이타를 저장할 메모리를 heap영역에 할당이라는 의미를 뜻합니다.
arrNum = new int[5]; // int[5]에서 5는 배열 크기인 즉 메모리의 갯수를 말한다.
여기서 배열명[숫자]는 배열요소명이라고 하며, [숫자]는 배열 인덱스라고 합니다.
배열에서 인덱스는 항상 0부터 시작하며 배열요소명은 변수처럼 사용할수 있습니다
예제를 보면 ?
arrNum = new int[5];//값을 할당하기 전
for(int i=0;i<5;i++){
System.out.printf("arrNum[%d] : %d%n",i,arrNum[i]);
}
//출력값
arrNum[0] : 0
arrNum[1] : 0
arrNum[2] : 0
arrNum[3] : 0
arrNum[4] : 0
/////////////////////////////////////////////////////////
arrNum[0] : 10 //배열 초기화]메모리 생성후 값 최초로 할당함
arrNum[1] : 20
arrNum[2] : 30
arrNum[3] : 40
arrNum[4] : 50
//값을 할당하기 후
for(int i=0;i<5;i++){
System.out.printf("arrNum[%d] : %d%n",i,arrNum[i]);
}
//출력값
arrNum[0] : 10
arrNum[1] : 20
arrNum[2] : 30
arrNum[3] : 40
arrNum[4] : 50
이렇게 메모리 생성후 값을 할당해서 하는 방법도 있습니다 !
저는 배우기도 하며 복습차원이니 다른 방법도 보여드리겠습니다 !
//배열의 크기 = 배열명.length
for(int i=0; i < arrNum.length;i++){
if(i==arrNum.length-1) //배열에서 마지막 요소의 인덱스는 항상(길이 -1)입니다
System.out.printf("arrNum[%d] : %d",i,arrNum[i]);
else
System.out.printf("arrNum[%d] : %d,",i,arrNum[i]);
}
//출력값
arrNum[0] : 10,arrNum[1] : 20,arrNum[2] : 30,arrNum[3] : 40,arrNum[4] : 50
length를 이용해 배열의 크기를 바로 알수 있음으로
간단하게 나타낼수 있습니다.
《string형 배열과 boolean형 배열》
String strArray[] = new String[2];
System.out.println("\r\n"+strArray);
//출력값은 strArray의 주소값이 나온다.
////////////////////////////////////////////////
String strArray[] = new String[2];//배열 선언과 동시에 메모리 할당
strArray[1] = "민국";
strArray[0] = "대한";
for(int i=0;i<strArray.length;i++){//순서 배열
System.out.printf("strArray[%d] : %s%n",i,strArray[i]);
}
//출력값
strArray[0] = "대한";
strArray[1] = "민국";
for(int i=0;i < strArray.length;i++) {
System.out.printf("%-"+(strArray[i].length()+1)+"s",strArray[i]);//+1은 공백을 위해 더해줌
}
//출력값
대한 민국
String형 배열은 이렇게 복습
//{} 배열 초기화자만 사용
//boolean[] blArr = {true, 3>2, 3>2 && 5<3, false};//{}를 배열 초기화자라고 함
boolean[] blArr;//boolean형 배열 선언
boolean[] blArr = {true, 3>2, 3>2 && 5<3, false}
for(int i=0;i < blArr.length;i++) {
System.out.printf("blArr[%d]:%b%n",i,blArr[i]);
}
boolean형 배열은 이런식으로 복습차원으로 적어봤습니다
오늘도 문제를 드릴까 하는데 블로그에 들리신분들은 풀어보세용 🫡🫡🫡
//문]일차원 배열을 크기 순서대로 재 배치후 출력하자.(내림차순으로)
int [] num = {100,90,65,45,1999,68,923,36,12,100000}
오늘의 복습 여기까지 하고
저는 내일 2차원 배열로 또 쓰러 올게요 ~~~
'IT의 다이어리 > JAVA' 카테고리의 다른 글
Java의 2차원 배열 (0) | 2024.11.27 |
---|---|
Java의 Switch문과 while문 (0) | 2024.11.22 |
Java의 IF else문과 For문 (1) | 2024.11.20 |
JAVA의 할당연산자와 IF문 조건식 (0) | 2024.11.19 |
Java의 Escape 문자& 연산자 (3) | 2024.11.18 |