Math 메서드
"자바의 정석"에서 예제를 풀다가 익숙하지 않은 메서드를 정리해보기로 했다!!
Math.round(double x)
매개변수로 받은 x(실수형: double, float)를 소수점 첫째자리에서 반올림 -> 정수로 돌려주는 메서드 (반환 값: long 정수형)
double pi = 3.141592;
dobule shortPi = Math.round(pi*1000)/10000.0;
System.out.println(shortPi); //3.142
더보기
->Math.round(3.141592*1000)/10000.0
->Math.round(3141.592)/10000.0
->3142/1000.0
->3.142
Math.sqrt(double x)
sqrt(Square Root를 의미 -> 제곱근), x의 제곱근을 돌려주는 메서드(반환 값: double 실수형)
equals 메서드
equals()
비교하는 두 문자열이 같으면 true를, 다르면 false를 반환(대소문자 구분함)
equalsIgnoreCase()
equals()와 같지만, 대소문자 구분 안함
예시)
String str1 = "abc";
String str2 = new String("abc");
System.out.println(str1=="abc); //true
System.out.println(str2=="abc); //false
System.out.println(str1.equals("abc")); //true
System.out.println(str2.equals("abc")); //true
System.out.println(str2.equals("ABC")); //false(대소문자 구분X)
System.out.println(str2.equals("ABC")); //true(대소문자 구분O)
System.out.println(str2=="abc); //false
내용은 같지만 서로 다른 객체라서 false
->equals()는 객체 달라도 내용이 같으면 true
charAt 메소드
문자열.charAt(index)
문자열의 index번째 문자 반환
index 는 연속된 정수값으로, 0부터 시작
예시)
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
char result = input.charAt(3); //입력받은 번호의 4번째 문자를 result에 저장
Arrays 메소드
Arrays.toString(배열이름)
배열의 모든 요소를 '[첫번째 요소, 두번째 요소, ...]' 와 같은 형식의 문자열로 만들어 반환
배열을 바로 출력하면 -> '타입@주소' 형식으로 출력됨
타입: [I (1차원 int배열을 의미)
주소: 16진수로 실제 주소 아닌 내부 주소
->배열을 출력하고 싶으면
- for 문을 이용하여 출력
- Arrays.toString() 메서드 이용
예시)
int[] iArr1 = new int[] {100, 95, 80, 70, 60};
System.out.println(Arrays.toString(iArr1)); //[100, 95, 80, 70, 60]
System.out.println(iArr1); //[I@63961c42
for(int i=0; i<iArr1.length; i++) { //100,95,80,70,60,
System.out.print(iArr1[i]+",");