-----------------------------------------------------------------------------------
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]);
}
}
'1. JAVA > 4). 자바_실전_이클립스' 카테고리의 다른 글
자바실전_Day_10_04(배열응용_03) (0) | 2024.01.12 |
---|---|
자바실전_Day_10_02(배열응용_01) (0) | 2024.01.12 |
자바실전_Day_09_07(가위바위보) (1) | 2024.01.11 |
자바실전_Day_09_06(프린트만들기_02) (1) | 2024.01.11 |
자바실전_Day_09_05(프린트만들기_01) (0) | 2024.01.11 |