# try - catch 알려주기
public class Main { ----------------
public static void main(String[] args) throws Exception {
int number = 10;
int result;
for (int i = 10; i >=0; i--) {
try{ // 예외가 발생할 가능성 있는 코드
result = number / i;
System.out.println(result);
} catch (Exception e) { // Exception이 발생했을 경우
System.out.println("Exception 발생 : "+ e.getMessage());
} finally {
System.out.println("항상 실행되는 finally 구문");
}
}
}
}
10
항상 실행되는 finally 구문
Exception 발생 : / by zero
항상 실행되는 finally 구문
# try-with-resource 형식
# 입출력과 함께씀, 사용되었던 자원을 끝난 후에 닫아줘야할 때 자동으로 닫아줌
Package
: 클래스의 묶음, 클래스와 인터페이스를 포함시킬 수 있음# LocalDate, LocalTime
# DateTimeFormatter 클래스
# 날짜와 시간 출력
public class Main {
public static void main(String[] args) {
System.out.println("now usages");
LocalDate date = LocalDate.now(); // .now 사용, 현재 날짜
LocalTime time = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(date);
System.out.println(time);
System.out.println(dateTime);
System.out.println("of() usage");
LocalDate dateOf = LocalDate.of(2022, 4, 20); // .of 사용, 지정 날짜
LocalTime timeOf= LocalTime.of(16, 30, 0);
System.out.println(dateOf);
System.out.println(timeOf);
}
}
now usages
2022-05-18
12:49:04.163
2022-05-18T12:49:04.163
of() usage
2022-04-20
16:30
# 날짜와 시간 형식 수정
public class Main {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);
String shortFormat = formatter.format(LocalTime.now());
System.out.println(shortFormat);
}
} 오후 2:44
# 내가 원하는 형식
DateTimeFormatter myFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String myDate = myFormatter.format(LocalDate.now());
System.out.println(myDate);
2022/05/18
# 날짜와 시간 차이 계산 예제 - between() 사용
LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(2021, 8, 9);
Period period = Period.between(today, birthday);
System.out.println(period.getMonths());
System.out.println(period.getDays());
자료구조 인터페이스
컬렉션 프레임워크
list : 순서 O, 중복 O
Set : 순서 X, 중복 X
Map : key-Value, 순서 X, 키 중복 X, 값 중복 O
Stack : LIFO
Queue : FIFO
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; // add, sort, remove
public class Main {
public static void main(String[] args) {
List<Integer> integerList = new ArrayList<>();
integerList.add(1);
integerList.add(5);
integerList.add(4);
integerList.add(11);
System.out.println(integerList); // [1, 5, 4, 11]
Collections.sort(integerList);
System.out.println(integerList); // [1, 4, 5, 11]
System.out.println(integerList.size()); // 4
integerList.remove(1); // 첫번째 값 4 지우기
System.out.println(integerList); // [1, 5, 11]
// for (int i=0; i< integerList.size(); i++) {
// System.out.println(integerList.get(i));
// }
for (int current: integerList) { // integerList의 값을 하나하나 current로
System.out.println(current); // 1
} // 5
} // 11
}
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York");
stringSet.add("LasVegas");
stringSet.add("Seoul");
System.out.println(stringSet);
List<String> target = new ArrayList<>();
target.add("New York");
target.add("LA");
stringSet.removeAll(target);
System.out.println(stringSet);
System.out.println("LA이 포함되어있나요? " +stringSet.contains("LA"));
System.out.println("LasVegas가 포함되어있나요? " +stringSet.contains("LasVegas"));
}
}
[New York, LasVegas, LA, Seoul]
[New York, LasVegas, LA]
[LasVegas]
LA이 포함되어있나요? false
LasVegas가 포함되어있나요? true
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "berry");
map.put(3, "cherry");
System.out.println(map);
System.out.println("1st in map: " + map.get(3));
System.out.println(map.containsKey(2));
System.out.println(map.containsValue("cherry"));
map.clear();
System.out.println(map);
}
}
{1=apple, 2=berry, 3=cherry}
1st in map: cherry
true
true
{}
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(3);
stack.push(7);
stack.push(5);
System.out.println(stack);
System.out.println(stack.peek());
System.out.println("size : " + stack.size());
System.out.println(stack.pop());
System.out.println("size : " + stack.size());
System.out.println(stack.contains(1));
System.out.println(stack.empty());
}
}
[1, 3, 7, 5]
5
size : 4
5
size : 3
true
false
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(5);
queue.add(3);
System.out.println(queue);
System.out.println(queue.poll());
System.out.println(queue);
System.out.println(queue.peek());
System.out.println(queue);
}
}
[1, 5, 3]
1
[5, 3]
5
[5, 3]
import java.util.ArrayDeque;
public class Main {
public static void main(String[] args) {
ArrayDeque<Integer> arrayDeque = new ArrayDeque<>();
arrayDeque.addFirst(1);
arrayDeque.addFirst(2);
arrayDeque.addFirst(3);
System.out.println(arrayDeque);
arrayDeque.addLast(0);
System.out.println(arrayDeque);
arrayDeque.offerFirst(10);
System.out.println(arrayDeque);
arrayDeque.offerLast(-1);
System.out.println(arrayDeque);
arrayDeque.push(22);
System.out.println(arrayDeque);
System.out.println(arrayDeque.pop());
System.out.println(arrayDeque);
System.out.println(arrayDeque.peek());
System.out.println(arrayDeque); // size, clear, isEmpty 가능
}
}
[3, 2, 1]
[3, 2, 1, 0]
[10, 3, 2, 1, 0]
[10, 3, 2, 1, 0, -1]
[22, 10, 3, 2, 1, 0, -1]
22
[10, 3, 2, 1, 0, -1]
10
[10, 3, 2, 1, 0, -1]