본문 바로가기

카테고리 없음

강의5

 

1. String.format
변수의 파일을 순서대로 기록하는방법

* printf에서 ' f ' 는 format(서식)
  자바에 존재하는 모든 자료형을 처리할 수 있다

- printf()는 문자열을 서식에 맞춰서 화면에 출력한다

- String.format()은 같은 방법으로 문자열을 만들어서 반환한다 (변수에 저장가능)

 

 

 2. 서식 제어 문자

제어문자 자료형  
%s String 문자열을 표현하는 서식문자
%d 정수 정수를 10진수 형태로 표현
%f 실수 실수를 표현
%c 글자 정수를 코드에 맞는 글자로 표현(char)
%x 정수 정수를 16진수 형태로 표현


 * 1) % 와 글자 사이에 정수를 넣어서 자리차지할 칸 수를 지정할 수 있다
 * 2) 정수는 %02d 와 같이 2자리로 출력하고, 값이 부족하면 0으로 채울 수 있다
 * 3) 실수는  %.2f 와 같이 소수점 이하 자리를 2자리까지만 표현할 수 있다
 * 4) 숫자는 %,d 와 같이 천단위 구분기호를 자동으로 처리할 수 있다

 

예시)

-    ( )안의 "[%s]\n"를 문자열, "Java"를 "가변인자" 라고 한다.

-     %s 는 String자료형으로 문자열을 표현할 수 있다.

-   %d는 정수를 10진수 형태로 표현한다.

-    %f는 실수를 표현한다.

      자릿수를 지정하지 않으면 소수점 이하 6자리까지 출력하고

      자릿수 제한을 안걸면 무조건 끊어서 출력한다

      또한 가변인자에 정수를 넣으면 예외 발생으로 출력이 안된다.

-    %c는 글자를 표현하고 정수를 넣으면 '아스키코드' 에 맞는 글자로 표현한다

      정수끼리 더해서 출력을 해줄 수도 있다.

 

3. 문자열 관련 함수

- String[] split

   split 함수는 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나누어 배열에 저장하여 출력한다.

예시) 

위의 코드를 보면 "root:x:0:0:root:/root:/bin/bash" 라는 문자열을 " : " 구분자로 나눠서 출력하였다.

 

 예시 2)

String s2에 받은 URL을 split을 이용해 " ? ", " & "으로 기준으로 잘라서 출력하였다.

 

1) String[] substring

   substring 함수는 입력받은 위치를 기준으로 문자열을 잘라 리턴하는 함수이다.

 

예시) 위의 URL을 이용하여 substring 함수로 잘라서 출력해보았다.

substring에 8번째부터 24번째 까지 잘라서 출력하였다.

 

예시 2)

a.substring(int beginIndex(여기부터), int endIndex(여기까지))

 

예시 3)

s2 문에 시작인덱스인 "search" 에서 "search" 전 까지 잘라서 출력하였다. (마지막 "search"전에 있는 " / "는

int endIndex 입력값에서 - 1로 처리하였다. 

 

2) equals() 와 == 의 비교

문자열의 일치 비교

 

예시) 각각 t1, t2, t3에 같은 단어를 담았다.

같은 단어를 담은 t1,t2, t3를  (==)연산자를 이용하여 출력했는데, t1과 t2는 일치 하지않는 단어라고 출력되었다. 하지만 t1, t3는 같은 단어라고 출력된 것을 볼 수 있다.

이는 t1에서 단어를 기록하고, t2에서는 같은단어를 새로운 공간에 기록한 차이 때문이다.

t3는 t1이 기록한 단어를 같은단어라고 인식한 반면 t2는 따로 저장된 데이터로 판단해서 그렇다고 볼 수 있다.

 

예시 해석)

 

예시 2) 이때 equals() 메소드를 사용하여 보면

t1, t2, t3 객체끼리 내용을 비교하여 결과를 출력하는 것을 볼 수 있다.

 

3) contains()

     제시한 문자열에 해당문자가 포함되었는가 알아보는 함수

 

예시) contains를 이용해 String s1의 문자열에 "abc" 와 ".." 가 포함되어있는지 확인하였다.

예시 2) if문을 이용해서 위의 문자열에 포함되어있는 "hjk"를 "xyz"로 변경했고, " . " 를 " * "로 변경하였다.