기본 적으로 삼항 연산자는 이렇게 사용할 수 있다. const val = val ? '참일 경우 값' : '거짓일 경우 값' 또 js는 축약으로 이렇게도 사용할 수 있다. const val = a?.b?.c ? '참일 경우 값' : '거짓일 경우 값' a.b.c 의 값을 체크하기 전에 a와 b에 값이 존재하는지를 먼저 확인하는 코드이다. a.b가 없는데 a.b.c를 하면 당연히 에러가 나게 된다. 추가로 undefined와 null을 체크하기 위해 중복으로 나열하지 않고 이렇게 사용할 수도 있다. //undefined || null이면 ''값으로 치환 const val = val ?? ''; 주로 Java 개발을 하다가 javascript로 개발을 하면 이렇게 축약해서 편리하긴 하다. 물론 헷갈리고 어려..
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값 찾지 ..
- Total
- Today
- Yesterday
- 알고리즘
- 삼성 sw역량 테스트
- 채팅
- 프로그래머스
- 완전탐색
- BFS
- Heap
- 정렬
- JavaScript
- git
- MST
- Spring
- java
- 코딩테스트
- 백준
- 삼성 sw역량테스트
- Stomp
- OS
- dfs
- SWEA
- Oracle
- 운영체제
- programers
- sockjs
- 분리 집합
- DP
- 자바
- Baekjoon
- websocket
- 최소 스패닝 트리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |