📚 Study/Java

○ 실습 오늘을 기준으로 입력받는 날짜만큼 후의 연, 월, 일, 요일을 확인하여 결과를 출력하는 프로그램을 구현한다. 실행 예) 오늘 날짜 : 2023-9-22 금요일 몇 일 후의 날짜를 확인하고자 하십니까? : 200 ====== [확인 결과] ====== 200일 후 : xxxx-xx-xx x요일 ==================== 계속하려면 아무 키나 누르세요... ※ Calendar와 관련한 API Document 참조~!! 「add」 : 현재 날짜를 기준으로 날 수 더하는 연산 메소드 → 「객체.add(Calendar.DATE, 날 수);」 ▼ 내가 작성한 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import ja..
○ 실습 사용자로부터 연, 월을 입력받아 달력을 구해주는(출력하는) 프로그램을 구현한다. 단, Calendar 클래스를 활용하여 작성할 수 있도록 한다. ※ API Document 참조하여 getActualMaximum() 메소드의 활용 방법 검토할 것 ~!!! 실행 예) 연도 입력 : 0 연도 입력 : 2024 월 입력 : -10 월 입력 : 13 월 입력 : 5 [ 2024년 5월 ] 일 월 화 수 목 금 토 =================== 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 =================== ▼ 내가 작성한 코드 import java.util.Calendar; im..
※ Calendar 클래스는 추상 클래스이기 때문에 객체를 생성할 수 없다. (추상 클래스 : 미완성된 클래스 → 상속을 위해 존재하는 클래스) Calendar ob = new Calendar(); → 이와 같은 구문을 통해 인스턴스 생성 불가. ○ Calendar 클래스 객체(인스턴스)를 생성할 수 있는 방법 Calendar ob1 = Calendar.getInstance(); Calendar ob2 = new GregorianCalendar(); GregorianCalendar ob3 = new GregorianCalendar(); Calendar 클래스에서 체크해야 할 것! [Calendar.MONTH] → MONTH 는 배열 형태(0~11)를 하고 있으므로 원하는 월을 보려면 +1을 해줘야 함(g..
/* ■ 캐릭터 셋(Character Set) ○ 유니코드(unicode) 국제 표준으로 제정된 2바이트계의 만국 공통의 국제 문자부호 체계(UCS : Universal Code System)를 말한다. 애플컴퓨터, IBM, 마이크로소프트 등이 컨소시엄으로 설립한 유니코드(Unicode)가 1990년에 첫 버전을 발표하였고 ISO/IEC JTC1 에서 1995년 9월 국제표준으로 제정하였다. 공식 명칭은 ISO/IEC 10646-1(Universal Multiple-Octet Coded Character Set)이다. 데이터의 교환을 원환할게 하기 위하여 문자 1개에 부여되는 값을 16비트로 통일하였다. 코드의 1문자 당 영어는 7비트, 비영어는 8비트, 한글이나 일본어는 16비트의 값을 가지게 되는데 ..
○ StringTokenizer 클래스 문자열 파싱(Parsing)을 위한 정보를 제공하는 클래스 파싱하고자 하는 문자열을 인자로 받아 생성하며, 여기서 사용되는 파싱이라는 개념은 하나의 문자열을 여러 문자열로 나누는 작업을 의미. 이 때, 나누는 단위가 되는 문자열을 토큰(token)이라고 한다. StringTokenizer 클래스를 사용하기 위해서는 import java.util.StringTokenizer ○ StringTokenizer 생성자 StringTokenizer(String str) StringTokenizer(String str, String delim) StringTokenizer(String str, String delim, boolean retunDelims) 주어진 문자열 str..
○ StringBuffer 클래스 문자열을 처리하는 클래스로 String 클래스와의 차이점은 문자열을 사용할 때 내부 문자열을 실행 단계에서 변경할 수 있다. 즉, StringBuffer 객체는 가변적인 길이를 가지므로 객체를 생성하는 시점에서 미리 그 크기나 값을 지정하거나 시행 시점에 버퍼의 크기를 바꿀 수 있는 기능을 제공한다. JDK 1.5 이후로는 StringBuilder라는 클래스도 제공한다. StringBuffer와 가장 큰 차이점은 multi-thread unsafe 라는 점이다. 즉, 동기화 문제가 없다면 StringBuilder를 사용하는 것이 성능을 향상시킬 수 있다. ▼ Test138 .insert()는 변수에 값을 담아주지 않아도 값이 바뀜. public class Test138 ..
String 클래스 equals(), substring(), equalsIgonoreCase(), indexOf(), endsWith(), lastIndexOf(), charAt(), compareTo(), replaceAll(), trim(),... ○ String 클래스 String 클래스는 내부 문자열에 대한 수정이 불가능하다. (참조하는 주소가 변경되는 것이지 내용 자체가 변경되는 것이 아님) 즉, 내용 불변(immutable) 문자열의 내용이 변경되면 새로운 객체를 생성하며 참조 대상을 잃어버린 객체는 가비지 컬렉션의 대상이 되고, 새로운 객체에 새 주소를 할당하게 되므로 해시코드도 변하게 될 수 있다. String 클래스 간에 「+」 연산자를 사용하면 문자열 간의 결합이 가능 String 클래..
public class Test135 { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); //--==>> 2147483647 // -2147483648 System.out.println(Long.MAX_VALUE); System.out.println(Long.MIN_VALUE); //--==>> 9223372036854775807 // -9223372036854775808 System.out.println(Double.MAX_VALUE); System.out.println(Double.MIN_VALUE); //--==>> 1.797693134..
○ Number 클래스는 모든 숫자형 Wrapper 클래스의 부모 클래스(상위 클래스, 슈퍼 클래스) 이다. public class Test134 { public static void main(String[] args) { byte b = 3; int i = 256; Byte b2 = new Byte(b); Integer i2 = new Integer(i); System.out.println(b2); System.out.println(i2); //--==>> 3 // 256 print(b2); print(i2); //--==>> 3 // 256 } /* println(Byte b) { ...; } println(Integer i) { ...; } println(Long 1) { ...; } : */ /*..
* BigDecimal 클래스 : 정밀한 소수점 연산을 수행하기 위한 클래스 import java.math.BigDecimal; public class Test133 { public static void main(String[] args) { BigDecimal a = new BigDecimal("123456789.123456789"); // movePointLeft() : 소수점을 왼쪽으로 이동 BigDecimal b = a.movePointLeft(3); System.out.println("처리 결과 : " + b); //--==>> 처리 결과 : 123456.789123456789 // 나눗셈 연산 BigDecimal c = a.divide(b); System.out.println("처리 결과 : ..