1. JAVA/4). 자바_실전_이클립스

자바실전_Day_10_01(배열예제)

구이제이 2024. 1. 12. 21:22

-----------------------------------------------------------------------------------



1번째 예제

 

//반 학생 3명 - 변수를 아주 많이 선언해야하는 단점

String nameHong = "홍길동";

String nameKim = "김자바";

String nameNam = "남기자";

String name1 = "이가";

int hongKor = 70;

int kimKor = 90;

int namKor = 85;

 

 

//#1.방법1

//#1-1. 배열 공간 확보

int kor =0; //정수형 공간을 변수로 정의한다.

int[] kor2 = new int[3]; //int[3] 3개 공간확보

//new = 힙이라는 영역에 공간만든다.라는뜻 그러므로 ko2r은 주소를 담고있다.

//힙(JVM이 관리하는 창고)

//int[3]; 정수형을 뜻하고 옆에 갯수를 의미한다.

 

//int[3]은 3개를 생성한다.

//kor[0]의,kor[1],kor[2]을 이런것들을 인덱스라 부른다.

 

//힙에는 비어있는 변수나 객체를 만들 수 없다.그래서

//jvm은 공간을 만들고 값이 없으면 기본값으로 초기화를 시켜

//int > 0 , ling > 0L, double > 0.0 float > 0.0f

//boolean > false

//참조형(String....)은 null로 초기화 시켜 줌

 

//#1-2. 배열공간에 값을 담기

kor2[0] = 70;

kor2[1] = 90;

kor2[2] = 85;

 

//#1-3 출력

System.out.println("kor2[0]=" + kor2[0]); //kor2[0] - 주소로 가서 값을 가져온다.

System.out.println("kor2[1]=" + kor2[1]);

System.out.println("kor2[2]=" + kor2[2]);

 

//힙이라는 공간의 특징 : 담겨져있지 않으면 못올린다. 비어있는 것은 힙에다가 못올린다.

//배열에서 힙이라는 공간에 약속상 못올린다. 그러나 배열은 자기가 초기화를 시킨다.

//지역변수는 본인이 초기화시켜야 한다. 힙이라는 영역은 못올리기때문에,

//공간을 생성할때, 0값을 담아둔다.근데 배열은 미리 공간을 확보해야지만, 쓸수 있기 떄문이다.

//정수형은 0을 초기화를 담아두라, 실수:0.0 F0.0f 문자 ""로 초기화 시킨다.

//String은 null로 초기화.

//우리는 눈에는 보이지않지만, 컴퓨터가 그렇게 한다.

 

//new를 붙인녀석들은 jvm이 초기화를 시킨다.초기값준다.

//new는 힙이라는 공간을 쓴다. new아닌것은 스택을 쓴다.

 

 

//배열선언하는 방법1)

int[] kor3 = new int[3]; //int[3] 3개 공간확보

kor3[0] = 70;

kor3[1] = 90;

kor3[2] = 85;

 

//배열선언하는 방법1)

 

int[] kor4 = new int[3]; //int[3] 3개 공간확보

 

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

kor4[i] = 70;

System.out.println("kor4["+i+"]" + kor4[i]);

}

 

 

-----------------------------------------------------------------------------------



2번째 예제

 

 

/*

//#1-1 방법1(배열선언)

int[] kor = new int[3];

kor[0] = 70;

kor[1] = 90;

kor[2] = 85;

*/

 

//#1-2 방법2(배열선언)

int[] kor = new int[] {70,90,85};

//방법1에서는 000 jvm이 자동으로 초기화

//방법2에서는 70,90,85로 초기화, 그리고 갯수까지 3개 설정해주었다.

 

/*

//2배열 값 출력(1)

System.out.println("kor[0]=" + kor[0]);

System.out.println("kor[0]=" + kor[1]);

System.out.println("kor[0]=" + kor[2]);

*/

 

/*

//2-2배열 값 출력(2)

for(int i =0; i<3; i++) {

System.out.println("kor["+i+"]" + kor[i]);

}

*/

 

//2-2배열 값 출력(3)

System.out.println("-------------");

//import java.util.Arrays;

//Arrays.toString(배열의 참조변수) //계산 필요없고 확인할때

System.out.println(Arrays.toString(kor));//문자열로 출력

 

 

 

-----------------------------------------------------------------------------------



3번째 예제

 

 

/*

//#1-1 방법1(배열선언)

int[] kor = new int[3];

kor[0] = 70;

kor[1] = 90;

kor[2] = 85;

*/

 

/*

//#1-2 방법2(배열선언)

int[] kor = new int[] {70,90,85};

//방법1에서는 000 jvm이 자동으로 초기화

//방법2에서는 70,90,85로 초기화, 그리고 갯수까지 3개 설정해주었다.

*/

 

//#1-3 방법3(배열선언)

int[] kor = {70,90,85};

 

 

 

//2배열 값 출력(1)

System.out.println("kor[0]=" + kor[0]);

System.out.println("kor[0]=" + kor[1]);

System.out.println("kor[0]=" + kor[2]);

System.out.println("--------------------------------");

 

for(int i =0; i<3; i++) {

System.out.println("kor["+i+"]" + kor[i]);

}

 

 

 

-----------------------------------------------------------------------------------



4번째 예제

 

 

 

//#1.방법1

//#1-1. 배열 공간 확보

int[] kor2 = new int[50]; //int[3] 3개 공간확보

 

 

//#1-2. 배열공간에 값을 담기

// 배열.lenghth => 배열의 길이

// 문자열.length(); =>문자열의 길이 (배열과 문자열과 차이는 ()괄호의 차이이다)

//Size vs length의 차이 : length는 배열의길이,size는 컬렉션프레임워크 타입의 길이를 의미한다.

//kor.length에서 .(점)이라는 의미는 ★kor이 가리키는 곳에 가서★ 이 공간들의 개수를 새라

 

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

kor2[i] = (i+1)*10;

}

 

//#1-3 출력

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

System.out.println("kor2["+i+"]" + kor2[i]);

}

 

 

 

-----------------------------------------------------------------------------------



4번째 예제

 

 

 

int[][] scores = new int[2][3];

 

scores[0][0] = 10;

scores[0][1] = 20;

scores[0][2] = 30;

 

scores[1][0] = 40;

scores[1][1] = 50;

scores[1][2] = 60;

 

 

//#3. 내용 출력

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

for(int j=0; j<scores[i].length; j++) {

System.out.println(scores[i][j]);

}

}