목록정리 (36)
꿈 많은 사람의 이야기
소매물도는 가장 아름다운 관광지 중 하나다 통영이나 거제도에서 배를 타고 들어가서(40분정도인가 50분정도 갔던걸로 기억합니다) 가장 큰 특징은 일명 '모세의 기적'이라고 불리는 바다 갈라짐 현상이다. 일단 저는 통영에서 배를 탔습니다. 가장 추천해드리고 싶은 것은, 가서 배표를 구입하는 것이 아닌, 인터넷으로 예매를 해서 가는 것입니다. 왜냐하면 인기가 많은 여행지다 보니 제가 갔을때도 현장에서 구입 하는 사람들은 표가 없어서 못 가는 사람들도 많았습니다......... 그렇게 대략 1시간 정도였나... 기억이 가물가물하네요 어찌되었든 좀 걸리는 시간을 달려 도착을 합니다. 가시면 중앙으로 가는 길과, 왼쪽으로 빠져서 약간 등산코스 같은 길로 나뉘는데 중앙으로 가시면 바로 소매물도의 등대섬을 보러 가실..
List 컬렉션은 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지 않는다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션은 수학의 집합에 비유될 수 있다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문이다. 그리고 들어갈 때의 순서와 나올때의 순서가 다르다! 다음은 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스의 메소드들이다. 인덱스로 관리하지 않기 때문에 인덱스를 매개 값으로 갖는 메소드가 없다. 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 저장, 객체가 성공적으로 저장되면 true를 리턴하고 중복 객체면 false를 리턴 객체 검색 boolean contain(Object o) 주어진 객체가 저장되어..
Calendar 클래스를 이용하지 않고 단순히 배열의 값에 1월부터 12월까지 날짜를 두어 D-day를 계산해보는 소스를 만들어 보자. 날짜와 관련된 게시글은 lsjsj92.tistory.com/51에 게시했으니 참조하기 바란다. 일단 여기에서는 다른 방법으로 해본다. 먼저 배열을 생성한다. 1 int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; cs이걸로 진행한다. 저것은 2017년 기준 1월부터 12월까지 마지막 날짜를 가리키고 있다. 그럼 D-day 소스를 만들어보자. 예를 들어 특정 날짜에서 100일 후의 날짜를 구하려면 다음과 같이 하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24..
db의 값을 출력하고 업데이트 등의 과정을 하면서 쿼리문이 좀 복잡해질 수도 있다. 예를들어 insert into saram(id, name, age) values('"+id+"', '"+name+"', '"+age+"'); 이런식으로 해야하는데 큰 따옴표, 작은 따옴표가 헷갈리기도 하고 복잡해 보인다. 이런 것을 방지하고 좀 간단하게 쿼리를 처리해주는 기능이 PreparedStatement이다. 동작 하는 방법은 이런식이다. 1 2 3 4 5 6 String sql = "insert into saram(id, name, age) values(?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); pstm..
그리고 기본적인 데이터를 넣어보자 먼저 mysql에서 테이블과 데이터를 넣어보자 create table member( code char(4) not null, name varchar(30) not null, id varchar(30), pwd varchar(15), age int(3) ); create table saram( id varchar(20), name varchar(20), age tinyint ); insert into member values('1001', '강지아', 'jeea', '1111', 20); insert into member values('1002', '이장미', 'rose', '2222', 30); insert into member values('1003', '김백합', '..
유닉스 시간은 시각을 나타내는 방식이다. 1970년 1월 1일 00:00:00 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것이다. 자바에서 이 유닉스 시간을 활용해서 D-day같은 것을 만들 수 있다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 class Cal { Calendar cal = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); String[] ss; public int doomDay(String s) { ss = s.split..
자바는 시스템의 날짜 및 시각을 읽을 수 있도록 Date와 Calendar 클래스를 제공하고 있다. 이 두 클래스는 모두 java.util 패키지에 포함되어 있다. Date 클래스 Date는 날짜를 표현하는 클래스이다. Date 클래스의 Date() 생성자는 컴퓨터의 현재 날짜를 읽어 Date 객체로 만든다 Date now = new Date(); 현재 날짜를 문자열로 얻고 싶다면 toString() 메소드를 사용하면 된다. toString() 메소드는 영문으로 된 날짜를 리턴한다. 만약 특정 형태로 출력하고 싶으면 SimpleDateFormat 클래스를 이용하면 된다. 1 2 3 4 5 6 7 Date now = new Date(); String n = now.toString(); System.out...
Math 클래스 java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있다. Math 클래스가 제공하는 메소드는 모두 정적(static) 이므로 Math 클래스로 바로 사용이 가능하다. 다음은 Math 클래스가 제공하는 메소드를 설명한 표이다. 메소드 설명 예제코드 리턴값 int abs(int a) double abs(double a) 절대값 int v1 = Math.abs(-5); double v2 = Math.abs(-3.14); v1 = 5 v2 = 3.14 double ceil(double a) 올림값 double v3 = Math.ceil(5.3); double v4 = Math.ceil(-5.3); v3 = 6.0 v4 = -5.0 double floor(doubl..
자바는 기본 타입(byte, char, short, int, long, float, double, boolean)의 값을 갖는 객체를 생성할 수 있다. 이런 객체를 포장(wrapper) 객체라고 하는데 그이유는 기본 타입의 값을 내부에 두고 포장하기 때문이다. 포장 클래스는 java.lang 패키지에 포함되어 있는데 다음과 같이 기본 타입에 대응되는 클래스들이 있다. 기본 타입 포장 클래스 byte Byte char Character short Short int Integer long Long float Float double Double boolean Boolean 박싱(boxing)과 언박싱(unboxing)기본 타입의 값을 포장 객체로 만드는 과정을 박싱(boxing)이라 하고 반대로 포장 객체에서..
문자열이 정해져 있는 형식(정규 표현식)으로 구성되어 있는지 검증해야 하는 경우가 있다. 예를 들어 이메일 등이다. 그것을 검증 하는 방법이 있다. 정규 표현식 작성 방법 기호 설명 [ ] 한 개의 문자 [abc] a,b,c중 하나의 문자 [^abc] a,b,c 이외의 하나의 문자 [a-zA-Z] a~z, A~Z중 하나의 문자 \d 한 개의 숫자,[0-9]와 동일 \s 공백 \w 한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일 ? 없음 또는 한 개 * 없음 또는 한 개 이상 + 한 개 이상 {n} 정확히 n개 {n,} 최소한 n개 {n, m} n개에서부터 m개까지 ( ) 그룹핑 ^ 시작 $ 끝 이 표를 가지고 실습을 해보자 다음은 02-123-1234 또는 010-1234-5678과 ..