복습
> API
java.lang
- Object
- 모든 Class의 조상
- 다양한 type의 class를 upcasting하여 저장할 수 있음
- equals
- String
- new 없이 object 생성 가능
String name = "Doo";
- length(), equals(b), equalsIgnoreCase(b), compareTo(b), compareToIgnoreCase(b), substring(,), charAt(), startsWith(), trim(), contains(), indexOf()
- Regular Expression
문제풀이
- connection을 지정해주고 싶을 땐, 변수를 사용해서 regex를 구성하면 된다.
(regex는 변수를 포함하여 설정할 수 있다.)
String connector = "/";
String regex =
"^(19[0-9]{2}|20[0-9]{2})" + connector + "(0[0-9]|1[012])-([0-3][0-9]|31)$";
Regex
String
- String.valueOf() (Integer.toString())
Wrapper Class
- 원시형 data에 필요한 기능을 제공하는 class
- 전부 java.lang package에 있음
- Boolean
- Byte
- Short
- Integer
- Long
- Float
- Double
- Character
Java.lang
> StringBuffer
method
- .append()
- .length()
- .delete(int start, int end)
- .substring(int start, int end)
- .indexOf(String str, int fromIndex)
- .replace(int start, int end, String str)
- StringBuffer.reverse()
thread-safe
- 다중 동시 사용자 환경에서도 안전성이 보장된 구조
- 자원에 다양한 대상이 접근할 수 있을 경우
> StringBuilder
non-thread-safe
- 대기줄을 세우지 않고 동시다발적으로 처리하는 구조
> Math
field
- Math.PI: 원주율
- Math.E: 자연지수
method
-
Math.round(): 반올림
-
Math.floor(): 내림
-
Math.ceil: 올림
-
Math.abs(): 절댓값
-
Math.max(a, b): a와 b중 큰 값
-
Math.pow(a, ladix): power
-
Math.random(): 0 <= random < 1
> System
- class에 final keyword가 붙으면 상속이 불가능
- System.in // 표준 입력 stream
- System.out // 표준 출력 stream
- System.err // 표준 오류 stream
- System.exit(0): 프로그램 종료 (0 정상종료, 그외 비정상종료)
- System.getProperties(): program 외부환경 (OS)에 대한 정보 및 기능 출력
- System.getProperty("os.name")
> Runtime
- 외부환경과 소통할 수 있음
Runtime r = Runtime.getRuntime()
- r.exec(""): CLI에 명령 입력
예외 (Exception)
> 1/n 계산기
try {} catch(ErrorClass e) {} (throw 예외 던지기)
try {
if() {
throw new Exception("message");
}
} catch (Exception e) {
e.printStackTrace();
}
stackTrace
- 오류가 뜰 때, 오류가 발생한 시점을 trace하는 형식
Try-with-resources
try에 자원 객체를 전달하면, try code block이 끝나면 자동으로 resource를 종료해주는 기능
try ( Scanner sc = new Scanner(System.in); ) {
~~
} catch ( Exception e ) {
e.printStackTrace();
}
throws Exception (예외 처리 미루기)
- 해당 method 안에서 발생한 예외 처리에 대한 책임을 method를 호출한 쪽으로 떠넘김
- 호출하는 입장에서 선언된 예외를 보고 발생할 수 있는 예외를 미리 파악할 수 있고, 반드시 처리해야 하므로 프로그램 견고하게 한다.
Throwable
- Error + Exception
- Error: 실행 전(compile 단계)에서 검출
- Exception: runtime에서 발생