일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다형성
- java 약수 개수 구하기
- 소수만들기 자바
- SQL Mapper
- 멀티태스킹
- 쿠키
- 캡슐화
- 1차 다트게임 자바
- 자바의 정석
- 약수개수 구하기
- 멀티프로세싱
- 프로그래머스
- 리눅스
- 프로그래머스 1차 다트게임
- 혼공얄코
- 자바의정석
- 오버라이딩
- 오버로딩
- 입출력
- 소수찾기 자바
- over()
- 옹알이2 자바
- hackerrank
- 모의고사 자바
- 프로그래머스 덧칠하기
- 덧칠하기 자바
- 프로그래머스 옹알이2
- java
- CPU
- 객체지향
- Today
- Total
목록개발공부/Java (20)
쉽게 쉽게
▤ 목차1. 약수의 개수 구하기1. 방법1int N = 12345; // 숫자int cnt = 0; // 약수의 개수 for(int i=1; i이 방법은 number가 커질수록 비효율적이다. 2. 방법2 (효율적인 방법)int N = 12345; //숫자int cnt = 0; //약수의 개수for (int i = 1; i*i N의 약수 중 하나가 m이라고 했을 때, 다른 약수는 number/m이 되므로 하나의 약수를 알면 다른 하나를 알수있다.for문을 √N까지 구하면 약수 절반의 개수를 구할 수 있다는 걸 알 수 있다.즉 1~√N까지 수 중 N의 약수를 구해 × 2를 해주면 되고, 약수가 √N인 경우에 제곱근이므로 1개로 카운트해주면 된다. https://chwan.tistory.com/e..
1. File클래스란java.io 패키지에서 제공하는 File 클래스는 입출력에 필요한 파일 및 디렉터리에 관한 정보를 다를 수 있다. File 클래스는 파일과 디렉터리의 접근 권한, 생성된 시간, 마지막 수정 일자, 크기, 경로 새로운 파일과 디렉터리 생성 및 삭제, 이름 변경 등의 조작 메드를 가지고 있다.2. File 생성자 File(String path)주어진 문자열 경로를 갖는 File객체 생성ex) File dir = new File( "C:\\testDir\\test.txt" );File(String dir, String name)dir와 name문자열을 연결한 문자열로 경로를 생성하여 File객체를 생성첫번째 매개변수에 디렉터리 경로를 넣고, 그 하위 파일명을 지정하여 생성ex) File ..
1. 이슈 페이징을 구현하는 과정에서 Map에 있는 값을 int로 가져와서 사용해야 하는 일이 있었다. 그러나 int로 강제 형변환해서 사용하면 될 거라 단순하게 생각했지만 오류가 발생했다. int current_page = (Integer)map.get("current_page"); -- java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 발생 이를 올바르게 해결하려고 했다. 2. Map에 있는 값 형변환하기 첫번째로 Stiring -> int로 전환하여 사용하려 했다. int current_page = Integer.parseInt((String)map.get("current_page")); -- java..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 입출력(I/O)이란? I/O는 Input과 Output의 약자로 입력과 출력을 의미한다. 즉 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것을 말한다. 입출력의 예를 들면 키보드로 데이터를 입력받거나, System.out.println()을 이용해서 출력하는 것이 있다. 데이터를 주고 받으려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라 한다.(데이터를 다뤘던 스트림과 이름만 같음) 입출력에서 스트림은 데이터를 운반하는 데 사용되는 연결통로다. 입력과 출력을 수행하려면 *입력 스트림과 출력스트림이 필요하다. 입력 스트림 : 대상으로부터 자료를 읽어들이는 스..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 스트림이란? 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. 1. 스트림을 사용하는 이유 스트림을 사용하는 이유는 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두 같은 방식으로 다룰 수 있기 때문이다. 데이터를 다룰 때, 컬렉션이나 배열에 담고 for문과 Iterator를 이용했지만, 이러한 방식은 코드가 길고 재사용성이 떨어진다는 단점이 있다. 또한 데이터 소스마다 다른 방식으로 다뤄야 한다는 점도 있다. Collection이나 Iterator와 같은 인터페이스를 이용해서 표준화시키긴 했지만 각 컬렉션마다 같은 동작을 위해 다른 메서드를 사용하는 경우가 있다. 예를 들어..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 람다식이란? 메서드를 하나의 '식'으로 표현한 것 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 함수를 람다식으로 표현하면 메서드의 이름이 필요 없기 때문에, 람다식은 *익명 함수(Anonymous Function)의 한 종류라고 볼 수 있다. ★ 람다식 사용배경 람다를 지원하기 전의 자바는 완전한 *명령형 프로그래밍이었다. 명령형 프로그래밍 : 클래스에서 메서드를 정의하고, 필요할 때 그 메서드를 호출하는 명령하여 동작한다. 명령형 프로그래밍을 기반으로 개발했던 개발자들은 개발하는 소프트웨어의 크기가 커짐에 따라, 복잡하게 엉켜있는 스파게티 코드를 유지보수하는 것이 매우 힘들다는 것을 깨닫게 되었다. ..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 쓰레드란 쓰레드를 설명하기 이전에 먼저 프로세스를 알아야 한다. 프로세스란 실행 중인 프로그램을 의미한다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 이런 프로세스는 프로그램을 수행하는 데 필요한 데이터, 메모리 등의 자원 그리고 쓰레드로 구성되어 있다. OS에서 실행 중인 하나의 애플리케이션 즉 ctrl + alt + del창 작업 관리자에서 프로세스 탭에 올라와 있는 어플리케이션 하나를 하나의 프로세스라고 부른다. ex) Chrome 만약 우리가 크롬창을 더블클릭 누른다면(실행) 운영체제로부터 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는 것이 프로세스이다. 크롬을 2..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 지네릭스란? 다양한 타입의 객체들을 다루는 메서드나 켈렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 지네릭스의 용어 위와 같이 클래스를 만들 때 클래스 명 옆에 지네릭스를 붙이고 선언하면 이것을 지네릭 클래스라 한다. 그리고 이때 지네릭스에 들어가는 자리의 변수를 타입변수, 타입 매개변수라 한다. 그리고 타입변수로서 들어간 문자는 타입 문자라 한다. 는 타입 변수로 이 클래스로 객체를 생성할 때 해당 객체에 어느 자료형이든 저장 가능하단 뜻이다. (T가 아니더라도 상관없다. String이든 Integer든 뭐든 가능하다는 의미) 는 객체를 생성하고 이용할 때 어떤 타입인지 결정된다. 마지막으로 원시타입은 일반 클래스..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. Arrays Arrays에는 배열을 다루는데 유용한 메서드가 정의되어 있다. copyOf(arr, arr.length) 길이만큼 배열 복사 copyOfRange(arr, from, to) from부터 to까지 복사(to는 범위에 포함x) fill(arr, 값) 배열의 모든 요소를 지정된 값으로 채움 setAll(arr, 함수형 인터페이스 or 람다식) 배열을 채울 함수형 인터페이스(math.random())을 매개변수로 sort(arr) 배열을 정렬 binarySearch(arr,위치) 배열에 저장된 요소를 검색해서 위치 반환(정렬된 상태야 올바른 결과,이진 검색으로 속도가 빠름) equals() 요소 비교 toString(..
이 글은 '자바의 정석'의 내용을 기반으로 공부한 내용을 덧붙인 글입니다. 1. 컬렉션 프레임웍(Collections Framework)이란? 데이터 군을 저장하는 클래스들을 표준화한 설계 다수의 데이터를 다루는 데 필요한 클래스들을 제공 컬렉션은 다수의 요소를 하나의 그룹으로 묶어 효율적으로 저장하고, 관리할 수 있는 기능을 제공하는 일종의 컨테이너이다. 배열은 크기가 고정되어 있는데에 반해, 컬렉션 프레임워크는 가변적인 크기를 갖는 (Resizable) 등의 특징을 갖는다. 또한 데이터 삽입, 탐색, 정렬 등 편리한 API 를 다수 제공한다. 이런 이점으로 개발자는 배열보다는 적절한 컬렉션 클래스를 선택해 사용하는 것이 권장된다. ★ 컬렉션 프레임워크의 장점 (1) List, Queue, Set, M..