코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (393)
    • frameworks (19)
      • spring (19)
      • spring-boot (0)
      • testing (0)
    • languages (94)
      • java (39)
      • kotlin (0)
      • python (42)
      • r (13)
    • libraries (0)
    • programming (239)
      • android (13)
      • c (17)
      • cpp (22)
      • database (18)
      • design-pattern (4)
      • data-structures (11)
      • git (8)
      • hadoop (6)
      • html-css (7)
      • issue (4)
      • javascript (26)
      • jsp (34)
      • os (29)
      • php (6)
      • preferences (19)
      • etc (15)
    • discography (37)
      • k-pop (18)
      • pop (19)
    • blog (3)

블로그 메뉴

  • Programming
  • Java
  • JavaScript
  • Discography
  • K-Pop Songs
  • Pop Songs
  • Blog
  • Guestbook

공지사항

인기 글

태그

  • oracle
  • Spring
  • Java
  • linux
  • javascript
  • Android
  • r
  • 자바스크립트
  • CentOS
  • jsp
  • 파이썬
  • python

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
코락 CoRock

코딩하는 락스타

[Java] 유용한 클래스들
languages/java

[Java] 유용한 클래스들

2018. 9. 30. 10:44
반응형

13. 유용한 클래스들

13.1 Object Class

자바의 최상위 클래스. 11개의 메서드가 지원됨

https://docs.oracle.com/javase/8/docs/api

 

Java Platform SE 8

 

docs.oracle.com

 

 

13.2 String Class

13.2.1 문자열은 문자 배열(char[])로 처리됨

 

13.2.2 String 은 객체 자료형이지만 자주 사용되므로 new 키워드를 생략할 수 있음

// String str = new String("hello");
String str = "hello";

 

13.2.3 String 의 내용 비교

a.equals(b);

// 주솟값을 비교하므로 부정확한 결과가 나올 수 있음
a == b

(image)

 

13.2.4 String 의 사용 방법

13.2.4.1 new 연산자를 사용하지 않을 경우 Heap 내부의 String Constant Pool 에 생성되어 공유됨

String str = "java";

13.2.4.2 new 연산자를 사용하면 항상 새로운 문자열 인스턴스를 생성함

String str = new String("java");

 

13.2.4.3 Heap memory 의 구조

 

13.2.5 String 의 불변성(immutable)

문자열의 내용은 final 문자 배열에 저장되며 수정할 수 없음

/*
 * 참조변수 a 는 String 의 내용을 가리킴
 * String 내용은 final char[] value = { 'h', 'e', 'l', 'l', 'o' }; 형식으로 저장됨
 */ 
String a = "hello";
// 새로운 String 이 만들어지고 a 는 기존의 "hello" 가 아닌 "java" 문자열을 가리키게 됨
a = "java";

 

13.2.6 String 의 초기화

13.2.6.1 빈 문자열("") null

String a = "";
String a = null;

 

13.2.6.2 null
가리키는 내용(참조하는 내용)이 없음, 값이 미정인 상태
참조변수가 가리키는 내용이 없는 상태에서 연산을 하게 되면 NullPointerException 이 발생함

 

13.2.7 문자열과 기본형간의 변환

13.2.7.1 기본형 값을 문자열로 바꾸는 방법

// 100을 "100"으로 변환하는 방법1
String str1 = 100 + "";

// 100을 "100"으로 변환하는 방법2
String str2 = String.valueOf(100);

13.2.7.2 문자열을 기본형 값으로 변환하는 방법

// "100" 을 100 으로 변환하는 방법 1
int i = Integer.parseInt("100");

// "100" 을 100 으로 변환하는 방법 2 (JDK 1.5 이후)
int i2 = Integer.valueOf("100");

// 문자열 "A" 를 문자 'A' 로 변환하는 방법
char c = "A".charAt(0);
기본형 -> 문자열 문자열 -> 기본형
String valueOf(boolean b) boolean Boolean.getBoolean(String s)
String valueOf(char c) byte Byte.parseByte(String s)
  short Short.parseShort(String s)
String valueOf(int i) int Integer.parseInt(String s)
String valueOf(long l) long Long.parseLong(String s)
String valueOf(float f) float Float.parseFloat(String s)
String valueOf(double d) double Double.parseDouble(String s)

 

13.2.8 String 클래스의 메서드

public class Replace {

    public static void main(String[] args) {
        String a = "java program";
        // System.out.println(a.replace("a", "A"));
        // System.out.println(a);

        a = a.replace("a", "A");
        System.out.println(a);
    }

}

 

13.3 StringBuffer, StringBuilder

13.3.1 String 처럼 문자형 배열(char[])을 내부적으로 가지고 있다.

13.3.2 String 클래스와 달리 내용을 변경할 수 있음(mutable)

StringBuffer sb = new StringBuffer("abc");
sb.append("123");

 

public class Append {

    public static void main(String[] args) {
        String a = "hello";
        a = a + "java";
        System.out.println(a);

        StringBuilder b = new StringBuilder("hello");
        b.append("java");
        System.out.println();
    }

}

 

13.4 Math 클래스

수학 계산에 유용한 변수들과 메서드로 구성됨

메서드 및 상숫값 예시
절대값 Math.abs(-2);
버림 Math.floor(3.15);
반올림 Math.round(8.2);
올림 Math.ceil(3.1);
제곱근 Math.sqrt(100);
큰값 Math.max(10, 20);
작은값 Math.min(10, 20);
원주율 Math.PI;
제곱 Math.pow(10, 3);
난수 Math.random();

 

13.5 래퍼(wrapper) 클래스

13.5.1 기본 자료형을 클래스로 정의한 것. 기본형 값을 객체로 변환하여 다양한 기능 제공

Integer i = 10;
System.out.println(i);

 

13.5.2 내부적으로 기본형(primitive type) 변수를 가지고 있음

 

13.6 실습 예제

13.6.1 Obj.java

13.6.2 ToStr.java

13.6.3 ObjCast.java

13.6.5 Clone.java

13.6.8 StrBuilder.java

13.6.9 StrToken.java

13.6.11 LeapYear.java

13.6.12 Arr.java

13.6.13 ArrEqual.java

13.6.15 Rand.java

13.6.16 Wrapper.java

13.6.17 WrapChar.java

반응형
저작자표시 비영리 변경금지 (새창열림)
    'languages/java' 카테고리의 다른 글
    • [Java] 입출력
    • [Java] 멀티 스레드 (Multil Thread)
    • [Java] 내부 클래스
    • [Java] class(추상화)
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바