JAVA 160615 1
오늘 알아 볼 것!!
단어* : throw, catch, throws Exception, Integer, DTO
레코드형 기억장소
public static void main(String[] args) throws Exception{ ~ throws Exception //
예외처리*
키보드 or 파일 or 데이터베이스 or 네트워크**로 입력받는 자바를 만들었을 때
외부장치에 이상이 생겼을 때를 대비하여 예외처리를 강요.
** : 이 4가지는 무조건 예외처리를 해줘야 한다.
이것까지 적어야 하나? 애매한 것들-
예외처리는 Exception을 가지고 있고
exception은 많은 자식클래스를 지니고 있다.
throw, catch 방법도 있다.
int a = 10, b = 3;
int re = a / b; //직접표현 방식보다는 간접표현 방식을 추천.
예를들어 a와 b를 엄~청 긴 코드에서 여기저기에 사용했었는데 b의 값이 3이 아니라 4였을 경우
b의 값만 바꿔주면 되기 때문, (b가 아닌 3을 직접 다 줬다고 한다면 일일이 전부 바꿔줘야한다.)
Exception 순서를 주의하라.
catch (Exception e){
}catch(ArithmeticException e){
}catch(NullPointerException e){
}catch (ArrayIndexOutOfBoundsException e) {}
이렇게 있으면 맨위에서 다 걸려져서 밑은 수행이 안된다.
finally{}는 에러유무와 상관없이 반드시 수행한다.
Collection(자료구조)
종류 - 리스트류, 맵류
Interface Collection<E> All Known Subinterfaces: List<E>, Queue<E>, Set<E>, SortedSet<E> … All Known Implementing Classes: ArrayList, EnumSet, HashSet, LinkedHashSet, LinkedList, Stack, TreeSet, Vector …
Interface Map<K,V> All Known Subinterfaces: ConcurrentMap<K,V>, SortedMap<K,V> All Known Implementing Classes: |
지식에 도움 될 것 같아
기본형을 자동으로 참조해주는 Boxing
참조형으로 바뀌어있는 참조형자료를 기본형으로 돌리는 것을 unBoxing
때문에 wrapper클래스를 안씀.
제네릭은 컬렉션에 들어갈 타입을 제한하려고 쓴다.
<Object>는 슈퍼클래스.
<한번 참고해보는 것>
import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class TestSet { public static void main(String[] args) { // Set : 중복 불가, 순서X = HashSet 클래스가 일반적 //컬렉션클래스<제네릭> HashSet<Object> HashSet<String> list = new HashSet<>(); //list.add(1); //숫자1이 HashSet에 들어가면 숫자가 아니라 객체, 오브젝트로 변한다. list.add("일"); list.add("lee"); list.add("kim"); list.add("park"); list.add("choi"); list.add("lee"); list.add("kim"); System.out.println(list.size()); list.remove("일"); System.out.println(list.size()); list.remove("kim"); System.out.println(list.size()); //list.clear(); //System.out.println(list.size()); print(list); System.out.println(); print(list.toArray()); }
public static void print(Set set){ Iterator<String> iter = set.iterator(); //Iterator iter = set.iterator(); while(iter.hasNext()){ String ss = iter.next(); //String ss = (String)iter.next(); System.out.println(ss); } }
public static void print(Object[] obj){ int count = obj.length; for (int i = 0; i < count; i++){ System.out.println(obj[i]); } } }
|
예외처리
ArrayIndexOutOfBoundsException :: 배열 오류 예외 처리
ArithmeticException ::
NullPointerException :: Null 값 예외 처리
Exception :: 모든 에러 감지
fianlly :: 에러유무와 상관없이 무조건 수행
출력 정리~~~~
System.out.println(list.size()); //갯수
System.out.println(list.contains("kim")); //있다 없다(true, false)
System.out.println(list.indexOf("park")); // "park" 오브젝트 뺀다.
System.out.println(list.get(1)); //하나만 빼는거(?)
'📁 공부정리 > JAVA' 카테고리의 다른 글
JAVA 160621 Swing (1) | 2016.06.21 |
---|---|
JAVA 160620 Thread , Panel (0) | 2016.06.20 |
JAVA 160614 (0) | 2016.06.14 |
JAVA 160613 interface, implements (0) | 2016.06.13 |
for문 기본개념 (1) | 2016.06.13 |