JAVA 입문 시작

22.11.30 기본 자바 API , clone (클론), 문자열메소드,수학메소드,Wapper

강준석 2022. 11. 30. 15:59
728x90
package 자바API;

public class Sample01 {

	public static void main(String[] args) {
		// equals 메서드

		String str1 = new String("abc"); // String str1 = "abc"
		String str2 = new String("abc");

		System.out.println("str1: "+ str1.hashCode());
		System.out.println("str1: "+ str2.hashCode());
		System.out.println("str1: "+ System.identityHashCode(str1));
		System.out.println("str2: "+ System.identityHashCode(str2));
		
		if (str1 == str2) {
			System.out.println("같다");

		} else {
			System.out.println("다르다");
		}

		if (str1.equals(str2)) {
			System.out.println("같다");
		} else {
			System.out.println("다르다");
		}
	}
}

뭔말이야...

 

클론 clone 복제

package 자바API;

public class Sample02 {

	public static void main(String[] args) {

		// Clone 클론, 개체복사
		String[] arr = { "홍", "이", "김", "안" };
		String[] arr2 = arr.clone();

		for (String a : arr) {
			System.out.println(a);
		}
		
		arr2[1] = "박";  // 복제본에만 영향을 줌, 복제본과 원본은 이어져있는게 아님

		for (String a : arr2) {
			System.out.println(a);

		}
	}
}

스타워즈 클론전쟁아냐? 개꿀잼 스타워즈~

 

각종 유용한 메소드 코드...

줫나 많네

 

자바 API(Java API)는 자바를 사용하여 쉽게 구현할 수 있도록 한 클래스 라이브러리의 집합이다.

 

출처) 같이 공부하는 코천(코딩천재라는 뜻 ㅋ)성님.

 

 

문자열관련 메소드 모음집

 

package 자바API;

public class Sample03 {

	public static void main(String[] args) {

		String str = "     Hello My Name is Kang Jun Seok";
		// 블링블링 이즈 준석 마이 네임 이즈 준석
		
		System.out.println(str.charAt(6));		 
		//str안에 "6번째 글짜가 출력"(띄어쓰기 포함해서 6번째)
		
		System.out.println(str.indexOf("Kang")); 
		//해당 문자의" 시작 위치" 알려주기(여러게의 중복 문자가 있을 시 먼저 있는 문자만 알려줌)
		
		System.out.println(str.substring(17));	 
		//(17) 17번째부터 "끝"까지 문자를 출력(띄어쓰기 포함)
		
		System.out.println(str.substring(6,17));
		//(6,17) 6번째~17번째 "전" 까지의 문자를 출력
		
		System.out.println(str.toLowerCase());	 
		//입력된 "대문자"를 모두 "소문자"로 변경
		
		System.out.println(str.toUpperCase());  
		//입력된 "소문자"를 모두 "대문자"로 변경
		
		System.out.println(str.length());		
		//입력된 문자의 길이(갯수) 출력
		
		System.out.println(str.startsWith("Hello")); 
		//("Hello")로 문자가 시작되냐를 false/true 로 출력
		
		System.out.println(str.endsWith("Seok"));   
		//("Seok")로 문자가 끝나냐를 false/true 로 출력
		
		System.out.println(str.replace("Kang", "kim")); 
		//("kang","kim")  문자에 Kang을 Kim으로 바꿔라
		
		System.out.println(str.replaceAll(" ", "."));	 
		//(" ",".") 문자안에 모든 띄어쓰기(" ")를 콤마(".")로 변경해라 ("n","")로 하면 n은 빠지고 아무것도 안들어간다 
		
		System.out.println(str.toString());
		//문자열을 그냥 출력
		
		System.out.println(str.trim());
		//문자열 안에 불필요한 공백을 삭제 (보통 앞뒤에 있는 공백을 삭제)
		
		
		str = "홍,이,유,안";
		
		String[]arr = str.split(",");
		// (",")/콤마/를 기준으로 눠서 배열방을 만들어 저장
		for(String a : arr) {
			System.out.println(a);
		}
		
	}

}

응~~ 너무많아~ 못 외우면 끝이야~

.

.

.

.

.

.

응 또있어~

 

package 자바API;

public class Sample05 {

	public static void main(String[] args) {
		
		StringBuffer sb = new StringBuffer();
		
		System.out.println(sb);
		
		sb.append("abc").append(123).append("A").append(false);
		//메서드 체인이라고 한다
		System.out.println(sb);
		
		sb.delete(2, 4);
		//문자열"2번째부터 4번째전"까지 지우기(2이상 4미만)
		System.out.println(sb);
		
		sb.deleteCharAt(4);
		//(4)특정위치에 있는 것을 삭제
		System.out.println(sb);
		
		sb.insert(5, "==");
		//(5,"==") 5번째자리 문자를 "=="로 변경
		System.out.println(sb);
	}

}

 

처리속도 측정하기

 

package 자바API;

public class Sample06 {

	public static void main(String[] args) {
		
		
		long start = System.currentTimeMillis();
		// 현재 시간을 밀리세컨드(1000/1초)까지 알려줌
		
		String str = "";
		
		for(int i=0; i<100000; i++) {
			str += i;
					
		}
		
		long end = System.currentTimeMillis();
		
		System.out.println((end-start)/1000);
		
		//for문의 처리 속도 출력
		
	}

}

재미로 해봐라 ㅋ

 

수학에 관련된 메소드 모음

 

package 자바API;

public class Sample07 {

	public static void main(String[] args) {
		
		System.out.println(Math.ceil(5.4));
		//(5.4)를 올림처리 (반올림아님)
		
		System.out.println(Math.floor(5.8));
		//(5.8)를 내림처리
		
		System.out.println(Math.round(5.4));
		System.out.println(Math.round(5.6));
		//()를 반올림 
		
		System.out.println(Math.abs(-10));
		//(-10)의 절댓값을 출력
		
		System.out.println(Math.max(5,3));
		//최대값 구하기
		
		System.out.println(Math.min(5,3));
		//최소값 구하기
		
		System.out.println(Math.random());
		//0이상 1미만 중 랜덤한 수 출력
		
		int a =(int)(Math.random()*45+1);
		System.out.println(a);
		//(위에꺼 응용)1~45의 랜덤한 수 출력
		
		System.out.println(Math.rint(5.4));
		System.out.println(Math.rint(-5.4));
		// 실수형을 유지한채로 소숫점 아래는 버림 그래서 5.0 -5.0으로 출력
		
		System.out.println(Math.PI);
		// 그냥 파이(PI)값을 출력 (메서드가 아닌 상수취급)
	}

}

 

 

 

나 중3 2학기 기말때 수학 100점 받은 젃 있음 ㅎㅎ

 

 

Wrapper

// Wrapper란
// int, double, char, lang = 을 객체화하고싶을때 사용

 

 

예시...예시를 보자

박싱과 언박싱

package 자바API;

public class Sample08 {

	// Wrapper란
	// int, double, char, lang = 을 객체화하고싶을때 사용

	public static void main(String[] args) {
		
		Integer i1 = new Integer(10);	// 박싱이라고 함 객체화 시키는 것
		Integer i2 = new Integer(10);
		
		System.out.println( i1 == i2 );
		// 각다른 객체로 만들어졌기 때문에 false (10이란 값이 들어간 객체가 다르기때문)
		System.out.println( i1.equals(i2) );
		// 객체내부의 값은 10 이므로 같다라고 나온다
		
		System.out.println(i1==10);		// 언박싱 객체화 됬던 것을 
		
		Integer num = new Integer(10); // 박싱
		int n = num.intValue();		   // 언박싱 (박싱된 객체를 기본타입으로 다시 변경)
		
		Character c = 'a';	//오토 박싱		
		char ch = c;		//오토 언박싱
;	
	
	}

}

출력

 

false
true
true

 

 

package 자바API;

public class Sample09 {

	public static void main(String[] args) {

		Integer num1 = 7; // 오토박싱
		Integer num2 = new Integer(3); // 박싱

		int int1 = num1; // 오토 언박싱
		int int2 = num2.intValue(); // 언박싱

		Integer result1 = num1 + num2;
		Integer result2 = int1 + int2;

		int result3 = num1 + int1;
		
		System.out.println(result1);
		System.out.println(result2);
		System.out.println(result3);
	}

}

출력

10
10
14

 

 

랜덤 클래스 불러오기

 

package 자바API;
							// 랜덤한 클래스 불러 오기
import java.util.Random;

public class Sample10 {

	public static void main(String[] args) {
		
		Random r1 = new Random();
		
		System.out.println(r1.nextInt());		//Random 클래스안에 메서드중에 nextInt를 불러온다
		System.out.println(r1.nextDouble());	//Random 클래스안에 메서드중에 nextDouble를 불러온다
		System.out.println(r1.nextBoolean());	//Random 클래스안에 메서드중에 nextBoolean를 불러온다
		
		
		

	}

}

결과

-91194771
0.5344609906826308
true

랜덤으로 뜸 ㅋㅋ 

 

오늘은 여기까지 안뇽~ ㅅㅂㄳㅄㅄㅄㅄㅄㅄㅅㅄㅂ 존나 힘드내

 

728x90