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