WrapperClass

Posted 2015. 4. 10. 15:55

package chap9;

// wrapper 클래스 : 기본형 8개를 클래스화 한 클래스
//     => 기본형을 객체화 할때 사용
// 종류
// 기본형  wrapper 클래스
// boolean Boolean
// char  Character
// byte  Byte
// short Short
// int  Integer
// long  Long
// float Float
// double Double

// 기본형과 참조형은 서로 형변환되지 않는다.
// 단,
//  기본형과 wrapper 클래스는 형변환이 된다.( jdk 5.0 이후 )
//  기본형 ---> wrapper클래스 : auto Boxing
// 기본형 <--- wrapper클래스 : auto UnBoxing

public class WrapperEx1 {
 public static void main(String[] args) {
  Integer i1 = new Integer(100);
  Integer i2 = new Integer(100);
  System.out.println("i1 == i2 ?" + (i1 == i2) );
  System.out.println("i1.equals(i2)" + i1.equals(i2));
  System.out.println("i1.toString()" + i1.toString());
  System.out.println("MAX_VALUE : " + Integer.MAX_VALUE);
  System.out.println("MIN_VALUE : " + Integer.MIN_VALUE);
  
  // double 타입의 자료의 최대값 출력
  System.out.println("double의 최대값 : " + Double.MAX_VALUE);
  
  // 크기
  System.out.println("int bit :" + Integer.SIZE);
  
  // 기본형 < = wrapper 클래스
  int pi = i1.intValue(); // 5.0 이전 버전
  pi = i1; // 5.0 이후 버전( unboxing )
  
  // 기본형 <- String : 메서드 사용이 필수. String이 기본형이 아님.
  pi = Integer.parseInt("123");
  System.out.println(pi);
  
  // "12.3" => double형으로 변경
  double pd = Double.parseDouble("12.3");
  System.out.println(pd);
  
  // "123.5" -> float형으로 변경
  float pf = Float.parseFloat("123.5");
  System.out.println(pf);
  
  // 16진수로 변경도 가능.
  pi = Integer.parseInt("FF", 16);
  System.out.println(pi);
 }
}

 

'Java !!!' 카테고리의 다른 글

Wrapper_Ex3  (0) 2015.04.10
Wrapper_Ex2  (0) 2015.04.10
String  (0) 2015.04.10
HashCode  (0) 2015.04.10
Equals_Ex2  (0) 2015.04.10

String

Posted 2015. 4. 10. 15:55

package chap9;

import java.io.ObjectInputStream.GetField;

// String 클래스의 메서드 연습

public class StringEx2 {
 public static void main(String[] args) {
  String s = new String("ABCDEFGH");
  
  // charAt(4) : 4번 인덱스의 문자를 리턴
  System.out.println(s.charAt(4)); // E
  
  // compareTo() : 나의 문자 - 대상문자의 차를 리턴
  // 정렬에서 사용되는 메서드
  System.out.println(s.compareTo("abc")); // -32
  
  // IgnoreCase : 대소문자 구별없이 무시하고 문자열이 같은지?
  System.out.println(s.compareToIgnoreCase("abcdefgh")); // 0
  
  // concat : s + "abc" 두 문자열을 연결해주는 메서드
  System.out.println(s.concat("abc")); // ABCDEFGHabc
  
  // endsWith("FGH") : s 문자열의 끝이 FGH? 맞으면 true, 아니면 false
  System.out.println(s.endsWith("FGH")); // true
  
  // equals("ABCDEFGH") : "ABCDEFGH" 문자열의 내용이 같은지?
  System.out.println(s.equals("ABCDEFGH")); // true
  System.out.println(s.equalsIgnoreCase("abcdefgh")); // true
  

  String s1 = new String("This is a String");
  // 2 : i 문자의 위치(index)를 리턴, 중복일 경우 가장 앞의 index를 리턴
  System.out.println(s1.indexOf('i'));  
  System.out.println(s1.indexOf("is"));  // 2
  
  // 13 : 뒤에 넘긴 값의 index번째 부터 검색해서 index를 넘김
  System.out.println(s1.indexOf('i',7));  
  System.out.println(s1.indexOf("i",5));  // 5 : 5번 인덱스도 포함된다.

  // 5 : 찾는건 뒤에서 부터찾는데 리턴 index값은 앞에서부터 샌다.
  System.out.println(s1.lastIndexOf("is")); 
  
  // 16 : 문자열의 길이.
  System.out.println(s1.length());  
  
  // 모든 i를 Q로 바꾼다.
  System.out.println(s1.replace('i', 'Q'));
  System.out.println(s1.replace("is", "IS")); // 모든 is를 IS로 바꾼다.
  System.out.println(s1.replaceAll("is", "IS")); // 문자열 is를 IS로 바꾼다.
  
  // 시작이 해당 문자와 같으면 true, 다르면 false
  System.out.println(s1.startsWith("This"));
  
  // 5번 인덱스 부터 끝까지를 부분 문자열로 리턴
  System.out.println(s1.substring(5));
  System.out.println(s1.substring(5, 13)); // 5번부터 13-1번 까지 출력(12번 index)
  
  // 모두 소문자로 출력, 모두 대문자로 출력
  System.out.println(s1.toLowerCase());
  System.out.println(s1.toUpperCase());
  
  String s2 = "a,b,c,d,e,f,g,h";
  // split(",") : ,를 기준으로 문자열을 분리. 해당 문자열을 기준으로 문자열을 분리!!
  String[] tokens = s2.split(",");
  for( String str : tokens ){
   System.out.println(str);
  }
  
  // trim() : 양쪽의 공백을 제거. 단, 문자열 사이의 공백은 제거하지 않는다.
  System.out.println(new String("   a b c   ").trim());
  
  // valueOf : 기본형을 문자열로 변형 하는 메서드
  System.out.println(String.valueOf(true) + "123");
  System.out.println(true + "123");
  
  // 문자열 => 기본형 메서드
  System.out.println(Integer.parseInt("123") + 5);
  System.out.println(Float.parseFloat("12.3") + 10);
  
  // JDK 5.0이후 버전에서만 가능
  // %.숫자만큼 짜르고, 반올림 한다.
  // format("형식제어문자",값)
  String sf = String.format("%.2f", 12.3456);
  System.out.println(sf);
  
 }
}


 

'Java !!!' 카테고리의 다른 글

Wrapper_Ex2  (0) 2015.04.10
WrapperClass  (0) 2015.04.10
HashCode  (0) 2015.04.10
Equals_Ex2  (0) 2015.04.10
Equals  (0) 2015.04.10

HashCode

Posted 2015. 4. 10. 15:54

package chap9;

// 해쉬코드란 객체를 구별하는 고유의 값( 주소값 )
// 두 객체의 해쉬코드값이 다른 경우는 두 객체는 서로 다른 객체다.
// hashCode() 메서드는 내용이 같으면 같은값이 나오도록
// 오버라이딩이 가능 하다.
// -> Collection에서 다시 설명

// 객체의 내용이 같은지를 판단하는 기준이 되는 메서드는
// equals() 메서드와 hashCode() 메서드를 사용 한다.

public class HashCodeEx1 {
 public static void main(String[] args) {
  String str1 = new String("abc");
  String str2 = new String("abc");
  
  // 스트링은 오버라이딩이 되어있다. 같은 hashCode값이 나온다.
  System.out.println(str1.hashCode());
  System.out.println(str2.hashCode());
  
  if( str1 == str2 ) System.out.println("두 문자열은 같다");
  else System.out.println("두 문자열은 다르다");
  
  // 원래의 해쉬코드값을 구하기 위해서는( 오버라이딩 하지않은 원래의 해쉬값 )
  System.out.println(System.identityHashCode(str1));
  System.out.println(System.identityHashCode(str2));
  System.out.println();
  
  
  Value2 v1 = new Value2(10);
  Value2 v2 = new Value2(10);
  System.out.println(v1.hashCode());
  System.out.println(v2.hashCode());
  System.out.println(System.identityHashCode(v1));
  System.out.println(System.identityHashCode(v2));
 }
}

'Java !!!' 카테고리의 다른 글

WrapperClass  (0) 2015.04.10
String  (0) 2015.04.10
Equals_Ex2  (0) 2015.04.10
Equals  (0) 2015.04.10
StringBuffer_Ex2  (0) 2015.04.10
« PREV : 1 : ··· : 7 : 8 : 9 : 10 : 11 : 12 : 13 : ··· : 77 : NEXT »