4.2.2 분기문
(1) 분기문
- continue문: 반복문을 빠져 나가지 않으면서 반복문 실행 도중 다음 반복을 진행
- break 문: 반복문을 완전히 빠져 나갈때 사용. 하나의 반복문만 탈출함
(2) 라벨로 분기하는 경우
- continue 라벨: 중첩 반복에서 바깥의 반복문으로 빠져나갈때 사용
- break 라벤: 라벨이 붙은 반복문을 벗어남. 중첩 반복문을 한 번에 벗어날때 사용
6장 클래스
6.4 메소드
(1) 메소드의 구조
- 반환 타입: 반환할 것이 없으면 void라고 작성, 리턴 타입과 데이터 타입이 같아야함
- 메소드 이름: 중복 불가, 소문자로 시작하는 것 권장. 영어 동사 자주 사용
- 메소드 안의 변수는 '지역 변수'임
(2) 메소드의 호출과 반환
- 메소드를 호출하면 호출된 메소드로 제어가 넘어 갔다가 돌아옴. return 사용하면 메소드 실행 도중에 호출한 메소드로 제어 넘길 수 있음
(3) 오버로딩(overloading)
- 한 클래스 내에서 두 개 이상의 이름이 같은 메소드를 작성할 때 사용함
- 제한 조건: 인자 개수가 서로 다르거나, 인자의 데이터 타입이 서로 다를때 → 두 조건 중 하나만 허용함
5장 참조타입
5.0 JVM이 사용하는 메모리 영역
(1) 메모리 영역의 구분
OS에서 할당받은 메모리 영역(Runtime Data Area)를 세 영역으로 구분할 수 있음
- 메소드 영역 - static: JVM이 시작될 때 생성됨. 로딩된 클래스 바이트 코드 - 클래스 정보, 멤버 변수, static 변수. 객체를 만들지 않아도 사용 가능
- 힙(heap) 영역: JVM이 시작할 때 생성. 객체/배열 저장. 사용되지 않는 객체는 Garbage Collector가 자동 제거.
- JVM 스택: 스레드(thread)별로 생성됨. 메소드 호출할 때마다 Frame을 객체에 추가(push) - 지역 변수, 매개 변수, 레퍼런스 변수 저장, 자동 초기화되지 않음. 메소드 종료하면 Frame 제거(pop)
5.n String
(1) 문자열의 선언과 생성
- 단순 리터럴로 생성(String s = "Hello";): JVM이 리터럴 관리. 응용프로그램내에서 공유됨
- 스트링 객체로 생성(String t = new String("Hello");): 힙에 스트링 객체 생성
(2) 문자열의 비교
- ==과 != 비교 연산자는 두 문자열의 내용을 비교하는 것이 아닌 동일한 객체인지 검사하는 것
- 따라서 문자열 비교 메소드를 사용해야함: .equals(문자열), compareTo(문자열)
(3) 문자열 메소드
메소드 | 설명 |
char charAt(int index) | 지정된 인덱스에 있는 문자값을 반환 |
int indexOf(int ch) | ch 문자가 있는 인덱스 리턴. 없으면 -1 리턴 |
int indexOf(int ch, intfromIndex) | |
String concat(String str) | |
boolean contains(String str) | |
int length() | |
String replace(Charsequence target, Charsequence replacement) | |
String[] split(String regex) | |
String subString(int beginIndex) | |
String toLowerCase() | |
String toUpperCase() | |
String trim() |
(4) + 연산자로 문자열 연결
- + 연산에 문자열이 포함되어 있으면 문자열 연결 연산으로 처리
- + 연산에 객체가 포함되어 있는 경우: 객체.toString()을 호출하여 객체를 문자열로 변환한 후 문자열
- 기본 데이터 타입: 그대로 문자열로 변환한 후에 문자열에 연결
(5) String concat(문자열)을 이용한 문자열 연결
- 기존 String 객체에 연결되지 않고 새로운 스트링 객체를 생성해 리턴함
- String 객체가 생성되면 변경 불가
5.3 배열(Array)
- 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료구조: 배열을 이용하면 한 번에 많은 메모리 공간 선언 가능
- 배열에는 같은 종류의 데이터들이 순차적으로 저장하는 공간: 데이터들이 순차적으로 저장되어서 반복문을 이용해 처리하기에 적합한 자료구조
- 배열 인덱스: 0부터 시작, 마지막 인덱스는 배열의 크기 - 1. 정수 타입만 가능
(1) 배열 기초
- 배열의 선언: 실제는 배열 변수의 선언
- 배열의 선언과 생성: 실제는 배열 변수의 선언과 초기화
- 배열의 선언, 생성 및 초기화
- 배열 원소의 접근: 반드시 배열 생성 후 접근해야함
- 배열의 크기: 배열이 생성될 때 배열의 크기가 결정됨. 배열의 length 필드가 배열의 크기를 나타냄
(2) 배열과 for each 문
- for each문: 배열이나 나열의 각 원소를 순차적으로 접근하는데 유용함
5.4 main() 메소드
'기초' 카테고리의 다른 글
[JAVA] 6 - 생성자, 접근 제한자, 상속 (0) | 2020.05.13 |
---|---|
[JAVA] 5 - 예외처리, 클래스, 메소드 (0) | 2020.05.12 |
[JAVA] 3 - 반복문과 연습 문제 (0) | 2020.05.07 |
[JAVA] 2 - 연산자, 조건문, 반복문 (0) | 2020.05.06 |
[JAVA] 1 - 자바 시작하기 (0) | 2020.05.01 |