원지의 개발
728x90
article thumbnail
[Java] Date, LocalDateTime..., Calendar, DecimalFormat
프로그래밍 언어/Java 2023. 9. 1. 11:42

2022.10.25 - [프로그래밍 언어/Java] - [Java] API_ java.util (arrays - search, date, calendar, random) → 이어서 추가적인 설명과 연습과제 진행해보았다. Date Calendar가 새로 추가되면서 Date의 메서드가 'deprecated' 되었으므로 잘 사용하지 않음 그럼에도 Date를 필요로 하는 메서드가 있으므로 변환 방법 알기 Date ↔ Calendar package dateAndCalendarTest; import java.util.Calendar; import java.util.Date; public class DateCalendarChange { public static void main(String[] args) { //1...

article thumbnail
[Java] java.io 패키지 - 로그 파일에서 ip 접속 횟수 출력
프로그래밍 언어/Java 2023. 7. 5. 14:18

- 로그 파일은 문자열이 기록된 파일이므로 Character Stream 사용 - 읽을 때 네이티브 메소드 호출 횟수를 줄이기 위해 버퍼 사용하는 것이 좋음 - BufferedReader 이용 '-' 는 0임 split 사용해서 공백 뒤의 자리 더하기 각각이 몇번 접속했는지 확인 똑같은 아이피가 나오면 count Map은 똑같은게 있으면 덮는게 아님 있으면 1, 또 있으면 1에 추가 마지막으로 sort (내림차순) 조건 로그 파일 읽기 하나의 ip가 몇 번 접속했는지 확인 가장 많이 접속한 ip부터 순차 출력 과정 1. BufferedReader 객체 생성 package logTest; import java.io.BufferedReader; import java.io.FileReader; import j..

article thumbnail
[Heap] Priority Queue(우선 순위 큐)
프로그래밍 언어/Java 2023. 6. 12. 13:39

Priority Queue큐의 구조인 FIFO를 가지면서 데이터가 들어온 순서로 나가는 것이 아닌,우선 순위를 먼저 결정해서 그 우선 순위가 높은 데이터가 먼저 나가는 자료구조내부 요소는 힙으로 구성되어 이진트리 구조로 이루어짐시간 복잡도는 O(NlogN)선언, 사용import java.util.PriorityQueue;import java.util.Collections;//낮은 숫자 기준인 우선순위 큐, 오름차순PriorityQueue priorityQueueLow = new PriorityQueue();//높은 숫자 기준인 우선순위 큐, 내림차순PriorityQueue priorityQueueHigh = new PriorityQueue(Collections.reverseOrder());//String..

article thumbnail
[Java] Enum(열거형)
프로그래밍 언어/Java 2023. 6. 8. 02:08

Enum 관련된 상수들을 묶어 놓은 것 java에서는 타입이 안전한 열거형을 제공 - 컴파일 시간에 타입 체크를 받으므로, 이는 런타임 시에 발생하는 오류를 줄여줌 정의, 사용 enum 열거형이름 { 상수명1, 상수명2, ... } enum Direction { EAST, SOUTH, WEST, NORTH } class Unit { int x, y; //유닛의 위치 Direction dir; //열거형을 인스턴스 변수로 선언 void unit { dir = Direction.EAST; //유닛의 방향을 EAST로 초기화 } } switch ~ case 사용 public enum Direction { BASKETBALL, SOCCER, BASEBALL, TENNIS, SWIMMING, MARATHON } ..

article thumbnail
진법 변환 / StringBuilder & StringBuffer / Arrays.stream
프로그래밍 언어/Java 2023. 5. 7. 01:24

진법 변환 진수는 8비트 기준으로 1, 2, 4, 8, 16 ... 배수로 나타냄 2진수: 11011000 = 1 + 2 + 8 + 16 = 27 16진수: 2진수에서 4개를 묶어서 읽기, 0 ~ 9 ABCdef 로 표현 00000110 = 2 + 4 = 06 10진수 숫자 2진수 0B 붙임 8진수 0 붙임 16진수 0x 붙임 10진수 ▶ n진수 //1. 10진법 ▶ 3진법 String a = ""; //값을 더해주려고 while(n > 0) { //n이 0보다 클때까지 반복 a = (n % 3) + a; //문자열 앞에 3으로 나눴을때 나머지를 더해줌 n /= 3; //반복하기 위해 n을 3으로 나눠줌 } //2. Integer.toString(문자열, 진법) 사용 a = Integer.toString..

article thumbnail
[Java] 정규 표현식, Network
프로그래밍 언어/Java 2022. 10. 31. 16:50

조금 편히 봐도 되는 챕터 - 필요하면 찾아서 복붙정규 표현식 (Regular Expression)문자열의 집합을 표현하는데 사용하는 형식 언어Perl 에서 처음 사용많은 프로그래밍 언어가 정규 표현식 기능을 제공하고 있는데 언어 자체가 제공하기도 하고, 별도의 라이브러리 형태로 제공되기도 함문자열의 패턴을 검사하기 위해서 사용유효성 검사나 자연어 처리에서 많이 사용java에서는 java.util.regex 패키지에 맞는 Match 클래스와 Pattern 클래스 그리고, String 클래스에서 제공Web Programming에서는 java 보다는 javascript에서 많이 사용메타 문자메타 문자기능설명수직선 (|)또는 (or)항목들 중 하나를 선택하기 위해 구분괄호 (())그룹 묶기연산자의 범위와 우선..

article thumbnail
[Java] Process - Thread, synchronized, deadLock, semaphore
프로그래밍 언어/Java 2022. 10. 31. 14:01

Thread 프로그램에서 가장 중요한 개념 중의 하나 실제 생성해서 사용하는 경우는 안드로이드나 자바 애플리케이션을 만들 때 이고, Web Programming 에서는 직접 생성해서 사용하는 경우가 드뭄 작업 단위 (Process / Thread) Process (공장): 실행 중인 프로그램, 자원(메모리, cpu 등) + thread 프로세서를 할당받아서 실행되는 것 한 번 실행되면 자신의 작업이 종료될 때 까지 제어권을 다른 프로세스에게 넘기지 않고 계속 수행 절대로 멈추지 않음 Thread (일꾼): Process를 작게 나누어서 작업을 수행하는 단위 Thread는 단독으로 실행할 수 없고 Process 안에서 실행되야 함 자신의 작업 도중 쉬는 시간이 생기거나 일정한 시간이 지나면 다른 스레드에게..

article thumbnail
[Java] Comparable VS Comparator
프로그래밍 언어/Java 2022. 10. 29. 16:00

Comparable VS Comparator 둘 다 인터페이스(interface) 이므로 추상클래스를 반드시 구현해야 함 새로운 클래스 객체를 만들어 비교하려고 하면 비교할 기준이 필요 comparable은 Arrays.sort(); 사용할 때 자동으로 오름차순 정렬 되고, compareTo 메서드 구현하면 자기 자신을 기준으 객체의 기본 정렬 순서를 정의 comparator는 내가 특정 객체들을 기준으로 정렬하고 싶을 때 compare 메서드를 오버라이드하여 기준을 만들어(커) 객체들을 비교하는데 사용 - Comparable: 해당 객체의 기본 정렬 순서를 변경하고 싶을 때 사용 객체 클래스 내에 Comparable 인터페이스를 구현하고 compareTo() 메서드를 재정의. 그 후, 해당 객체들의 배..

article thumbnail
[Java] Nested Class, Lambda, Stream API, Optional
프로그래밍 언어/Java 2022. 10. 28. 17:44

Nested Class (내포 클래스) 클래스 안에 존재하는 클새스 자바는 클래스 안에 클래스를 생성하는 문법을 지원 Inner Class 클래스 안에 존재하는 클래스 클래스 내부에서만 사용할 목적으로 생성 일반 클래스는 접근 지정자가 package(접근 지정자가 없는 경우) 와 public 만 가능하지만 inner class 에서는 private 과 protected 도 가능 클래스가 컴파일 되었을 때는 외부클래스이름$내부클래스이름.class로 만들어짐 Static Inner Class class 앞에 static 을 붙이는 클래스 내포 클래스에 static 멤버가 있 내포 클래스에 static 멤버가 있는 경우는 인스턴스 생성없이 사용할 수 있도록 static을 붙여주어야 함 static 이 붙은 클..

article thumbnail
[Java] API_ java.io (file, stream, buffer) / Input & Output
프로그래밍 언어/Java 2022. 10. 27. 17:19

JAVA API : application programming interface 미리 만들어진 기능인 라이브러리 API안에 많은 패키지들이 존재 (lang, util, IO 등) 메서드 모형 읽는 법 접근제어자 + (매개변수) + ;(결과) 반환 유형 - 클래스가 선언된 위치 접근제어자 구분 public private default protected java.io 패키지 Input & Output java.io 패키지에서 담당 디렉토리 구분 기호 Windows: \ Windows 이외: / 직접 지정하면 운영체제 별로 따로 설정 – File.seperator를 이용하면 현재 운영체제의 구분 기호를 사용할 수 있음 경로 절대 경로: 루트로부터의 위치 Windows -> 루트드라이브:\디렉토리경로\파일이름 ..

article thumbnail
[Java] API_ Collection Framework (List, Set, Map)
프로그래밍 언어/Java 2022. 10. 26. 11:17

JAVA API: application programming interface미리 만들어진 기능인 라이브러리API안에 많은 패키지들이 존재 (lang, util, IO 등)메서드 모형 읽는 법접근제어자 + (매개변수) + ;(결과) 반환 유형 - 클래스가 선언된 위치접근제어자 구분public private default protected Collection Framework컬렉션 클래스 - 다수의 객체를 저장할 수 있는 클래스Collection 인터페이스Collections 클래스컬렉션데이터 그룹은 List, Set, Map의 3가지 타입이 존재List순서가 있는 데이터들의 집합중복 허용List 구현된 클래스ArrayListLinkedListStack2022.10.26 - [프로그래밍 언어/Java] -..

article thumbnail
[Java] API_ java.util (Generic, 제네릭)(컬렉션 프레임워크), ArrayList
프로그래밍 언어/Java 2022. 10. 26. 11:15

JAVA API : application programming interface 미리 만들어진 기능인 라이브러리 API안에 많은 패키지들이 존재 (lang, util, IO 등) 메서드 모형 읽는 법 접근제어자 + (매개변수) + ;(결과) 반환 유형 - 클래스가 선언된 위치 접근제어자 구분 public private default protected java.util 패키지 자바 프로그램 개발에 보조 역할을 하는 클래스들을 담은 패키지 컬렉션 관련 클래스들 ★ Data 분류 ★ Generic 기본형을 사용할 수 없음 Templete Programming(일반화 프로그래밍) - 동일한 알고리즘을 사용하는 메서드나 자료구조의 구현 때문에 등장 - 작업은 함수나 메서드가 수행하게 되는데 함수나 메서드는 매개변..

728x90
250x250