본문 바로가기

자바(JAVA)
(52)
자바(Java) 정규표현식 //정규 표현식, Regular Expression - 정규식 - "특정 패턴"의 문자열을 검색하는 도구 - 언어나 기술에 독립적인 별도의 기술 - 유닉스 // 정규 표현식 구성요소(문법) - 공백도 문자 1. x - x는 임의의 1개 문자 - 고정 문자 ~ "a" > a ~ "abc" > abc 2. . - 임의의 문자 1개 - 와일드카드(모든 문자) ~ "홍.동" > 홍길동, 홍유동, 홍순동 홍찬동 ... ~ "홍.." > 홍길동, 홍유동, 홍순동 홍찬동, 홍순신, 홍가가, 홍나나 ... 3. 출현 횟수 - 바로 앞의 문자(집합)의 출현 횟수를 표현 a. ? - 바로 앞의 대상 생략 가능, 중복 불가 - 출현 횟수: 0~1 ~ "a?bc" > abc 또는 bc ~ "(자바)?코드" ? > 자바코드 또..
[자바(Java)] Collection 총 정리 //컬렉션, Collection - JCF, Java Collection Framework - (향상된) 배열 - 기존의 순수 배열 > 성능, 사용법 등 개량 > 클래스 - 가변적 길이 > 방의 개수를 마음대로 늘리거나 줄이는 것이 가능 1. List 계열 - 순서가 있는 집합 - 첨자(index) - 데이터 중복을 허용한다. a. ArrayList★★★★★ > implement Serializable, Cloneable, Iterable, Collection, List, RandomAccess - 내부에 배열을 가지고 있다. - 내부 배열을 조작하는 기능들이 대부분이다. - 배열이 가득 차면 (현재 배열의 길이 * 3)/2 + 1 만큼의 새로운 길이의 배열을 만든다. > resizing - 잦은 배열 ..
[자바(Java)] static //Static - static은 클래스명으로 별도의 영역을 가진다. > 하나의 클래스로부터 만들어진 모든 객체가 가지고 있는 공통 영역(공통으로 관리하는 데이터) - 사용시 객체 생성하여 참조변수로 멤버를 사용하는 것이 아니라 '클래스명.멤버' 로 바로 사용한다. ~o Student.setSchool("역삼중"); ~x Student s1 = new Student(); s2.setSchool("역삼중") - static 변수, 정적 멤버 변수, 공용 멤버 변수 : 공용 데이터 객체 멤버 변수 : 개인 데이터. 개성 有 - static 메서드 내에서는 this 키워드를 사용할 수 없다. > 객체 변수나 객체 메서드를 호출할 수 없다. - 정적 생성자 : static 있는 생성자 > 정적 변수들만 초기화 ..
[자바(Java)] equals , hashcode //equals() / hashCode() - equals()와 hashCode() 는 함께 실행되어야 한다. - hashCode() : 객체들을 똑같이 나누어 다른 bucket에 담아준다. ~ 두 객체가 정확히 일치한다면, 그 둘의 hashCode 또한 정확하게 같아야 한다. ~ 객체의 값이 변하지 않는 이상 hashCode 값은 절대 변해서는 안 된다. package com.sorrel012.tips.eclipse; class Client { private int id; public Client(int id) { super(); this.id = id; } @Override public int hashCode() { final int prime = 31; int result = 1; result = ..
[자바(Java)] 동기화 //★★Synchronized(동기화) - 동기화된 메서드는 수많은 스레드 중 단 한 개의 스레드에서만 실행 가능 > thread safe package com.sorrel012.com; public class ConcurrencyRunner { public static void main(String[] args) { Counter counter = new Counter(); counter.increment(); counter.increment(); counter.increment(); System.out.println(counter.getI()); } //main } package com.sorrel012.com; public class Counter { private int i = 0; public ..
[자바(Java)] 디버그(debug) //디버깅 - 원하는 부분의 왼쪽 라인 넘버 부분을 더블 클릭해서 BreakPoint를 설정/해제 할 수 있음. - BreakPoint 설정 후 F11을 눌러 디버깅 모드 실행 (perspective 전환) - F5: Step into > 메서드 하나하나 깊이 알 수 있음. - F6: Step over > 실행 흐름을 볼 수 있음. - F5 - F6
[자바(Java)] 연산자 1. 문장, Statement - 1개 이상의 표현식이 모여서 문장을 만든다. ~ int sum = 10 + 20; 2. 표현식, Expression - 문장을 구성하는 최소 단위 ~ int sum ~ 10 + 20 ~ sum = 30 3. 연산자, Operator - 피연산자를 대상으로 미리 정해진 연산(행동)을 한 후에, 연산(행동)의 결과를 반환하는 요소 - 주로 기호를 많이 사용 + 영단어도 많이 사용 ~ + ~ = 4. 피연산자, Operand - 연산의 대상 ~ +: 10, 20 ~ =: sum, 30 5. 연산자 우선순위 - 하나의 문장에 속해 있는 모든 연산들은 누가 먼저 실행해야 하는지 순서가 정해져 있다. ~ () > 증감 연산자(전위) > 산술 연산자 > 비교 연산자 > 논리 연산자 ..
[자바(Java)] DateTime //자바 날짜 시간 자료형 1. Date 클래스 > JDK 1.0 2. Calendar 클래스 > JDK 1.1 > 가장 대중화 3. LocalDateTime, LocalDate, LocalTime 클래스 > JDK 1.8 * System.currentTimeMillis() -> 현재 시각 밀리초 //Date - import java.util.Date; - Date date = new Date(); package com.test.java; import java.util.Date; public class Ex28_DateTime { public static void main(String[] args) { m1(); } //main private static void m1() { // Date Date da..