※ 변수명 짓는 규칙
- 숫자로 시작 불가
- 특수문자는 _ & 만 가능
- int, class, return 등 키워드는 변수명으로 사용 불가
- 카멜 케이스 ex) getBackGround
※ 클래스명 짓는 규칙
- 명사로 할 것
- 대문자로 시작
- 파스칼케이스 ex) ChocoCookie
※ 메서드명짓는 규칙
- 동사로 할 것
- 소문자로 시작
- 카멜 케이스 ex) getBackGround
■ 원시 자료형(Primitive type) 과 참조 자료형(Reference type):
- 원시자료형 : 변수에 실제 값을 가지는 자료형
- 참조자료형 : 실제 값을 갖는 것이 아닌 데이터가 저장된 메모리의 주소 값을 가지는 자료형
구 분 | 자료형명 | 자 료 형 | 특 징 | 사 용 예 시 |
원시 자료형 |
int | 정수형 | -2147483648 ~ 2147483647 | int a = 0; |
long | -9223372036854 775808 ~ 9223372036854 775807 |
long a = 123; | ||
float | 실수형 | -3.4 *10^38 ~ 3.4*10^38 |
float a = 1.234; | |
double | -1.7*10^308 ~ 1.7*10^308 |
double a = 1.234; | ||
boolean | 불 | True, False | boolean a = true; | |
char | 문자형 | 문자, 아스키코드, 유니코드 (문자로 출력함) |
char a = "d"; | |
참조 자료형 |
String | 문자열 | 원시자료형에 포함되지 않으나, 리터럴표기 가능 |
String a = "Geun"; ★ 자주 쓰는 메서드 - a.equals(b): a와 b가 같은지 (true/false) - a.indexOf("문자열"): a에 특정 문자열이 시작되는 위치값 리턴 - a.contains("문자열): a에 특정 문자열이 포함되는지 - a.charAt(인덱스): 특정 인덱스에 위치한 문자 리턴 - a.replaceAll("문자열1","문자열2"): 문자열1을 문자열2로 바꿈 - a.substring(시작위치,끝위치): 해당위치의 문자값을 뽑아냄 - a.toUpperCase(): 모두 대문자로 변경 - a.split(":"): a의 문자들을 :로 나누어 문자열 배열로 리턴 |
StringBuffer | 문자열 | 문자열 추가하거나 변경할 때 사용 | StringBuffer sb = new StringBuffer(); sb.append("hello"); // sb에 문자열 추가 sb.append(" World"); String result = sb.toString(); // String 자료형으로 변경 ★ 자주 쓰는 메서드 - sb.inesert(인덱스, "문자열"): 원하는위치에 특정문자열 삽입 - sb.substring(시작위치, 끝위치): 해당위치의 문자값 뽑아냄 |
|
type [] | 배열 | - 크기, 순서 O | String[], int[], float[] ... = {1, 2, 3, 4, 5}; ★ 자주 쓰는 메서드 a.length(): 배열의 길이 반 |
|
ArrayList | 리스트 | - 크기, 순서 X - 새로운 값 추가 가능 |
ArrayList<Integer> a = new ArrayList<>() ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1,23,326)) // 선언과 동시에 바로 값 넣을 수도 있음 ★ 자주 쓰는 메서드 a.add(요솟값): 원하는 요솟값 추가 a.get(인덱스): 특정 인덱스 값 추출 a.size(): 요소의 개수 리턴 a.contains(요솟값): 특정 항목이 있는지 판별 a.remove(인덱스): 해당위치 항목 삭제, 그 요솟값 리턴 a.remove(객체): 해당 요솟값을 삭제, true/false리턴 String.join("구분자",리스트명): 해당 리스트에 구분자를 넣어 하나의 문자열로 만듦 a.sort(Comparator.naturalOrder()): 오름차순 정렬 .reverseOrder()): 내림차순 정렬 |
|
HashMap | 맵 | key - value 쌍 | HashMap<String, Integer> a = new HashMap<>() key값 value자료형 ★ 자주 쓰는 메서드 a.put(key값, value값): key와 value 추가 a.get(key값): key에 해당하는 value값 반환 a.getOrDefault(key값,얻을값): key에 해당하는 value값이 없을 때, null대신 얻을값을 반환 a.containsKey(key값): a에 해당 key 있는지 판별(true, false) a.remove(key값): 해당 key의 항목을 삭제하고 value값 리턴 a.size(): a의 요소의 개수 리턴 a.keySet(): 모든 key값을 모아 집합 자료형으로 리턴 |
|
HashSet | 집합 | 중복 X, 순서 X | HashSet a = new HashSet<>() |
■ 리터럴 표기란?
객체를 생성하지 않고 고정된 값을 그대로 대입하는 방식. 원시자료형에서 사용
ex) String a = "Geun's blog"
>> a라는 변수에 "Geun's blog"라는 문자열 값을 그대로 대입
■ 참조자료형에서는?
new키워드를 사용하여 객체 만들어 사용. 객체 중심으로 코드 작성에 유리
ex) String a = new String("Geun's blog")
>> 항상 새로운 String 객체를 만든다.
■ Wrapper 클래스
원시자료형을 객체로 다루기 위해 객체화 시키는 클래스. 객체 지향 프로그래밍의 모든 기능을 활용할 수 있게 한다.
원시자료형 | Wrapper 클래스 |
int | Integer |
long | Long |
double | Double |
float | Float |
boolean | Boolean |
char | Char |
■ 형 변환
(1) 문자열 → 정수
int n = Integer.parseInt(문자열)
*정수 형태로 이루어진 문자열이어야 한다. (실수형태의 문자열은 정수형태로 변환 불가)
(2) 정수 → 문자열
String num = "" + (정수) *정수 앞에 빈 문자열("") 더하기
String num = String.valueOf(정수)
String num = Integer.toString(정수)
(3) 실수 → 정수
int n = (int) (실수) *실수 앞에 (int) 붙임