[JAVA] 깊은복사 | Clone | String(고정문자열) | String.split(정규식문자열) | Math() 클래스 | 래퍼(wrapper) 클래스 | Random 클래스
24.04.18 44일차
깊은 복사
원본 배열 혹은 타겟 배열을 수정하여도 타겟 배열 혹은 원본 배열이 수정되지 않음
clone()
system.arraycopy()
for(arr > arr)
얕은 복사
Clone
String (고정 문자열)
String a = "hong" 으로 설정한 후 "kim"으로 변경을 하여도 메모리 어딘가에 있는 "hong"이 변경되거나 삭제되지 않음
> 새로운 주소에 "kim"이 생긴 후 String a가 바라보는 주소가 "kim"으로 변경됨
indexOf()
substring()
charAt()
replace()
String.split (정규식문자열)
1) 문자열을 분리하여 배열형으로 반환
2) 무효의 문자열도 배열에 포함된다
String str="a,b,c,,,,d,e,f"; //값이 없이 ,,,만 존재하는 것을 무효의 문자라 부름
split(regex, limit)
limit의 숫자만큼만 쪼개기 = 쪼갤 갯수
** 문자열은 하나의 통으로 보기 때문에 묶어서 사용 불가
많은 양의 영문 나누기
String.split() 응용
아래와 같은 데이터를 엑셀에서 받아와 저장하였다.
각각의 행의 값을 사용하여 총점, 평균을 계산하여 화면에 출력하시오.
String data = "
홍길동,90,90,90/
일지매,80,80,80/
춘향이,70,70,70"
이름 국어 영어 수학 총점 평균
---------------------------------------------
홍길동 90 90 90 270 90
일지매 80 80 80 240 80
춘향이 70 70 70 210 70
StringBuilder
Math() 클래스
Math.ceil(n) : n보다 크거나 같은 값을 반환
Math.floor(n) : n보다 작거나 같은 값을 반환
Math.round(n,m) : n을 m자리에서 반올림한 값 반환
래퍼(wrapper) 클래스
- auto boxing(자동 객체화)
- auto unboxing(자동 기본형화)
Long l = new Long(100L);
Long l = 100L; //auto boxing
long k = l.valueOf();
System.out.println(l)
String p="3.14";
double d = (double)p; //x
d=Double.parseDouble(p); //3.14
java.util.Random 클래스
java.util.Random() VS Math.random()
1) 정수형, 실수형을 지정하여 발생시킴
2) seed값을 지정하여 일정한 난수를 순서대로 발생시킴
(Math.random()*6)+1 >>> 1~6의 난수
new Random(6)+1 >>> 1~6의 난수
[JAVA]Stack & Queue | Sort | Comparator / Comparable (0) | 2024.04.22 |
---|---|
[JAVA] 정규식문자열 | trim() | StringTokenizer | Date&Calendar | Decimal Format | Collection (0) | 2024.04.19 |
[JAVA] 재정의 | equals (0) | 2024.04.16 |
[JAVA] 추상클래스 | 다형성 | 인터페이스 | 내부클래스 | 예외처리 (0) | 2024.04.16 |
[JAVA] 상속 (0) | 2024.04.15 |