
long 자료형 보통 정수는 기본 자료형인 int를 많이 사용한다. 하지만 int의 표현 범위를 넘는 값을 변수에 담아서 사용한다면 long형을 사용해야 한다. int long 저장공간 4byte 8byte 범위 -2147483648 ~ 2147483647 -9223372036854775808 ~ 9223372036854775807 BigInteger 클래스 long형을 넘는 더 큰 범위의 정수를 다룰 때 사용하는 클래스로 java.math에 속한다. int, long과 같은 자료형처럼 사칙연산(+,-,*,/,%)을 기호로 할 수 없고, BigInteger에서 제공하는 메서드를 이용해야 한다. 생성 방법 // 문자열로 생성 BigInteger bigInteger = new BigInteger("12345..
이 Exception의 경우 주로 Collection객체를 loop로 다룰 때 발생하게 된다. 나의 경우 Queue를 Iterator를 통해 탐색할 때 발생하였다. Iterator란? : java에서 Collection에 저장되어있는 요소들을 읽어오는 표준화된 방법 중 하나이다. Queue q = new LinkedList(); q.add(1); q.add(2); q.add(3); Iterator iter = q.iterator(); //1. 반복문 안에서 단순히 요소 접근만 함 while(iter.hasNext()){ System.out.println(iter.next()); } iter = q.iterator(); //2. 반복문 안에서 타겟 리스트 객체를 수정함 while(iter.hasNext()..
indexOf : 자료구조에서 특정 문자의 인덱스를 찾기 위해 사용된다. 자바 배열에서는 indexOf()를 지원하지 않고 ArrayList자료구조에서만 지원하므로 asList()를 통해 변환시켜 인덱스를 구해야 한다. import java.util.Arrays; public class IndexOfTest { public static void main(String[] args) { String[] arr = {"a","b","c"}; System.out.println(Arrays.asList(arr).indexOf("b")); //1이 출력된다. }
java는 값이 없는 상태 = null로 표현한다. NullPointerException은 이 null을 만났을 때 발생하는 runtime 예외상황으로 프로그램이 비정상 종료가 될 수 있으므로 따로 처리를 해줘야 한다. 흔하게 발생하기도 하므로 코드 작성 시에 꼭 null상황에 대한 예외처리를 해줘야 한다. 예외상황 값이 null인데 이것을 이용하여 다른 코드를 수행하려고 하면 예외가 발생한다. 몇 가지 예시를 들어보면 아래와 같다. 1) null값을 비교 String str = func(); //함수를 통해 string을 return받음 if(str.equals("a"){ //이부분에서 에러 } 위와 같이 변수 str을 fnc() 메서드 return 받은 값으로 지정하게 될 때, func() 메서드에서..
제네릭(Generic)이란? : 클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법 ● 장점 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있음 List list = new ArrayList(); //이경우 타입 에러가 발생 list.add("abc"); //이경우 타입 에러가 발생하지 않음 list.add(1); Integer라는 타입을 명시해줌으로써 다른 타입의 데이터가 들어가면 에러가 발생하여 미리 잘못된 데이터 타입을 거를 수 있게 된다. 2. 반환 값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있음 ArrayList list = new ArrayList(); //제네릭을 사용하지 않을경우 list.add("test"); Strin..
Map - getOrDefault(key, Default-value) ->찾는 key가 map에 존재한다면 해당 key의 value값을 반환, 존재하지 않는다면 default-value를 반환한다! 자주 사용하는데 까먹지 않도록 기록! import java.util.*; public class Main { public static void main(String[] args) { String[] alpha = {"A","B","A"}; Map map = new HashMap(); for(String a : alpha) map.put(a, map.getOrDefault(a, 0) + 1); System.out.println(map); //{A=2, B=1} } } -> 처음 A가 들어갈 때는 key값 찾지 ..

java를 통해 개발을 하면서 jvm위에서 돌아간다는 것쯤은 알고 있을 것이다. 하지만 프로그램이 실행되고 처리되는 과정에 대해 정리가 되지 않았던 것 같아 정리하면서 여러 가지 궁금점을 포함해 공부해보고자 한다! JVM(Java Virtual Machine)이란? : 자바 코드를 CPU나 운영체제(플랫폼)의 종류와 무관하게 실행할 수 있도록 하는 주체이다. → 왜? java는 운영체제 위에서 바로 실행이 되지 않아 JVM이 필요할까? : Java 컴파일러는. java 파일을. class 파일로 컴파일한다. 이는. java 파일을 Java byte code로 변환하여. class 만드는 것인데 Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행이 되지 않는다. 이를 해결하기 위해 JVM을 통해..
- Total
- Today
- Yesterday
- 코딩테스트
- 삼성 sw역량테스트
- OS
- 자바
- sockjs
- 백준
- DP
- Oracle
- Spring
- 알고리즘
- 채팅
- websocket
- dfs
- 최소 스패닝 트리
- git
- programers
- 프로그래머스
- BFS
- Stomp
- Baekjoon
- Heap
- 운영체제
- 분리 집합
- 완전탐색
- 삼성 sw역량 테스트
- MST
- JavaScript
- SWEA
- java
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |