일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 페이지 재사용
- Git
- live server 환경설정
- 국민취업지원제도
- 정처기
- jdbc환경설정
- 입력메소드
- 비밀번호암호화
- emmet환경설정
- jdbc설정
- 배열
- 내배카
- 인코딩
- 페이징
- mvc
- 회원정보수정
- github
- 국취제
- 비밀번호변경
- 내일배움카드
- 검색기능
- redirect
- 권한변경
- 로그아웃
- 국비학원
- 별찍기
- 관리자회원조회
- forward
- jsp기본
- 회원탈퇴
- Today
- Total
기록
*8일차 본문
@배열
변수 : 값하나를 보관
배열 : 값 여러개를 보관
배열은 0부터 시작
1.배열선언 : stack영역에 변수(공간)을 생성
2.배열할당 : heap영역 배열을 실제 생성하고 그 주소값을 stack영역의 변수에 대입
3.사용 : 변수와 인덱스를 이용해서 값대입하거나 사용
int []은 참조형 변수 : 배열객체의 주소값 보관
int ≠ int [ 4byte]
//1.배열변수 arr 선언
//주소값 없으면 null
int[] arr;
//2. 배열 할당
//heap영역은 "주소값으로만" 참조할수 있다.
//heap영역에 3개를 담을수 있는 공간을 할당
//주소값을 arr에 대입
arr = new int[3]
//타입별 기본값 : 타입별 0에 해당하는 값(ex. int 0 , double 0.0 , char' ')
//call stack영역과 달리 heap,static영역의 변수공간은 타입별 기본값으로 초기화됨
//3.배열값 대입
arr[0]=10
arr[1]=20
arr[2]=30
arr[3]=40
//4.배열사용
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
/**
* 관리할 데이터의 규칙이 있다면, 값 대입도 반복문 사용
*
*/
public void test3() {
//배열변수선언 및 할당
char[] alphabet = new char[26];
for(int i = 0 ; i<alphabet.length; i++) {
alphabet[i] = (char)('A'+i);
}
//foreach : 향상된 for문
// 하나의 요소를 담은 변수 : 반복접근할 배열
for(char ch : alphabet) {
System.out.println(ch);
}
인덱스 사용X
}
*배열 초기화 : 배열 생성 및 할당, 요소별 값세팅 한번에 처리
** foreach문
for(배열요소를 담을 변수선언 : 반복접근할 객체) {
//요소의 개수만큼만 반복
}
*String[] 참조형 타입의 기본값은 null
*배열 크기는 변경 불가
*배열(객체)의 삭제는 주소값을 null로 변경 → Garbage Collerctor
*hashCode : 객체를 관리하기 위한 고유값 key
@배열 복사
1.얕은 복사
: 참조 주소값만 복사. heap의 배열객체 공유
2.깊은 복사
: 동일한 값을 가진 배열객체를 heap에 하나 더 생성 → 주소값 다름 (다른 객체인것)
a.직접복사
b.System.arraycopy
c.clone