일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1753 다익스트라
- 6588 파이썬
- 백준 10819
- 10819 파이썬
- 1003 파이썬
- 코루틴 플로우
- 자바
- 투포인터 알고리즘
- 2096 파이썬
- 이진 탐색
- Android mvp
- 1806 투포인터
- Coroutine Flow
- 1753 파이썬
- 1644 파이썬
- 안드로이드 hilt
- 백준 2096
- git local remote
- Android Room
- Jetpack Room
- flow buffering
- 5582 파이썬
- 1806 백준
- 1806 파이썬
- 백준 1644
- android hilt
- 5582 DP
- 자료구조
- java
- 백준 5582
- Today
- Total
목록Java (8)
Gemstone's Devlog
JDK1.7 부터 여러 catch블럭을 '|' 기호를 이용해서, 하나의 catch 블럭으로 합칠 수 있게 되었으며, 이를 '멀티 catch블럭'이라고 한다. 아래의 코드에서 알 수 있듯이 '멀티 catch블럭'을 이용하면 중복된 코드를 줄일 수 있다. 그리고 '|' 기호로 연결할 수 있는 예외 클래스의 개수에는 제한이 없다. ※ 참고 → 멀티 catch 블럭에 사용되는 '|'는 논리 연산자가 아니라 기호이다. try { ... } catch (ExceptionA e) { e.printStackTrace(); } catch (ExceptionB e2) { e2.printStackTrace(); } /* ↓↓↓↓↓↓ */ try { ... } catch (ExceptionA | ExceptionB e) { ..
인터페이스를 사용하는 이유와 그 장점을 정리해 보면 다음과 같다. - 개발시간을 단축시킬 수 있다. - 표준화가 가능하다. - 서로 관계없는 클래스들에게 관계를 맺어 줄 수 있다. - 독립적인 프로그래밍이 가능하다. 1. 개발시간을 단축시킬 수 있다. 일단 인터페이스가 작성되면, 이를 사용해서 프로그램을 작성하는 것이 가능하다. 메서드를 호출하는 쪽에서는 메서드의 내용에 관계없이 선언부만 알면 되기 때문이다. 그리고 동시에 다른 한 쪽에서는 인터페이스를 구현하는 클래스를 작성하게 하면, 인터페이스를 구현하는 클래스가 작성될 때까지 기다리지 않고도 양쪽에서 동시에 개발을 진행할 수 있다. 2. 표준화가 가능하다. 프로젝트에 사용되는 기본 틀을 인터페이스로 작성한 다음, 개발자들에게 인터페이스를 구현하여 프..
다음은 16진수를 2진수로 변환하는 예제이다. 먼저 변환하고자 하는 16진수를 배열 hex에 나열한다. 16진수에는 A~F까지 6개의 문자가 포함되므로 char 배열로 처리하였다. 그리고 문자열 배열 binary에는 이진수 '0000'부터 '1111' (16진수로 0~F)까지 모두 16개의 값을 문자열로 저장하였다. for문을 이용해서 배열 hex에 저장된 문자를 하나씩 읽어서 그에 해당하는 이진수 표현을 배열 binary에서 얻어 result에 덧붙이고 그 결과를 화면에 출력한다. 참고로 자바에서 char배열이 아닌 String클래스를 이용해서 문자열을 처리하는 이유는 String클래스가 char배열에 여러 가지 기능을 추가하여 확장한 것이기 때문이다. String클래스는 char배열에 기능(메서드)을..
길이가 45인 배열에 1부터 45까지의 값을 담은 다음, 반복문을 이용해서 배열의 첫 번째 값과 random( )에 의해서 결정된 임의의 위치에 있는 값과 자리를 바꾸는 것을 6번 반복한다. 이것은 마치 1부터 45까지의 번호가 쓰인 카드를 잘 섞은 다음 맨 위의 6장을 꺼내는 것과 같다고 할 수 있다.
배열의 복사는 for문보다 System.arraycopy( )를 사용하는 것이 효율적이다. 기존 배열의 복사에 사용된 for문을 arraycopy( )로 바꾸면 다음과 같다. for (int i = 0; i < num.length; i++) { newNum[i] = num[i]; } ↓ System.arraycopy(num, 0, newNum, 0, num.length); num[0] 에서 newNum[0]으로 num.length개의 데이터를 복사 즉, 배열 num의 내용을 배열 newNum으로, 배열 num의 첫 번째 요소(num[0])부터 시작해서 num.length개의 데이터를 newNum의 첫 번째 요소(newNum[0])에 복사한다. 이때 복사하려는 배열의 위치가 적절하지 못하여 복사하려는 내용..
import java.util.*; class FlowEx { public static void main(String[] args) { int menu = 0, num = 0; Scanner scanner = new Scanner(System.in); outer: while(true) { System.out.println("(1) square"); System.out.println("(2) square root"); System.out.println("(3) log"); System.out.println("원하는 메뉴(1~3)를 선택하세요.(종료:0)>"); String tmp = scanner.nextLine(); // 화면에서 입력받은 내용을 tmp에 저장 menu = Integer.parseInt(..
JDK 1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록 for문의 새로운 문법이 추가되었다. for( 타입 변수명 : 배열 또는 컬렉션) { // 반복할 문장 } 위의 문장에서 타입은 배열 또는 컬렉션의 요소의 타입이어야 한다. 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장된다. 그리고 반복문의 괄호 { } 내에서는 이 변수를 사용해서 코드를 작성한다. int[] arr = {10, 20, 30, 40, 50}; 배열 arr을 위와 같이 선언했을 때, 이 배열의 모든 요소를 출력하는 for문은 아래와 같다. // 일반적인 for문 for(int i = 0; i < arr.length; i++) { System.out.prin..
1. 자바(Java Programming Language)란? 자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다. 자바의 가장 중요한 특징은 운영체제에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 자바는 풍부한 클래스 라이브러리(Java API)를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공하기 때문에 자바 프로그래머는 단순히 이 클래스 라이브러리만을 잘 활용해도 강력한 기능의 자바 프로그램을 작성할 수 있다. 2. 자바언어의 특징 1. 운영체제에 독립적이다. -> 일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능. 2. ..