본문 바로가기
카테고리 없음

자바 문법 정리

by 잉ㅈI 2023. 10. 23.

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진수로 실제 주소 아닌 내부 주소

->배열을 출력하고 싶으면

  1. for 문을 이용하여 출력
  2. 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]+",");