Published 2020. 3. 26. 23:24
728x90
반응형

단축키

클래스명과 파일명 한꺼번에 변경 (alt + shift + r)

 

배열 call stack과 heap의 특징

특징 1: call stack은 변수명으로 찾을 수 있음

          heap은 변수명으로 찾을 수 X (arr의 주소값으로 heap에서 메모리를 찾아야함)

특징 2: call stack은 기본값 세팅X (값을 반드시 대입해야함)

          heap은 기본값 세팅됨(ex : int[] arr = new int[5]만으로 기본값 세팅o)

 

변수

하나의 값을 보관하는 장소

 

배열

동일한 데이터 타입의 데이터를 담을 수 있는 공간

생성된 배열의 크기는 변경할 수 X (배열의 단점)

ex>

데이터 타입[] 배열이름 = new 데이터타입[index];

 

배열 초기화

배열 선언과 동시에 값을 대입

ex>

int[] arr1 = {1,2,3,4,5,6,7,8,9,10};

int[] arr2 = new int[] {10,20,30};  //이때 배열크기를 명시하면 X

 

toString() 메서드

객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메서드

 >

int[] arr = new int[] {1,2,3};

System.out.println(arr[]);            //객체임에도 "arr[]"을 독단적으로 사용할 수 있는 이유는 .toString이 자동으로 호출되기 때문  

System.out.println(arr.toString[]);

//둘다 같은 결과값 출력

 

Error의 종류

compileError: 자바의 문법을 코드 작성시 어겨서 발생한 오류

runtimeError: 문법상 오류는 없으나 실행했을때 오류가 생기는 것 ex> NullPointerException

 

Copy

Shallow Copy (얕은 복사)

배열의 참조 주소값을 복사

heap 영역의 배열객체는 복사되지 X

>

int[] arr1 = {1,2,3};

int[] arr2 = arr1;

arr[1] = 4;  //전체 배열 [1]의 값이 다 바뀜

 

Deep Copy (깊은 복사)

heap영역의 배열객체가 복사되어 2개가 됨

3가지 방법으로 DeepCopy 가능

1. for문을 이용해 직접 복사

2. System.arraycopy(원본배열이름, 원본배열의 시작인덱스, 도착지배열, 도착지배열의 시작인덱스, 개수) 

   >

  System.arraycopy(arr1, 0, arr2, 0, 3);

3. .clone()

   >

   int[] arr2 = arr1.clone();

 

hashCode

실제 주소를 가리키는 key값

객체마다 고유한 hashCode값을 가짐

ex>

System.out.println(arr1.hashCode());

System.out.println(arr2.hashCode());

//출력 결과에 따라 arr1과 arr2가 가리키는 객체가 같은지 확인 가능

 

.substring() 메서드

=java.lang.String.substring(beginIndex, endIndex) 메서드

문자열에서 특정 부분만 골라낼 때 사용하는 메서드

.substring(start, end)의 값을 지정할때 start 값은 필수이며 end 값이 지정되지 않으면 문자열의 끝까지를 의미함

>

String test = "01234567890";

System.out.println(text.substring(0, 3)+"****"+text.substring(7, 11));  //012****7890 출력

 

행과 열

행 = 가로 = outer loop

열 = 세로 = inner loop

 

★ 출력해보기

>

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

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

        System.out.print("★");

    }

        System.out.println();

}

// 출력결과

// ★★★

// ★★★

반응형

'프로그래밍 > JAVA' 카테고리의 다른 글

03.30(별 출력하기, arguments 입력 받기, 2차원 배열의 초기화)  (0) 2020.03.30
03.27 중첩반복문(구구단과 별 출력하기)  (0) 2020.03.27
03.25  (0) 2020.03.25
03.24  (0) 2020.03.24
03.23  (0) 2020.03.23
복사했습니다!