Primitive Type 기본 자료형 : 메모리에 실제 값을 갖는 자료형 논리형 : boolean , 문자형 char, 정수형 (byte, short, int , long) , 실수형 (float, double) Non-Primitive Type 참조 자료형(비기본 자료형) : 실제 값이 아닌 객체의 주소를 갖고 있는 자료형 객체의 주소에 의해 참조 되며, new 키워드를 통해 생성된다. 클래스 (String, Integer 등), 인터페이스 (Collection, Map) 등, 배열 String fruit = "Apple"; fruit.toUpperCase(); 기본 자료형에는 String이 없다. 그래서 fruit은 인스턴스로 부르는게 맞지만, 자주 사용하기 때문에 변수명으로 부르기도 한다. (to..
정렬 종류 출처 : https://st-lab.tistory.com/179 버블 정렬 두 인접한 데이터를 비교해서 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 자리를 바꾸는 알고리즘 오름차순 기준으로 한 회전 당 제일 큰 값을 뒤로 보낸다. 선택 정렬 주어진 데이터 중, 최솟값을 찾아 맨 앞에 위치한 값과 교체 하는 알고리즘 교체 마다 시작 인덱스를 증가 시킨다. public class Chap01 { public static void main(String[] args) { int[] a = {20, 35, 10, 6, 94, 1}; int[] b = {20, 35, 10, 6, 94, 1 }; Chap01 main = new Chap01(); System.out.println("Bubble Sort..
약수 x에 대해 정수로 나누어떨어지는 수 소수 : 1과 자기자신으로만 나누어 떨어지는 수 최대공약수 2개 이상의 자연수가 공통된 약수를 갖는 수 유클리드 호제법 : 최대공약수를 구하는 알고리즘 2개의 자연수 a,b에 대해서 (a>b 일 때) a를 b로 나눈 나머지를 r a 와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 과정을 나머지가 0이 되었을 때 까지 반복하여 얻는 수가 최대공약수 static int gcd(int a, int b) { while (b != 0) { int r = a % b; a = b; b = r; } return a; } 유클리드 호제법 사용 - While 문으로 시간복잡도는 O(n) static int gcd2(int a, int b) { if (a % b == 0) r..
정규 표현식 Regular Expression 특정한 규칙을 가진 문자열의 집합 JDK 1.4부터 제공 검색 ^ : 문자열 시작부터 $ : 문자열 종료까지 . : 줄바꿈을 제외한 임의의 한 문자 *: 바로 앞에 문자가 없거나 하나 이상 있을 때 +: 바로 앞에 문자가 하나 이상 있을 때 [^] : ^ 이후의 괄호안 형식을 제외한 문자 [] : []안의 형식을 일치하는 문자열 {} : {} 앞의 문자열의 반복 개수 - ab{2,} : 2개 이상, ab{1,2} : 1부터 2까지 ( ) : () 안의 내용을 하나의 묶음으로 처리 | : OR 연산 [0-9] : 0~9 숫자, [a-z A-Z] : 모든 알파벳, [ㄱ-ㅎ|ㅏ-ㅣ|가-힣] : 모든 한글 \s : 모든 공백 문자, \S : 공백 문자 제외, \d ..
Collection Framework 값들을 담아주는 형태 - NonPrimitive 타입만 저장이 가능 Primitive 형을 Wrapper 클래스를 통해 Boxing - Integer Collection(List, Set), Map 으로 나뉜다. (인터페이스) Hash : 값이 중복될 수 없는 유니크한 특징 Tree : 이진 트리 순회 방법 중 중위 순회 방식 Collection 기본 자료형이나 자료형의 그룹 형태로 저장 및 관리를 해주는 인터페이스 List (순서 o, 중복 o) - ArrayList, LinkedList, Vector, Stack Set (순서x, 중복 x) - HashSet, SortedSet, TreeSet ArrayList Collection에서 제일 많이 사용 하는 리스트 ..
배열 특정 자료형이 연속된 공간에 확보된 집합 split String names = "a|b|c|d|e"; String[] arr = names.split("\\|"); String[] arr2 = names.split("|"); System.out.println(Arrays.toString(arr)); System.out.println(Arrays.toString(arr2)); [출력] [a, b, c, d, e] [a, |, b, |, c, |, d, |, e] split 구분자를 이용해서 String 값을 분리할 수 있다. Arrays.toString으로 배열 출력을 쉽게 하자. 다차원 배열은 Arrays.deepToString() equals Arrays.equals(arr, arr2) 두 개의 ..
MariaDB heidiSQL 설치 및 실행 로그인 후 ROOT 계정에서 DB 생성 사용자 인증 및 권한 관리 클릭 (사람 모양) 사용자 추가, 객체 생성하여 생성한 board DB 접근 허용 설정 세션 관리자 추가한 후, 생성한 사용자 명, 암호 입력하여 실행 계정 생성 완료 스프링부트 연동 // https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.7.4' gradle 의존성 추가 spring.datasource.driver-class-name=org.mariadb.jdbc.Dri..
jar 파일 만들기 IntelliJ - Gradle 버전 오른쪽 사이드바 Gradle 선택 - Tasks/bootJar 실행 build / libs에 jar파일이 자동 생성 된다. jar파일을 복사한 경로에 터미널 실행 시 정삭 동작하는 것을 확인할 수 있다. 실행하는데 오류가 있다면 JDK 버전과 프로젝트 버전이 맞는지 확인해보자.