리우's IT Story
article thumbnail
728x90
반응형

2023.05.24 - [JAVA기초] - 함수(function)

 

함수(function)

2023.05.24 - [JAVA기초] - 자바의 배열(Array)과 인덱스,forEach문 자바의 배열(Array)과 인덱스,forEach문 2023.05.23 - [JAVA기초] - for문 for문 2023.05.19 - [JAVA기초] - 제어문과 분기문(control statement) 제어문과 분기

ji7290.tistory.com

 

이전 글에서는 함수에 대해 배우고 몇가지 문제를 풀어보았다. 

 

이번글에서는 문자열의 내장함수를 배워보자 .

 

 

자바의 문자열은 단순 값만 저장하지 않고, 부가적인 기능(함수)이 포함되어 있다.

 

정수형 변수 n1에 Hello 인덱스값을 저장
index에 들어있는 문자 출력

문자열 클래스에서 호출하여 실행할 수 있는 함수의 종류 

charAt(int index)  :
문자열을 배열로 가정했을 경우 , 지정한 index에 있는 글자하나를 char형으로 변환

s1의 0과 1의 인덱스 출력

 

내장함수 charAt의 내부코드를 확인하는 방법

문자열의 내장함수에서 컨트롤을 클릭
attach source 버튼 클릭

 

attach source를 클릭하면  상단의 경로에 src.zip이 있다 클릭하면
자바의 내장함수들의 코드들을 보여준다.
자바의 문자열이 가지고있는 내장함수 charAt()의 코드

 

 s.comareTo(String anotherString)
문자열의 다른 문자열과 비교하여 정렬 (대소관계를 정수로 반환한다.) 

 

숫자는 크기비교 연산자로 대소관계를 빠르게 파악할 수 있지만 문자열은 크기비교의 코드가 복잡하다. 

s.compareTo는 문자열끼리의 비교가 가능하다.

서로다른 두개의 문자열을 비교했을때 변수의 값을 서로 바꾼다(정렬)

정수를 비교할때에는

if (a>b){...}  == if(a-b > 0){ ... }  이렇게 쓰면되지만  문자열의 대소관계를 파악해서 정렬하고싶다면 

compareTo함수를 이용해서  정렬을 만들어낼 수 있게된다. 

 

 

 

compareTo를 활용한 정렬코드

내장함수 sort를 컨트롤을 눌러 끝까지  따라들어가보면 compareTo라는 함수가 있다. 

내장함수sort가 내장함수 compareTo를 쓰고있다.
arr4의 배열을 a,b,c순으로 정렬

 

 

 

A.concat(B) :A뒤에 B내용을 더한 새로운 문자열을 반환한다.
문자열은 더하기로 더할수 있기 때문에 자주 쓰이지 않는다.

concat함수를 이용한 문자열의 더하기

 

 

A.startsWith(B) : A문자열이 B내용으로 시작한다면 true
A.endsWith(B) : A문자열이 B내용으로 끝나면  true
A.contains(B) : A문자열이 B내용을 포함하면 true
A.equals(B) : A문자열이 B내용과 일치하면 true
A.equalsIgnoreCase(B) :  A문자열과 B의 문자열의 대소문자를 신경쓰지않고 일치하면 true 

boolean으로 선언해서 처리할 수 도있다. 

 

 

substring : 문자열 빼기
인덱스번호로 문자열을 잘라낼 수 있다.
문자열은 더할 수 있지만 -빼는 기능은 없어서 substring을  써주면된다. 

 

 

split : 특정글자를 기준으로 분리하여 배열로 만들어서 반환 

.을 기준으로 문자열을 자름

 

 

 

replace : 특정 글자 혹은 패턴을 다른내용으로 변경한 새로운 문자열을 반환

s3의 o를 O로 바꾼다.

 

 

 

indexOf : 특정 글자나 패턴의 시작위치를 정수로 반환
subString과 연계하여 사용하는 경우가 있다.

 

 

toLowerCase, toUpperCase 
모든 글자를 대문자 혹은 소문자로 변경한다.

 

 

length();
문자열의 글자수를 정수로 반환한다.

 

Arrays.toString() 
배열을 문자열 형태로 변환하여 저장 

 

명령어를 운영체제에게 전달하여 프로그램을 실행하기 위한 객체 Runtime

728x90
반응형
profile

리우's IT Story

@LRWoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!