자신에게 친절할 것 :)

Web Developing/Java

[Java] 배열

Tashapark 2024. 4. 2. 19:28
728x90

// 남궁 성의 자바의 정석 듣는 중//

 

- 이름을 하나씩 붙이기 싫어서 배열로 묶고, 해당 변수를 찾을 떄는 참조 변수에게 부여된 []인덱스 번호로 알 수 있음. 

- 저장공간이 많아도 알아서 인덱스 넣기 때문에 이름 안 붙여도 됨. 

- 같은 타입만 가능. 

- 배열은 각 저장공간이 연속적으로 붙어있음. 

 

- 선언과 생성이 다름. 

- 타입[] 변수 이름을 더 선호 

 

- 인덱스는 0부터 시작!!!!!!!!!!!!!

- 인덱스 값을 배열의 요소라고 함

 

//  	int[] score; //배열 선언 (참조변수) 
//		score = new int[5]; // 배열 생성
		
		int[] score = new int[5]; //위에 2개 합쳐서 선언과 생성 동시에 
		score [3] = 100;
		System.out.println(score[0]); //0
		System.out.println(score[1]); //0
		System.out.println(score[2]); //0
		System.out.println(score[3]); //100
		System.out.println(score[4]); //0
		
		int value = score[3];
		System.out.println(value); //100

 

- 희한하게.. 값을 안 넣었는데.. null이 아니라 0을 주네??

 

- 배열은 만들면 실행하는 동안 그 길이를 바꿀 수 없음 

- 왜냐하면, 뒤에 공간이 얼마나 남았는지 알수 없고, 또 공간이 부족할 수도 있기 때문

- 따라서 대체로 더 큰 공간을 만들어서 복사해서 넣어줌. 

- 었쨌든 배열의 길이는 달라질 수 있기 때문에, 걍 .length를 써줄 것.

--> 숫자 수정하고 안 바꿔줘서 index 범위를 벗어났다고 에러가 뜰 수 있음. 그럴 바엔 걍 .length

 

- 2번을 99% 사용함.

- 하나씩 입력하기 귀찮으니깐 {} 써서 입력하면 됨. 

- 만약에 선언과 초기화를 나눠야 한다면 반드시 new int[] 추가 해야 함.

 

- 쟈스와 다르게 배열이 그냥 안 출력됨. 

- 1) for문으로 하나씩 거치게 만들어 주던가 --> 값이 하나씩 그냥 출력

- 2) Arrays.toString() 함수 써서 출력 가능. --> []로 한 번에 출력

- char[]을 예외적으로 변수 명으로도 바로 출력됨. 

 

- float 바꾸는 것 잊지 말것. 

- if문 만들어서 하나씩 비교하는 것. 이게.. 선택정렬이던가..?

 

 

 

728x90
반응형