유정잉

4일차 Java [ 문자열 함수 , 메소드 ] 본문

네이버 클라우드 부트캠프/복습 정리

4일차 Java [ 문자열 함수 , 메소드 ]

유정♡ 2024. 2. 23. 17:03

[ String split 함수 ? 문자열 분리 ]

문자열이 구분자를 사용하여 여러 개의 문자열로 구성되어 있을 경우, 이를 따로 분리해서 얻고 싶다면 split() 메소드를 사용한다. 문자열을 일정한 구분자로 잘라서 배열로 저장하기 위해서는 split ( ) 함수를 사용한다. 

String board = "번호,제목,내용,성명" ;

String []array = board.split (",") ;

 

[ String substring  함수 ? 문자열 잘라내기 ]

문자열에서 특정 위치의 문자열을 잘라내어 가져오고 싶다면 substring() 메소드를 사용한다. 문자열의 특정 부분을 잘라내는데 사용하는 함수.

substring (int beginIndex)  => beginIndex에서 끝까지 잘라내기

substring (int beginIndex, int endIndex)  => beginIndex에서 endIndex 앞까지 잘라내기

 

[ String replace  함수 ? 문자열 대체 ]

문자열에서 특정 문자열을 다른 문자열로 대체하고 싶다면 replace() 메소드를 사용한다. replace를 하게 되면 새로운 객체로 만들어진다.

String oldStr = "자바 프로그래밍";

String newStr = oldStr.replace("자바","java");

 

[ String concat 함수 ? 문자열 추가]

사용자가 지정한 것 (문자열, 컬럼) 등의 글자를 합쳐주거나 일괄적으로 글자를 추가하려고 할 때 사용한다.

 

[ String length 함수 ? 문자열 길이 ]

문자열에서 문자의 개수를 얻고 싶다면 length() 메소드를 사용한다. 공백도 포함한다.

String subject = "자바 프로그래밍";

int length = subject.length();

 

[ String charAt 함수 ? 문자열 추출 ]

문자열에서 특정 위치의 문자를 얻고 싶다면 charAt() 메소드를 이용할 수 있다. charAt() 메소드는 매개값이 주어진 인덱스의 문자를 리턴한다.

String subject = "자바 프로그래밍";

char charValue = subject.charAt(3);

 

[ String contains 함수 ? 문자열 찾기 ]

주어진 문자열이 단순히 포함되어 있는지만 조사하고 싶다면 contains() 메소드를 사용한다.

boolean result = subject.contains("프로그래밍");

 

[ String indexOf 함수 ? 문자열 찾기 ]

문자열에서 특정 문자열의 위치를 찾고자 할 때에는 indexOf() 메소드를 사용한다.

String subject = "자바 프로그래밍";

int inedx = subject.indexOf("프로그래밍");

 

“공부는 어렵지만, 재밌네요”라는 문자열을 str에 저장한 후, ","를 기준으로 문자열을 구분해보고, 인덱스 6에 있는 한 글자를 출력, “공부는” 출력


 

[ 메소드 ]

메소드 선언은 객체의 동작을 실행 블록으로 정의하는 것을 말하고, 메소드 호출은 실행 블록을 실제로 실행하는 것을 말한다. 객체간의 상호작용하는 방법을 정의하는 것이라고 볼 수 있다.

 

[ 메소드 선언 ]

리턴 타입 : 메소드가 실행한 후 호출한 곳으로 전달하는 결과값의 타입을 말한다. 리턴값이 없는 메소드는 void로 작성해야한다.

void powerOn() { ... }  // 리턴값의 없는 메소드 선언
double divide(int x, int y) { ... } // double 타입 값을 리턴하는 메소드 선언

 

메소드명 : 메소드명은 첫 문자를 소문자로 시작하고, 캐멀 스타일로 작성한다. 

void run () { ... }
void setSpeed(int speed) { ... }

 

매개변수 : 메소드를 호출할 때 전달한 매개값을 받기 위해 사용된다. 전달할 매개값이 없다면 매개변수는 생략할 수 있다.

실행 블록 : 메소드 호출 시 실행되는 부분이다.

 

[ 메소드 호출 ]

메소드를 호출한 다는 것은 메소드 블록을 실해하는 것을 말한다.

 

[ 메소드 오버로딩 ]

메소드 오버로딩 ( overloading )은 메소드 이름은 같되 매개변수의 타입, 개수, 순서가 다른 메소드를 여러개 선언하는 것을 말한다.

 

[ 인스턴스 멤버 ] 

인스턴스 ( instance ) 멤버란 객체에 소속된 멤버를 말한다. 따라서 객체가 있어야만 사용할 수 있는 멤버다.

public Class Car {   //  인스턴스 필드 선언
    int gas; 
    void setSpeed(int speed) { ... }  // 인스턴스 메소드 선언
}

 

[ this 키워드 ]

객체 내부에서는 인스턴스 멤버에 접근하기 위해 this를 사용할 수 있다. 객체는 자신은 'this' 라고 한다. 생성자와 메소드의 매개변수명이 인스턴스 맴베어니 필드명과 동일한 경우, 인스턴스 필드임을 강조하고자 할 때 this를 주로 사용한다.


 

 

 

 

삼항 조건 연산자를 활용
int a = 0 ; => 지역변수 local variable //  in ( ) ; => 함수 호출
전역변수와  지역변수 설명
매개변수가 배열일 때, 배열을 호출할 때 배열명만 적으면 됨.
+를 입력하면 b+c / -를 입력하면 b-c => switch case문으로
입력한 정수를 출력 받는 예
배열을 이용한 함수 호출

 

 

 

  • 출력을 어디서 할건지가 중요 !
  • main에서 할 거면 함수에서 리턴 !  => 함수 호출과 동시에 출력  => 변수를 주면서 리턴값을 저장
  • 함수에서 할 거면 리턴문 필요없음 ! ( void )

 


 

[ 두 변수의 값 교환 - 1회전 2회전 ]

 

3 2 1 6 5  =>  index[0] index[1] 둘이 비교하면 index[1]이 더 작음

2 3 1 6 5  =>  index[0] index[1] 의 위치 크기 순 (작은거 앞으로 큰거 뒤로) 으로 바뀜

2 1 3 6 5  =>  index[1] index[2] 둘이 비교하면 index[1] index[2]  위치 바뀜. 

2 1 3 5 6  =>  1회전 맨끝까지 한번 돌음. ( 위의 방법 반복해서 처음부터 끝까지 가면 1회전 )

1 2 3 5 6  =>  2회전 끝. ( 숫자 작은순 -> 큰순 배열 완료 )

두 변수의 값 교환 - 1회전 2회전
복습

728x90