728x90
반응형
728x90
반응형
DecimalFormat 숫자를 형식화할 때 사용한다. 형식화한 후에는 int값이 아니라 String값으로 변환됨. 0, #, E를 적절히 사용하여 출력하고 싶은 format을 지정해서 출력하자 출력문: 1.22000 | 1.22 double i = 1.22; DecimalFormat df = new DecimalFormat("0.00000"); DecimalFormat df2 = new DecimalFormat("#.####"); //DecimalFormat df2 = new DecimalFormat("#.##00"); // 오류발생 //뒤에 소수점 붙일 때는 아예 0만쓰던지 #만 써야함 System.out.println(df.format(i)); //0일 경우 10진수가 존재할 경우 그 값을 출력하고..
Calendar 클래스 추상클래스이므로 getInstance 메서드를 통해 구현된 객체를 얻어야 한다. 새롭게 new를 사욯해서 Calendar 자료형을 선언하는 것은 불가능 Calendar를 사용해서 날짜필드 가져오기 아래 형식으로 가져온다. 출력값: 28 2022 Calendar ca = Calendar.getInstance(); //캘린더 추상클래스를 선언하면 시스템의 최신 시간을 가져온다 int year = ca.get(Calendar.YEAR); //현재 시스템 시간 상의 최신 년도 int lastday = ca.getActualMaximum(Calendar.DATE); //이달의 마지막 날 System.out.println(lastday); System.out.println(year); Cal..
StringBuilder StringBuffer 클래스와 기능이 완전히 동일하지만 한가지 차이점이 있다. StringBuffer는 동기화가 되어있지만 StringBuilder는 동기화가 되어있지 않다 말인 즉슨, StringBuffer는 멀티쓰레드의 사용 시 안전하다는 의미이다 (thread-safe). 쓰레드는 single thread와 multi thread가 있는데 single thread는 한가지 작업만 할 수 있고 multi는 여러개의 작업을 허용한다. 예시로 카카오톡으로 파일을 보낼 경우에는 single thread는 채팅을 할 수 없지만 multi는 이 작업을 동시에 가능하게 만든다. multi thread의 단점은 서로 메모리를 공유하기 때문에 서로의 작업을 간섭할 수 있는데 StringB..
StringBuffer 클래스 일반적인 String클래스는 불변, 즉 변경이 불가능하고 메모리를 각각의 값에 할당해줬다면 StringBuffer 클래스는 가변, 즉 변경이 가능하다. 메모리를 할당해주면 아래의 칸에다가 계속 추가하는 방식. sb라는 이름으로 StringBuffer의 자료형을 선언한 후 sb.append("abc")를 추가해주면 char값으로 변환 후에 재 입력받는 방식이다. 따라서 아래의 코드처럼 입력해주면 출력값은 abcHello가 된다. StringBuffer sb = new StringBuffer("abc"); sb.append("Hello"); System.out.println(sb); 여러 문자열을 삽입하고 싶은 경우는 append를 중복하여 실행하면 코드가 간결해진다. 출력값:..
String 메서드 2 1.join, split 위의 String 메서드의 설명은 코드블럭 안의 주석으로 적혀있는 것과 동일하다. String 반환 변수는 split을 할 수 있는데 저장 변수는 배열이여야 한다 String클래스의 join은 배열로 되어있어야 join으로 구분자를 넣어줄 수 있다 join 클래스를 선언할 때는 String 본연의 자료형으로 선언할 것 출력문: [BTC, ETH, DOGE] BTC-ETH-DOGE String str = "BTC,ETH,DOGE"; String[] str2 = str.split(","); //String 반환 변수는 split을 할 수 있는데 저장 변수는 배열이여야 한다 System.out.println(Arrays.toString(str2)); str = ..
String 메서드 1. String to Character Character를 String 값으로 변경할 때 String클래스를 선언하여 변경이 가능하다. char[] ch = {'a','b','c','d'}; String st = new String(ch); System.out.println(st); 2. Character to String 반대의 경우에는 charArray System.out.println(st.toCharArray()); 3. toCompare 사전의 순서로 String의 값을 비교해주는 메서드 abc의 순서이므로 동일한 순서일경우 0, 사전보다 뒤에 있으면 -1(음수), 앞에 위치하면 1(양수)를 출력해줌 char을 int로 형변환하여 연산한 값이 출력됨 이 메서드 같은 경우에는..
String 클래스 String클래스는 각각의 메모리를 할당하여 immortable, 즉 내용을 변경할 수 없는 불변 결과값을 출력해준다. 따라서 String연산은 서로 다른 메모리의 값을 합쳐서 새로운 메모리에 할당해주기 때문에 연산의 효율이 떨어진다. 문자의 결합이나 연산이 잦다면 StringBuffer나 StringBuilder를 활용해야 효율이 좋다. String으로 데이터를 할당하면 서로의 메모리를 공유하여 비교연산자를 써도 true가 나오지만 아래처럼 new로 새로 할당해준 경우는 false가 도출된다. 따라서 값을 비교하는 경우는 반드시 equals를 사용할 것 String str = "123"; String str1 = "123"; System.out.println(str == str1);..
Object 클래스 모든 클래스의 최고 조상 - 오직 11개의 메서드만 가지고 있음 1. equals() 객체 자신(this)과 주어진 객체의 주소를 비교, 따라서 아래의 코드는 false가 출력된다 public static void main(String[] args) { test t = new test(0); test t2 = new test(0); System.out.println(t.equals(t2)); //this t 를 object t2랑 비교하는 것이기 때문에 객체의 주소가 다르므로 false } } class test{ int i; public test(int i) { this.i = i; } } 위의 값을 true로 바꾸기 위하여 overriding을 해줘야하는데 아래와 같이 실행할 수 ..