일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CPU
- contiune
- 캡슐화
- 붕대 감기
- 객체지향
- spring security
- spring security 설정
- 붕대 감기 자바
- hackerrank
- 오블완
- continue 사용법
- 중첩 break
- 멀티태스킹
- 오버라이딩
- 티스토리챌린지
- 자바의정석
- break 사용법
- over()
- SQL Mapper
- 혼공얄코
- 쿠키
- 멀티프로세싱
- 다형성
- 입출력
- 프로그래머스
- java
- 프로그래머스 붕대 감기
- 리눅스
- 자바의 정석
- 오버로딩
- Today
- Total
목록개발공부/Java (24)
쉽게 쉽게
▤ 목차1. break문 사용법 1. break문 break는 주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다.break문은 자신이 포함된 가장 가까운 반복문을 벗어난다.for(int i=0; i 2. 중첩 break문중첩 반복문(여러 개 for문) 일 경우에 현재 위치한 가장 안쪽의 반복문에서 빠져나오고 다시 제일 바깥쪽의 반복문을 실행하게 된다.for(int i=0; i 3. 라벨 붙은 break문break문은 근접한 단 하나의 반복문만 벗어날 수 있기 때문에, 중첩 반복문 경우에는 불필요한 반복이 발생할 수 있다. 중첩된 반복문을 벗어나고 싶다면 각 반복문마다 라벨을 지정해 주고 해당 라벨명을 break 명령에 기재하여 원하는 반복문 단계를 바로 빠져나올 수 있다.Loop..
▤ 목차Map에서 활용할 수 있는 메서드와 키(key)와 값(value)을 사용하는 방법에 대해 공부하며 작성했다.1. Map의 추가 메서드 활용보통은 아래처럼 map을 선언하고 값을 넣어준다.HashMap map = new HashMap();map.put(1,"AAA");map.put(2,"BBB");map.put(3,"CCC");map.put(4,"DDD");map.get(1); //AAAmap.get(2); //BBBmap.get(3); //CCCmap.get(4); //DDD하지만 map에 동일 키 값을 추가할 경우 value의 값이 덮어쓰기가 되는데 이를 원치 않는다면 getOrDefault 메서드를 사용할 수 있다. 1. getOrDefault getOrDefault(Object key, V..
▤ 목차1. 소수 구하기1. 방법1 (N까지 나누기)N 보다 작은 자연수들로 나눈 후 소수인지 아닌지 판별하는 알고리즘이다. 시간복잡도: O(N²)public boolean isPrime(int n) { if (n 2. 방법2 (N의 제곱근보다 작은 수까지 나누기)첫 번째 방법에서 좀 더 발전된 방법으로 소수를 구할 때 N의 제곱근(√) 까지만 나눈다.소수인지 판별할 자연수의 제곱근을 기준으로 그 숫자의 약수들의 곱셈은 대칭적으로 곱셈이 일어나기 때문에 제곱근까지만 판별하면 된다. 만약 n=36일 때1×36=362×18=363×12=364×9=366×6=36 (제곱근에서 대칭의 끝) 즉, 약수는 작은 수와 큰 수로 짝을 이루고 있으며, 그 짝 중 하나는 항상 √n보다 작거나 같고, 다른 하나는 ..
▤ 목차1. 최대공약수 구하기최대공약수란 0이 아닌 두 개 이상의 정수의 공통되는 약수 중에서 가장 큰 수이다.여기서 유클리드 호제법을 이용하여 간편하게 최대공약수를 구할 수 있다.유클리드 호제법의 핵심은 큰 수를 작은 수로 나누어 떨어지게 한 뒤, 수를 반복적으로 수행하여 나머지 0이 될 때까지 작동하는 방법을 의미한다. 이때 작은 수가 최대공약수다. (주의할 점은 큰 수를 작은 수로 나눠야 한다는 것)예를 들어 1071과 1029의 최대공약수를 구하면,1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다. 따라서, 최대공약수는..
▤ 목차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)의 한 종류라고 볼 수 있다. ★ 람다식 사용배경 람다를 지원하기 전의 자바는 완전한 *명령형 프로그래밍이었다. 명령형 프로그래밍 : 클래스에서 메서드를 정의하고, 필요할 때 그 메서드를 호출하는 명령하여 동작한다. 명령형 프로그래밍을 기반으로 개발했던 개발자들은 개발하는 소프트웨어의 크기가 커짐에 따라, 복잡하게 엉켜있는 스파게티 코드를 유지보수하는 것이 매우 힘들다는 것을 깨닫게 되었다. ..