변수 타입
- 기본 타입 변수 : 실제 값을 변수 안에 저장
- 참조 타입 변수 : 주소를 통해 객체 참조, 동일한 객체를 참조하는지 다른 객체를 참조하는지 조사
참조 변수의 ==, !=
- 기본 타입(byte, char, short, int, long, float, double, boolean)일 때 : 변수의 값이 같은지 다른지 조사
- 참조 타입(배열, 열거, 클래스, 인터페이스) : 동일한 객체를 참조하는지 다른 객체를 참조하는지 조사
null, NullpointerException
- null : 변수가 참조하는 객체가 없을 경우 초기값으로 사용 가능, null로 초기화된 참조 변수는 스택 영역 생성
참조 타입의 변수에만 저장 가능
- NullPointerException : 참조 변수가 null 값을 가지고 있을 때 : 객체의 필드나 메소드를 사용하려고 했을 때 발생
배열
- 같은 타입의 데이터를 연속된 메모리에 저장하는 구조.
- 각 데이터 저장 위치는 인덱스로 접근
- 배열 이름 : 배열의 시작 주소
- 중복된 변수 선언 줄이기 위해 사용
- 반복문 이용해 요소들을 쉽게 처리
- 배열의 요소는 각괄호[ ] 안의 인덱스로 구분되며 0부터 시작.
- 배열의 요소의 개수는 '배열명.length'로 얻을 수 있음.
- 배열 생성
new 데이터 타입 [요소 수]; ex ) new int[3]
- 배열 선언(배열 변수 선언), 이때 변수명은 배열의 시작 주소를 저장
데이터 타입[ ] 변수명; or 데이터 타입 변수명 [ ]
- 배열 변수는 참조 변수 , 배열이 생성되기 전에 null 로 초기화 가능
데이터 타입 [ ] 변수 = null; ※ 배열 변수가 null 값을 가진 상태에서 인덱스 못함
배열 선언과 사용
데이터 타입[ ] 배열명 = null;
배열명 = new 데이터 타입 [ 배열의 크기 ] ;
데이터 타입[ ] 배열명 = new 데이터 타입 [ 배열의 크기 ]
int [ ] num; // 배열 선언
num = new int[5] ; // 배열 생성
int [ ] num = new int[5]; // 배열 선언과 동시에 생성
배열 선언시 자료형의 디폴트값
데이터 타입 | 초기화 |
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
float | 0.0f |
double | 0.0 |
char | ' ₩u0000'(null) |
boolean | false |
Object | null |
참조형 | null |
배열 초기화
※ 자바에서는 배열 변수를 선언할 때 배열 크기를 지정 할 수 없다.
int arrayValue[5] ( X )
- 배열 생성과 초기화를 동시에 진행하는 방법
데이터 타입[ ] 배열명 = new 데이터타입[ ] {값1, 값,2, 값3,...};
데이터 타입[ ] 배열명 = {값1, 값2, 값3,...};
배열 복사
- 배열은 한번 생성하면 크기 변경 불가
- 더 많은 저장 공간이 필요하다면 큰 배열을 새로 만들고 이전
- 배열로부터 항목 값들을 복사
배열 복사 방법
- Arrays 클래스 이용
- for 문 이용
public class ArrayCopy{
public static void main(String[ ] args){
int[ ] oldIntArray = { 1, 2, 3};
int[ ] newIntArray = new int [5];
for(int i = 0; i < oldIntArray.length; i++){
newIntArray[i] = oldIntArray[i];
}
for(int i = 0; i < newIntArray.length; i++){
System.out.print(newIntArray[i] + ", ");
}
}
}
- System.arraycopy() 메서드 이용
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length))
src : 원본 배열
srcPos : 원본 배열 본사 시작 인덱스
dest : 새배열
destPos : 새배열 붙여넣기 시작 인덱스
length : 복사 항목수
명령행 매개변수
- 프로그램을 실행할 때 함께 전달하는 정보를 의미.
- java 클래스 ( 문자열0, 문자열1, 문자열2, ... , 문자열 n-1 )
→ String[ ] args = { 문자열0, 문자열1, 문자열2, ..., 문자열 n-1 ) : main() 메서드 호출 시 전달
→ public static void main( String [ ] args) {
...
}
- args는 String 타입의 배열 주소를 가지는 변수인데 이것을 명령행 매개변수라고 함.
'기록하는 중 > JAVA' 카테고리의 다른 글
[Java] 2차원 배열 (0) | 2023.11.28 |
---|---|
[Java] 확장 for 문 (0) | 2023.11.28 |
[Java] 반복문 - for , while, do ~ while, continue, return (0) | 2023.11.21 |
[Java] switch ~ case, break (0) | 2023.11.21 |
[Java] 조건문 - if (0) | 2023.11.21 |