StringEx02 문자열의 첫문자를 대문자화
// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 입력값 검사
if(args.length != 1) {
System.out.println("1개의 값을 입력하셔야 합니다.");
} else {
//System.out.println("정상 입력");
String[] names = args[0].split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
System.out.println(result);
}
}
}
생성자를 써서 만들어보면
클래스를 UtilEx라고 만든다
private String name;을 해준다
UtilEx라는 세터를 위와 같이 생성한다
기존에 만들어 놨던 소스를 UtilEx메소드 안에 복사한다
복사해준 소스내 args[0]를 this.name으로 오버로딩해준다 그뒤 return result.trim();을 넣어준다
기존 소스는 주석 처리하고 생성자를 연동시키기 위한 구문을 넣은뒤 실행한다.
// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 입력값 검사
if(args.length != 1) {
System.out.println("1개의 값을 입력하셔야 합니다.");
} else {
//System.out.println("정상 입력");
/*
String[] names = args[0].split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
System.out.println(result);
*/
UtilEx utilEx = new UtilEx(args[0]);
System.out.println(utilEx.capitalizeName());
}
}
}
public class UtilEx {
private String name;
public UtilEx(String name) {
this.name = name;
}
public String capitalizeName() {
String[] names = this.name.split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
return result.trim();
}
}
JuminCheckEx01
JuminCheck라고 만든 후 이름을 변경하고 싶을때 refactor를 사용한다
public class JuminCheckEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length != 1) {
System.out.println("java 클래스명 'xxxxxx-xxxxxxx' 형식으로 입력하세요");
} else {
String strJumin = args[0].replaceAll("-", "");
System.out.println(strJumin);
// 문자열을 정수 = Integer.parseInt()
int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i<bits.length; i++) {
sum += Integer.parseInt(strJumin.substring(i, i+1)) * bits[i];
}
int last = Integer.parseInt(strJumin.substring(12, 13));
int result = (11-(sum % 11)) % 10;
if(last == result) {
System.out.println("맞음");
} else {
System.out.println("틀림");
}
}
}
}
생성자를 통해 만들어 보자
위와 같이 수정
기존 소스는 주석처리하고 생성자 연동시키고 if문 안에 utilEx.checkJumin()으로 수정
개선 사항
public class JuminCheckEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length != 1) {
System.out.println("java 클래스명 'xxxxxx-xxxxxxx' 형식으로 입력하세요");
} else {
/*
String strJumin = args[0].replaceAll("-", "");
System.out.println(strJumin);
// 문자열을 정수 = Integer.parseInt()
int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i<bits.length; i++) {
sum += Integer.parseInt(strJumin.substring(i, i+1)) * bits[i];
}
int last = Integer.parseInt(strJumin.substring(12, 13));
int result = (11-(sum % 11)) % 10;
*/
UtilEx utilEx = new UtilEx();
//utilEx.setName(args[0]);
utilEx.setJumin(args[0]);
if(utilEx.checkJumin()) {
System.out.println("맞음");
} else {
System.out.println("틀림");
}
}
}
}
public class UtilEx {
private String name;
private String jumin;
public UtilEx() {
}
public void setName(String name) {
this.name = name;
}
public void setJumin(String jumin) {
this.jumin = jumin;
}
public boolean checkJumin() {
String strJumin = this.jumin.replaceAll("-", "");
System.out.println(strJumin);
// 문자열을 정수 = Integer.parseInt()
int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i<bits.length; i++) {
sum += Integer.parseInt(strJumin.substring(i, i+1)) * bits[i];
}
int last = Integer.parseInt(strJumin.substring(12, 13));
int result = (11-(sum % 11)) % 10;
if(last == result) {
return true;
} else {
return false;
}
}
public String capitalizeName() {
String[] names = this.name.split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
return result.trim();
}
}
// 문자열의 첫문자를 대문자화
// hong gil dong -> "hong gil dong"
public class StringEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 입력값 검사
if(args.length != 1) {
System.out.println("1개의 값을 입력하셔야 합니다.");
} else {
//System.out.println("정상 입력");
/*
String[] names = args[0].split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
System.out.println(result);
*/
UtilEx utilEx = new UtilEx();
utilEx.setName(args[0]);
System.out.println(utilEx.capitalizeName());
}
}
}
StringBuffer클래스와 StringBuilder클래스
public class StringBufferEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = new String("Hello World");
String str2 = str1.replaceAll("World", "세상");
System.out.println(str1);
System.out.println(str2);
}
}
변경 불가능한(immutable) 클래스 str1을 str2가 변경하려 했지만 str1의 값은 변경되지 않는다
StringBuffer(since 1.0)를 가지고 StringBuilder(since 1.5)를 만들었다. (메소드 보면 동일하다)
public class StringBufferEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = new String("Hello World");
String str2 = str1.replaceAll("World", "세상");
//System.out.println(str1);
//System.out.println(str2);
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer(30);
// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
StringBuffer sb3 = new StringBuffer("Hello World");
System.out.println(sb1.capacity());
System.out.println(sb2.capacity());
System.out.println(sb3.capacity());
}
}
public class StringBufferEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = new String("Hello World");
String str2 = str1.replaceAll("World", "세상");
//System.out.println(str1);
//System.out.println(str2);
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer(30);
// "Hello World"는 11자 + 기본 16자가 합쳐져서 27이다.
StringBuffer sb3 = new StringBuffer("Hello World");
System.out.println(sb1.capacity());
System.out.println(sb2.capacity());
System.out.println(sb3.capacity());
System.out.println(sb3.length());
System.out.println(sb1.length());
}
}
public class StringBufferEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = new String("Hello World");
String str2 = str1.replaceAll("World", "세상");
//System.out.println(str1);
//System.out.println(str2);
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer(30);
// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
StringBuffer sb3 = new StringBuffer("Hello World");
/*
System.out.println(sb1.capacity());
System.out.println(sb2.capacity());
System.out.println(sb3.capacity());
System.out.println(sb3.length());
System.out.println(sb1.length());
*/
// charAt
// indexOf / lastIndexOf
// replace
// substring
// 문자열 조작
// append / insert / delete
System.out.println(sb3);
sb3.append(" 안녕");
// 버퍼가 바뀌는 것이다
System.out.println(sb3);
}
}
public class StringBufferEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = new String("Hello World");
String str2 = str1.replaceAll("World", "세상");
//System.out.println(str1);
//System.out.println(str2);
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer(30);
// "Hellow World"는 11자 + 기본 16자가 합쳐져서 27이다.
StringBuffer sb3 = new StringBuffer("Hello World");
/*
System.out.println(sb1.capacity());
System.out.println(sb2.capacity());
System.out.println(sb3.capacity());
System.out.println(sb3.length());
System.out.println(sb1.length());
*/
// charAt
// indexOf / lastIndexOf
// replace
// substring
// 문자열 조작
// append / insert / delete
System.out.println(sb3);
sb3.append(" 안녕");
// 버퍼가 바뀌는 것이다
System.out.println(sb3);
// 3번째에 "추가"를 추가
sb3.insert(3, "추가");
System.out.println(sb3);
// 1부터 3전까지 삭제
sb3.delete(1, 3);
System.out.println(sb3);
}
}
StringBuffer에서 append하는 거랑 String.concat을 하는거랑 둘 중 빠른거는 버퍼에서 append하는게 더 빠르다
// StringBuffer / String - 문자열
// 형변환 - 문자열처럼 출력하고자 한다면 아래와 같이 toString을 해줘야한다
String data = sb3.toString();
StringBuilder
: StringBuffer에서 쓰레드의 동기화만 뺀 기능으로 StringBuffer가 멀티쓰레드에 안전하도록 동기화 하면 성능을 떨어뜨리기 때문에 이 기능만 빼고 성능을 끌어올리는 기능이다
Math 클래스
public class MathEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 올림 / 내림 / 반올림
System.out.println(Math.ceil(10.3));
System.out.println(Math.ceil(10.5));
System.out.println(Math.ceil(10.7));
System.out.println(Math.floor(10.3));
System.out.println(Math.floor(10.5));
System.out.println(Math.floor(10.6));
System.out.println(Math.round(10.3));
System.out.println(Math.round(10.5));
System.out.println(Math.round(10.6));
// 랜덤
}
}
public class MathEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 랜덤
// 0<= 난수 < 1 실수
System.out.println(Math.random());
System.out.println(Math.random());
// 1부터 45까지 정수를 추출(로또)
System.out.println((int)(Math.random()*45)+1);
System.out.println((int)(Math.random()*45)+1);
}
}
Wrapper 클래스
: 기본 자료형의 클래스 화
기본 자료형 -> 생성자 -> 클래스
형변환
public class WrapperEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Wrapper
// 기본 자료형의 클래스 화
// 기본 자료형 -> 생성자 -> 클래스
// 형변환
// Integer
// 최대 최소
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
public class WrapperEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Wrapper
// 기본 자료형의 클래스 화
// 기본 자료형 -> 생성자 -> 클래스
// 형변환
// Integer
// 최대 최소
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer i1 = new Integer(123);
Integer i2 = new Integer("123");
i1 = Integer.valueOf(345);
i2 = Integer.valueOf("345");
//Integer i3 = new Integer("123일");
// 자료형 변환
byte b = i1.byteValue();
float f = i1.floatValue();
System.out.println(b);
System.out.println(f);
}
}
public class WrapperEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Wrapper
// 기본 자료형의 클래스 화
// 기본 자료형 -> 생성자 -> 클래스
// 형변환
// Integer
// 최대 최소
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer i1 = new Integer(123);
Integer i2 = new Integer("123");
i1 = Integer.valueOf(345);
i2 = Integer.valueOf("345");
//Integer i3 = new Integer("123일");
// 자료형 변환
byte b = i1.byteValue();
float f = i1.floatValue();
System.out.println(b);
System.out.println(f);
String str1 = i1.toString();
String str2 = Integer.toString(123);
System.out.println(str1);
System.out.println(str2);
}
}
public class WrapperEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Wrapper
// 진법 변환
String str3 = Integer.toBinaryString(123);
System.out.println(str3);
}
}
public class WrapperEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 형 변환
int i1 = Integer.parseInt("123");
float f1 = Float.parseFloat("123.45");
System.out.println(i1);
System.out.println(f1);
}
}
public class WrapperEx03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i1 = new Integer(20);
// 기본자료형 -> 객체화
// AutoBoxing
Integer i2 = 20;
// AutoUnboxing
int i3 = i2;
int sum = new Integer(10) + 30;
System.out.println(sum);
}
}
WrapperEx3
public class WrapperEx3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 10;
Integer intg = (Integer)i;
Object obj = (Object)i;
Long lng = 100L;
int i2 = intg + 10;
long l = intg + lng;
Integer intg2 = new Integer(20);
int i3 = (int)intg2;
Integer intg3 = intg2 + 13;
System.out.println("i = " + i);
System.out.println("intg = " + intg);
System.out.println("obj = " + obj);
System.out.println("lng = " + lng);
System.out.println("intg + 10 = " + i2);
System.out.println("intg + lng = " + l);
System.out.println("intg2 = " + intg2);
System.out.println("i3 = " + i3);
System.out.println("intg2 + i3 = " + intg3);
}
}
public class SystemEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// System 구성
System.out.println(System.getProperty("os.name"));
}
}
public class SystemEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// System 구성
System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.home"));
// System 환경 구성
System.out.println(System.getenv("path"));
System.out.println(System.getenv("JAVA_HOME"));
}
}
public class SystemEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
if(args.length != 1) {
System.out.println("종료");
} else {
System.out.println("정상실행");
}
*/
if(args.length != 1) {
System.out.println("종료");
// 프로그램 종료
System.exit(0);
}
System.out.println("정상실행");
}
}
데이터 한개 집어 넣어주면 정상실행됨
public class SystemEx03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 경과 시간 측정
long time1 = System.currentTimeMillis();
long sum = 0;
for(int i=1; i<=100000000; i++) {
sum += i;
}
long time2 = System.currentTimeMillis();
System.out.println("수행시간 : " + (time2 - time1));
}
}
Process Build
public class ProcessBuilderEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ProcessBuilder processBuilder
//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
processBuilder.start();
} catch (Exception e) {
// TODO: handle exception
}
}
}
iexplore.exe를 실행함
public class ProcessBuilderEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ProcessBuilder processBuilder
//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe", "www.google.com");
processBuilder.start();
} catch (Exception e) {
// TODO: handle exception
}
}
}
특정 페이지를 www.google.com으로 해서 출력함
public class ProcessBuilderEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ProcessBuilder processBuilder
//= new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe");
//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe");
//= new ProcessBuilder("C:/Program Files/Internet Explorer/iexplore.exe", "www.google.com");
= new ProcessBuilder("C:/Windows/System32/notepad.exe");
processBuilder.start();
} catch (Exception e) {
// TODO: handle exception
}
}
}
notepad를 실행 한다.
String 배열
기본 자료형 배열 - 기본 자료형 객체 자료형 배열 - 객체 자료형
public class ArrayEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
// 기본 자료형 배열
int[] arr1 = new int[5];
String[] arr2 = new String[5];
arr2[0] = new String("가");
arr2[1] = new String("나");
arr2[2] = new String("다");
arr2[3] = new String("라");
arr2[4] = new String("마");
*/
Person[] arr3 = new Person[3];
Person p1 = new Person();
p1.setName("박문수");
p1.setAge(20);
Person p2 = new Person();
p2.setName("홍길동");
p2.setAge(25);
Person p3 = new Person();
p3.setName("이몽룡");
p3.setAge(30);
arr3[0] = p1;
arr3[1] = p2;
arr3[2] = p3;
for(int i=0; i<arr3.length; i++) {
System.out.println(arr3[i].getName());
System.out.println(arr3[i].getAge());
}
}
}
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class ArrayEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
// 기본 자료형 배열
int[] arr1 = new int[5];
String[] arr2 = new String[5];
arr2[0] = new String("가");
arr2[1] = new String("나");
arr2[2] = new String("다");
arr2[3] = new String("라");
arr2[4] = new String("마");
*/
Person[] arr3 = new Person[3];
Person p1 = new Person();
p1.setName("박문수");
p1.setAge(20);
Person p2 = new Person();
p2.setName("홍길동");
p2.setAge(25);
Person p3 = new Person();
p3.setName("이몽룡");
p3.setAge(30);
arr3[0] = p1;
arr3[1] = p2;
arr3[2] = p3;
System.out.println("p1 : " + p1);
System.out.println("p2 : " + p2);
System.out.println("p3 : " + p3);
for(int i=0; i<arr3.length; i++) {
System.out.println(arr3[i]);
System.out.println(arr3[i].getName());
System.out.println(arr3[i].getAge());
}
}
}
객체 배열은 배열에 실제 객체가 아닌 객체의 주소가 저장되어 있으므로 p1, p2, p3를 출력시 주소값이 나옴
public class ArrayEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
// 기본 자료형 배열
int[] arr1 = new int[5];
String[] arr2 = new String[5];
arr2[0] = new String("가");
arr2[1] = new String("나");
arr2[2] = new String("다");
arr2[3] = new String("라");
arr2[4] = new String("마");
*/
Person[] arr3 = new Person[3];
Person p1 = new Person();
p1.setName("박문수");
p1.setAge(20);
Person p2 = new Person();
p2.setName("홍길동");
p2.setAge(25);
Person p3 = new Person();
p3.setName("이몽룡");
p3.setAge(30);
arr3[0] = p1;
arr3[1] = p2;
arr3[2] = p3;
System.out.println("p1 : " + p1);
System.out.println("p2 : " + p2);
System.out.println("p3 : " + p3);
/*
for(int i=0; i<arr3.length; i++) {
System.out.println(arr3[i]);
System.out.println(arr3[i].getName());
System.out.println(arr3[i].getAge());
}
*/
// 향상된 for 문
for(Person p : arr3) {
System.out.println(p.getName());
System.out.println(p.getAge());
}
}
}
날짜와 시간
Calendar와 Date
import java.util.Date;
public class DateEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// java.util.*
// 유틸리티(활용도구)
// import 시켜야 함
Date d = new Date();
System.out.println(d);
System.out.println(d.toString());
System.out.println(d.toLocaleString());
}
}
import java.util.Date;
public class DateEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// java.util.*
// 유틸리티(활용도구)
// import 시켜야 함
Date d = new Date();
System.out.println(d);
System.out.println(d.toString());
System.out.println(d.toLocaleString());
System.out.println(d.getYear()+1900);
System.out.println(d.getMonth()+1);
System.out.println(d.getDate());
}
}
import java.util.Date;
public class DateEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// java.util.*
// 유틸리티(활용도구)
// import 시켜야 함
//Date d = new Date();
Date d = new Date(2019-1900, 12-1, 5);
System.out.println(d);
System.out.println(d.toString());
System.out.println(d.toLocaleString());
System.out.println(d.getYear()+1900);
System.out.println(d.getMonth()+1);
System.out.println(d.getDate());
System.out.println(d.getDay());
}
}
import java.util.Date;
public class DateEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// java.util.*
// 유틸리티(활용도구)
// import 시켜야 함
//Date d = new Date();
Date d = new Date(2019-1900, 12-1, 5);
System.out.println(d);
System.out.println(d.toString());
System.out.println(d.toLocaleString());
System.out.println(d.getYear()+1900);
System.out.println(d.getMonth()+1);
System.out.println(d.getDate());
System.out.println(d.getDay());
System.out.println(d.getTime());
System.out.println(System.currentTimeMillis());
}
}
import java.util.Calendar;
public class CalendarEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar c = new Calendar();
Calendar c = Calendar.getInstance();
System.out.println(c.toString());
// get(형식)
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
}
}
import java.util.Calendar;
public class CalendarEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar c = new Calendar();
Calendar c = Calendar.getInstance();
System.out.println(c.toString());
// get(형식)
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
}
}
import java.util.Calendar;
public class CalendarEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar c = new Calendar();
Calendar c = Calendar.getInstance();
System.out.println(c.toString());
// get(형식)
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
System.out.println(c.getActualMaximum(Calendar.DATE));
System.out.println(c.getActualMinimum(Calendar.DATE));
}
}
import java.util.Calendar;
public class CalendarEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
c.set(2018, 2-1, 1);
String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
}
}
import java.util.Calendar;
public class CalendarEx02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
// 2018 / 2 / 1
//c.set(2018, 2-1, 1);
// 2018 / 1 / 1의 하루전
c.set(2018, 1-1, 1-1);
String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
}
}
CalendarEx1
import java.util.Calendar;
public class CalenddarEx1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar today = Calendar.getInstance();
System.out.println("이 해의 년도 : " + today.get(Calendar.YEAR));
System.out.println("월(0~11, 0:1월) : " + today.get(Calendar.MONTH));
System.out.println("이 해의 몇 째 주 : " + today.get(Calendar.WEEK_OF_YEAR));
System.out.println("이 달의 몇 째 주 : " + today.get(Calendar.WEEK_OF_MONTH));
System.out.println("이 달의 몇 일 : " + today.get(Calendar.DATE));
System.out.println("이 달의 몇 일 : " + today.get(Calendar.DAY_OF_MONTH));
System.out.println("이 해의 몇 일 : " + today.get(Calendar.DAY_OF_YEAR));
System.out.println("요일(1~7, 1:일요일) : " + today.get(Calendar.DAY_OF_WEEK));
System.out.println("이 달의 몇 째 요일: " + today.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("오전_오후(0:오전, 1:오후) : " + today.get(Calendar.AM_PM));
System.out.println("시간(0~11) : " + today.get(Calendar.HOUR));
System.out.println("시간(0~23) : " + today.get(Calendar.HOUR_OF_DAY));
System.out.println("분(0~59) : " + today.get(Calendar.MINUTE));
System.out.println("초(0~59) : " + today.get(Calendar.SECOND));
System.out.println("1000분의 1초(0~999) : " + today.get(Calendar.MILLISECOND));
System.out.println("Timezon(-12~+12) : " + (today.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("이 달의 마지막 날 : " + today.getActualMaximum(Calendar.DATE));
}
}
import java.util.Calendar;
public class CalendarEx2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar c = Calendar.getInstance();
c.set(2018, 1-1, 1-1);
String[] weeks = {"일", "월", "화", "수", "목", "금", "토"};
System.out.println(weeks[c.get(Calendar.DAY_OF_WEEK) -1]);
Calendar to = Calendar.getInstance();
long diffTime = (to.getTimeInMillis() - c.getTimeInMillis()) / 1000;
System.out.println("초차 : " + diffTime + "초");
System.out.println("시차 : " + diffTime/(60*60) + " 시차");
System.out.println("일차 : " + diffTime/(60*60*24) + " 일차");
}
}
import java.util.Calendar;
public class CalendarEx4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar date = Calendar.getInstance();
date.set(2016, 2, 6);
System.out.println(toString(date));
System.out.println("= 1일 후 =");
date.add(Calendar.DATE, 1);
System.out.println(toString(date));
System.out.println("= 6달 전 =");
date.add(Calendar.MONTH, -6);
System.out.println(toString(date));
System.out.println("= 31일 후(roll) =");
date.roll(Calendar.DATE, 31);
System.out.println(toString(date));
System.out.println("= 31일 후(add) =");
date.add(Calendar.DATE, 31);
System.out.println(toString(date));
System.out.println("= 1000일 후(add) =");
date.add(Calendar.DATE, 1000);
System.out.println(toString(date));
}
public static String toString(Calendar date) {
return date.get(Calendar.YEAR) + "년 "
+ (date.get(Calendar.MONTH) +1)
+ "월 " + date.get(Calendar.DATE) + "일";
}
}
CalendarEx6에서 일요일은 [x]로 표기할 것
import java.util.Calendar;
public class CalendarEx6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length != 2) {
System.out.println("Usage : java CalendarEx6 2015 9");
return;
}
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
int START_DAY_OF_WEEK = 0;
int END_DAY = 0;
Calendar sDay = Calendar.getInstance(); // 시작일
Calendar eDay = Calendar.getInstance(); // 끝일
sDay.set(year, month-1, 1);
eDay.set(year, month, 1);
eDay.add(Calendar.DATE, -1);
START_DAY_OF_WEEK = sDay.get(Calendar.DAY_OF_WEEK);
END_DAY = eDay.get(Calendar.DATE);
System.out.println(" " + args[0] + "년 " + args[1] + "월");
System.out.println("");
System.out.println(" SU MO TU WE TH FR SA");
for(int i=1; i < START_DAY_OF_WEEK; i++) {
System.out.print(" ");
}
for(int i=1, n=START_DAY_OF_WEEK; i <= END_DAY; i++, n++) {
//System.out.print((i<10) ? " " + "[" + i + "]" : " " + "[" + i + "]");
if(n%7 == 1) {
System.out.print((i<10) ? " " + "[" + i + "]" : " " + "[" + i + "]");
}else if(n%7==0) {
System.out.print((i<10) ? " " + i : " " + i);
System.out.println();
}else {
System.out.print((i<10) ? " " + i : " " + i);
}
}
}
}
printf 형식화된 출력
import java.util.Calendar;
public class CalendarEx6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length != 2) {
System.out.println("Usage : java CalendarEx6 2015 9");
return;
}
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
int START_DAY_OF_WEEK = 0;
int END_DAY = 0;
Calendar sDay = Calendar.getInstance(); // 시작일
Calendar eDay = Calendar.getInstance(); // 끝일
sDay.set(year, month-1, 1);
eDay.set(year, month, 1);
eDay.add(Calendar.DATE, -1);
START_DAY_OF_WEEK = sDay.get(Calendar.DAY_OF_WEEK);
END_DAY = eDay.get(Calendar.DATE);
System.out.println(" " + args[0] + "년 " + args[1] + "월");
System.out.println("");
System.out.println(" SU MO TU WE TH FR SA");
for(int i=1; i < START_DAY_OF_WEEK; i++) {
System.out.print(" ");
}
for(int i=1, n=START_DAY_OF_WEEK; i <= END_DAY; i++, n++) {
//System.out.print((i<10) ? " " + "[" + i + "]" : " " + "[" + i + "]");
if(n%7 == 1) {
//System.out.print((i<10) ? " " + "[" + i + "]" : " " + "[" + i + "]");
System.out.printf(i<10 ? " [%d]" : " [%d]", i<10?i:i);
}else if(n%7==0) {
//System.out.print((i<10) ? " " + i : " " + i);
System.out.printf(i<10 ? " %d" : " %d", i<10?i:i);
System.out.println();
}else {
//System.out.print((i<10) ? " " + i : " " + i);
System.out.printf(i<10 ? " %d" : " %d", i<10?i:i);
}
}
}
}
'Web & Mobile > JAVA' 카테고리의 다른 글
Lecture 28 - Java(9) 로또발생기, StringTokenizer, StringJoiner, Scanner, Arraylist (0) | 2023.06.20 |
---|---|
Lecture 27 - Java(8) 추상화, 형변환, 다형성, 예외처리 (0) | 2023.06.20 |
Lecture 25 - Java(6) 클래스, 접근제어자, 이클립스 환경 구축법 (0) | 2023.06.20 |
Lecture 24 - Java(5) 생성자, 변수의 초기화, 상속, 인스턴스, 패키지, import, 클래스 (0) | 2019.04.19 |
Lecture 23 - Java(4) 변수와 메서드, 생성자 (0) | 2019.04.19 |
댓글