JAVA 정수 및 실수를, 클래스로 생성하는 방법 // 문자열을 숫자로 변환, 숫자를 문자열로 변환하는 방법 // 문자열을 처리하는, 함수들
public class StringMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 문자열 생성 2가지 방법
String str1 = "Hello";
String str2 = new String("java");
// 정수, 실수 등을 클래스로 생성하는 방법
int num1 = 5;
Integer num2 = 5 ;
System.out.println(num1);
System.out.println(num2);
System.out.println(num1+num2);

Float num3 = 3.0f;
float num4 = 4f;
double num5 = 3.11;
Double num6 = 5.3;
// 문자열을 붙이는 방법
String result = str1 + " " + str2;
System.out.println(result);

String str3 = "317" ;
System.out.println(str3 + 100);

// 문자열을 숫자로 바꾸는 방법
int a = Integer.valueOf(str3).intValue();
System.out.println(a + 100);

a = Integer.parseInt(str3);
String str4 = "3.14";
double b = Double.valueOf(str4).doubleValue();
System.out.println( b + 100 );

b = Double.parseDouble(str4);
// 숫자를 문자열로 변환하는 방법
int k = 365;
String data = String.valueOf(k);
double j = 123.54;
data = String.valueOf(j);
data = Integer.toString(k);
Double.toString(j);
// 문자열 관련 함수들!!
String data1 = "abc";
// concat 함수
System.out.println(data1.concat("hello"));

// 문자열 길이 구하는 함수 length
System.out.println(data1.length());

// 문자열 슬라이싱 하는 함수 substring
data1 = "hello World";
System.out.println( data1.substring(6, 10+1) );

// 문자열을 분리하는 함수 split
data1 = "red, blue, white";
String[] strArray = data1.split(", ");
for(int i = 0; i < strArray.length ; i++) {
System.out.println( strArray[i] );
}

// 문자열에 왼쪽끝이나 오른쪽끝에 붙어있는,
// 의미없는 공백을 제거하는 함수 trim
data1 = " abc@naver.com ";
String data2 = "abc@naver.com";
result = data1.trim();
System.out.println(data1);
System.out.println(result);

// 대소문자 변환
System.out.println( data2.toUpperCase() );
System.out.println( data2.toLowerCase() );
System.out.println( data1.trim().toUpperCase() );

// 특정 문자열이 어디에 있는지 , 인덱스를 알려주는 함수 indexOf
int index = data2.indexOf("@");
System.out.println( index );

index = data2.indexOf(".com");
System.out.println(index);

// 특정 문자열을 포함하고 있니?? contains
boolean ret = data2.contains("abc");
System.out.println( ret );

ret = data2.contains("@");
System.out.println( ret );

// abc@naver.com
// 문자열 비교(작냐,크냐,같냐)하는 함수 compareTo
// 문자열의 길이를 비교하여 반환 // 하지만 비교할수 없다면 아스키 코드로 빼서 반환
// 예를들어 "abhg".compareTo("h"); // -7
// a = 97 / h = 104 이기때문에 차이가 -7인것.
// 두번째 예 "abcd".compareTo("abfd"); // -3
// ab는 동일 c 와 f 에서 비교가 불가능 // 그렇기 때문에 c = 99 / f = 102 차이값은 - 3
if (data2.compareTo("ab") < 0) {
System.out.println( "작다" );
} else if ( data2.compareTo("ab") > 0) {
System.out.println( "크다" );
} else {
System.out.println( "같다");
}

// 문자열이 같은지 확인하는 함수 equals
ret = data2.equals("abc@naver.com");
System.out.println( ret );

}
}