:: Number
- 숫자
- 정수 : int, long (1L)
- 실수 : float(0.1F), double
- 8진수 : 0 으로 시작
- 16진수 : 0x로 시작
+, -, /, *
사칙연산 가능
%
나누기의 나머지 반환
자료형 | 표현범위 |
---|
int | -2147483648 ~ 2147483647 |
long | -9223372036854775808 ~ 9223372036854775807 |
float | -3.4 1038 ~ 3.4 1038 |
double | -1.7 10308 ~ 1.7 10308 |
증감 연산자 ++
, --
++
, --
는 연산자의 위치가 중요하다.
++
: 1만큼 증가
--
: 1만큼 감소
i++
or i--
: 값 참조 후에 증감, 더하거나 뺀 후 다음꺼에 증감
++i
or --i
: 값 참조 전에 증감, 증감된 후 더하고나 뺀다.
:: boolean
- true or false
- 참과 거짓 판단
- 주로 조건문의 판단 기준으로 많이 사용
:: char
- 문자 ( 한글자 )
- 작은 따옴표 사용
'a'
- 문자로 표현 or 아스키코드로 표현 of 유니코드로 표현
:: String
- 문자열
- 큰 따옴표 사용
"apple", "a"
new
는 객체를 만들 때 사용
문자열 내장 메서드
문자열 | 설명 |
---|
equals | 문자열 비교 |
indexOf | 문자열 시작 위치 리턴 |
contains | 포함 여부 |
charAt | 해당 위치의 문자 리턴 |
replaceAll | 문자열 바꾸기 |
substring | 뽑아내기 |
toUpperCase | 대문자로 |
split | 나누기 |
equals
: 두 개의 문자열 동일한지 비교
==
: 동일한 객체인지 판별할 때 사용
equals
: 문자열 값 비교할 때 사용
indexOf
: 특정 문자열 시작되는 위치 리턴a.indexOf("Java")
contains
: 특정 문자열 포함 여부 리턴a.contains("Java")
charAt
: 특정 위치의 문자(char) 리턴
- 어떤 문자가 있는지 알고 싶은 위치를 적어야 함
a.charAt(6)
replaceAll
: 문자열 바꾸기a.replaceAll("뭐바꿀래", "이걸로바꿔")
substring
: 특정 부분 뽑아내기a.substring(시작위치, 끝의 하나 뒤 위치)
toUpperCase
: 모두 대문자로 변경a.toUpperCase()
split
: 특정 구분자로 나누기a.split(" ")
문자열 포매팅
:: StringBuffer
- 문자열 추가 or 변경시 사용
append
: 문자열 추가
toString()
: String 자료형으로 변경
insert
: 해당 위치에 문자열 삽입sb.insert(넣을 위치, "넣을 문자열");
substring
: 뽑아내기
- StringBuffer는 문자열 변경 작업이 많은 경우 사용
- 멀티스레드 환경에서 안전
cf. StringBuilder
StringBuffer보다 우수한 성능
동기화 고려할 필요 없을 땐 StringBuilder 사용이 유리StringBuffer sb = new StringBuffer();
sb.append("hello");
String result = sb.toString();
System.out.println(result);
:: Array
- 배열
- 자료형의 종류가 아닌 자료형의 집합
- 배열은 자료형 타입 바로 옆에
[]
사용해 표현
- 배열의 길이는 고정되어 있음
new 자료형타입[길이]
타입[] var = {값, 값, 값, 값, ...}
- 배열 값에 접근은 해당 위치, 즉 인덱스 이용
- 배열의 길이는
.length;
를 이용
- 길이가 7갠데 8번째 값 얻으려고 시도하면 오류 ( ArrayIndexOutOfBoundsException )
:: List
- 리스트
- 배열과 다르게 크기가 정해지지 않고 동적으로 변한다.
- 원하는 만큼 값을 담을 수 있다.
ArrayList
add
: 값 추가
get
: 특정 인덱스 값 추출
size
: 길이, 즉 갯수
contains
: 포함 여부
remove
: 삭제
remove (객체(=값))
: 삭제 후 true or false 리턴
remove (인덱스)
: 삭제 후 삭제된 값 리턴
Generics
ArrayList<자료형 타입> var = new ArrayList<>();
(Arrays.asList(값, 값, 값, ...)
: ArrayList 생성
String.join
: ArrayList 를 문자열로
sort(Comparator.naturalOrder())
: 오름차순 (순)
sort(Comparator.reverseOrder())
: 내림차순 (역)
:: Map
- key를 통해 values 얻는다.
- 순서 없음
HashMap
HashMap<type, type> map = new HashMap<>();
put
: 값 추가 var.put(key, values)
get
: 값 얻기 , get 뒤에 key값 적으면 됨
containsKey
: 포함 여부, key값 적기
remove
: 삭제, key값 적고 삭제하면 values 리턴
size
: 갯수, 길이
keySet
: 모든 key 모아서 리턴
LinkedHashMap
TreeMap
:: Set
교집합, 합집합, 차집합
기준 . retainAll
, addAll
, removeAll
( 비교 )
- 교집합 :
retainAll
- 합집합 :
addAll
- 차집합 :
removeAll
집합 자료형 관련 메서드
TreeSet
LinkedHashSet
:: Enum
- 상수 집합
- 서로 관련 있는 여러개의 상수 집합 정의
- 매직넘버(상수로 선언하지 않은 숫자)을 사용할 때보다 코드 명확
- 잘못된 값 사용하여 발생하는 위험성 사라짐