반응형
package java_method;

public class Methods {

	public static void main(String[] args) {
		
		Object obj = new Object();
		System.out.println(obj.toString()); // toString() Object를 문자열로 표현
		
//		----------------------------------------------------------------------------------------
		
		long time1 = System.currentTimeMillis(); 
		int sum = 0;
		
		for (int i = 1 ; i <= 1000000; i++) {
			sum = sum + i;
		}
		
		long time2 =  System.currentTimeMillis();

		System.out.println("1 ~ 1000000까지 합 "+sum);
		System.out.println("계산에 " + (time2 - time1) + "밀리초가 소요되었습니다.");
		
//		----------------------------------------------------------------------------------------
		
		String ssn = "7345354252";
		int length = ssn.length();
		
		if (length == 13) {
			System.out.println("주민번호 자리수가 맞습니다.");
		}else
		{
			System.out.println("주민번호 자리수가 틀립니다.");
		}
		
//		----------------------------------------------------------------------------------------
		
		String oldStr = "자바는 객체지향언어 입니다. 자바는 풍부한 API를 지원합니다.";
		String newStr = oldStr.replace("자바", "Java"); // 자바라는 것을 Java로 바꾼다
		
		System.out.println(oldStr);
		System.out.println(newStr);
		
//		----------------------------------------------------------------------------------------
		
		String ssn2 = "880815-1234567 ";
		
		String firstNum = ssn2.substring(0,6); // 880815 : 0 ~ 6까지
		System.out.println(firstNum);
		
		String secondNum = ssn2.substring(3); // 815-1234567 : 3개 제외한 모든 것 (공백 들어가있음)
		System.out.println(secondNum);
		
//		----------------------------------------------------------------------------------------
		String str1 = "Java Programing";
		String str2 = "JAVA Programing";
		
		System.out.println(str1.equals(str2)); // false
		
//		----------------------------------------------------------------------------------------
		
		String lowerStr1 = str1.toUpperCase(); // 대문자 변환 JAVA PROGRAMING
		System.out.println(lowerStr1);
		
		String lowerStr2 = str2.toLowerCase(); // 소문자 변환 java programing
		System.out.println(lowerStr2);

//		----------------------------------------------------------------------------------------
		
		String tel1 = " 02"; 
		String tel2 = "123   ";
		String tel3 = "    1234  ";
		
		String tel = tel1.trim() + tel2.trim() + tel3.trim(); // 공백 없애기
		
		System.out.println(tel); //021231234

//		----------------------------------------------------------------------------------------
		
		String str3 = String.valueOf(10); // 문자열로 변환
		String str4 = String.valueOf(10.5); // 문자열로 변환
		String str5 = String.valueOf(true); // 문자열로 변환
		
		System.out.println(str3); // 10
		System.out.println(str4); // 10.5
		System.out.println(str5); // true
		
//		----------------------------------------------------------------------------------------
		
		String str6 = "togeth";
		String str7 = "er";
		
		String str8 = str6.concat(str7); // together
		System.out.println(str8);
		
		String str9 = str6 + str7; // together
		System.out.println(str9);
		
		
	}

}

toString()

     String형으로 형변환하는 것을 의미합니다.

 

 

Object obj = new Object(); 여기에서 Object라는게 있는데 Object도 자료형입니다.

기본 int float 등의 자료형을 모두 포함하는 조상 자료형입니다.

float가 int형보다 더 많이 표현 가능하고 int형을 다 표현할 수 있는 거 처럼 모든 자료형들의 조상입니다.

 

여기에서 보면 우리가 클래스를 만들 때 무심코 지나쳤지만

java.lang.Object라고 되어있죠? 기본적으로 Object형을 상속받아서 쓴다는 의미입니다.

 

또한 컨트롤 누르고 Object에 가져다대면 밑줄이 나오는데 그걸 누르면

그 Objec에 관한 클래스 정보가 들어있는 곳으로 이동이 가능합니다.

 

 

이런식으로 자바를 만든 사람이 사람들이 쓰기 편하라고 String Array등 이런식으로 만들어놨기 때문에

우리는 편하게 쓰기만 하면 되는 겁니다.

 

currentTimeMillis()

     실행하고 저 함수를 쓴 부분까지의 밀리초를 재줍니다.

 

for (int i = 1 ; i <= 1000000; i++) {
    sum = sum + i;
}

이 for문이 실행하기 전에 한번 시간을 재고 ( long time1 = System.currentTimeMillis(); )
끝나고 나서 시간을 재서 ( long time2 =  System.currentTimeMillis(); )

 

 

length()

     문자열의 길이를 재줍니다.

 

replace()

     문자를 바꿔줍니다.

String newStr = oldStr.replace("자바", "Java"); 여기에서 보면 자바라는 단어를 Java로 바꿉니다.

 

    

substring()

     문자열의 범위로 표현해줍니다.

     

ssn2.substring(0,6); 은 0 ~ 5번째 인덱스까지 표현해줍니다.
ssn2.substring(3); 은 2번째 인덱스부터 끝까지 표현해줍니다.

 

 

equals()

     객체를 비교할 때 씁니다. == 와 혼동할 수 있는데 기본 자료형 제외하고

     String같은 객체는 무조건 equals로 해야합니다. 그에 대한 이유는 메모리 저장구조에 있는데

     참조형(Reference Type)의 데이터 타입을 갖는 객체, 배열 등은 Heap 영역에 데이터가 저장됩니다.

     데이터는 Heap 영역에 저장되고 그에 해당하는 객체들이 데이터를 가르킵니다. 이렇기 때문에

     equals로 주소값을 비교한다고 생각하시면 됩니다.

 

str1.equals(str2) 는 str1 과 str2는 주소값이 같냐 이 말입니다.

 

 

toUpperCase()

     소문자 문자열을 대문자로 다 바꿔줍니다.

 

toLowerCase()

     대문자를 소문자로 다 바꿔줍니다.

 

trim()

     문자열에 들어있는 공백을 없애줍니다.

 

String.valueOf(), 

     문자열로 변환시켜줍니다. 

     toString()은 null값일시 NullPointException 오류를 내보냅니다.

     String.valueOf()은 파라미터가 null이면 문자열 "null"을 만들어서 반환을 하는 점에서 자릅니다.

 

concat()

     문자열과 문자열을 연결해주는 역할을 해줍니다.

 

String str8 = str6.concat(str7);은 str6의 문자열(togeth)과 str7의 문자열(er)를 합쳐줍니다.

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형