티스토리 뷰

 

 

 

 

API (Application Programming Interface) : 
 프로그램 언어나 운영 체제가 제공하는 기능을 사용할 수 있게 만든 인터페이스 
 String 자체가 API 이다

 

 

 

' == '   VS  equals() 

 

' == ' 은 주소값을 비교한다. 내용 비교 X

 

 

== 를 내용이 같은지 비교할 때 사용하면 Error가 날 수 있으므로 주의할 것

 

 

문자열의 내용이 같은지 다른지 비교할 때는 equals() 메소드를 이용하자

str1, str2 의 내용이 같으니 결과는 '같은 내용'으로 나올 것

 

 

 

 

length() 메소드 : 문자열의 길이를 리턴한다. 
- 문자열 변수명.length()

출력

 

 

 

 equals() : 문자열의 내용을 비교
결과는 true ,false 값으로 나옴

출력결과

 

equalsIgnoreCase() : 대소문자 구분없이 비교해주는 메소드
대소문자가 달라도 같은 값이라고 리턴해줌

출력결과

 

chatAt() : 문자열 중에서 해당 인덱스의 문자 하나를 리턴

출력결과

str3 = "hello" 이고 1번째 인덱스를 리턴해야하므로 e 가 출력되어야한다. 

 

 

indexOf() : 해당 문자 또는 문자열이 처음으로 등장하는 인덱스를 리턴한다 
                  해당 문자 또는 문자열이 없으면 -1을 리턴한다
lastIndexOf() : 문자 또는 문자열이 가장 마지막으로 등장하는 인덱스를 리턴

출력결과

 

 

startWith() : 해당 문자열로 시작하는지 아닌지 확인한다 (T / F 로 반환)

 

출력결과

 

 

contains() : 해당 문자열이 포함됐는지 아닌지 확인한다. (T / F 로 반환)

출력결과

 

 

 

split() : 문자열을 특정 기준(구분자)으로 나눠서 배열로 리턴한다. 
주의할 점 :: 특수기호 (  .  $  ()  [  {  ^  ?  *  |  +  \\  ) 사용은 기호 앞에 "\\" 를 붙여야 한다.

출력결과

 

" \\ " or " : " 기준으로 배열로 나누고 싶을 때

출력결과

 

 

 

Quiz ) 위 문자열을 "2024" , "02" , "19" , "11" , "30" , "42" 로 나누기 
월 데이터가 1월 ~ 6월 이면 "상반기" , 7월 ~ 12월이면 "하반기" 가 출력되도록 코드를 작성한다!

 

 

1) 문자열을 나누기 위해서 기준을 " - " / " "(공백) / " : " 로 나눔

2) 문자열을 숫자로 변환하기 위해 Integer.parseInt() 메소드를 사용한다. 

배열로 나눈 첫 번째 인덱스(div[1]) 에는 월 데이터가 들어가게 되므로

 

3) if문을 사용하여 1 <= month <= 6 이면 "상반기" 를, 이외는 "하반기"로 출력하도록 한다

 

 

출력결과

 

 

 

 

compareTo() : 해당 문자열과 비교해서 서로 다른 문자의 개수 리턴
compareToIgnoreCase() : 해당 문자열과 대소문자 구분없이 비교 후 서로 다른 문자의 개수 리턴

 

 

compareTo()는 해당 문자열과 서로 다른 문자의 개수를 리턴하는데 

()안에 있는 문자를 기준으로 앞이면 - , 뒤면 양수값이 나온다 

예를 들어 str10.compareTo("a") 는 기준인 a의 뒤의 다른 문자의 개수 2를 리턴하고

str10. compareTo("b")는 0 -> -1 개 이렇게 리턴??    

출력결과

 

 

toUpperCase() : 문자열을 대소문자로 변경
toLowerCase() : 문자열을 소문자로 변경

출력결과

 

substring(begin, end) : begin부터 end까지 문자열을 리턴
begin = 0 , end = 5 라고 할 때, 0<= index  < 5 의 범위를 리턴한다 

출력결과

 

Java만 출력하고 싶은데 만약 동적으로 바뀌는 문자열이라면? 

begin , end 를 어떻게 설정해야 할까? 

indexOf()를 이용해 J가 처음 나오는 인덱스를 리턴하고 .length()를 사용하여 마지막 문자열을 리턴한다

 

 

concat() : 문자열을 이어주는 메소드 
replace(A,B) : A 문자열을 B로 변경

출력결과

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

String 클래스 : immutable 클래스(내용이 바뀌지 않는 클래스)

StringBuffer, StringBuilder : mutable 클래스(내용을 바꿀 수 있는 클래스)

StringBuffer : Java 1.0 버전부터 사용된 클래스
- 추가/삭제 속도가 느림
- Thread-safe : 쓰레드에 안전한 클래스
- 멀티쓰레드 환경에서 사용하기 적합

StringBuilder : Java 5.0 버전부터 사용된 클래스
- 추가/삭제 속도가 빠름
- Thread-unsafe : 쓰레드에 안전하지 않은 클래스
- 싱글쓰레드 환경에서 사용하기 적합 그 외 모든 기능이 동일(동일한 기능의 메소드들을 가지고 있음)

 ** buffer / builder 는 한 공간에서 쌓는다.
**  concat , + 는 만들 때 마다 새로 공간에 만든다.

 

 

 

출력결과

 

 

 

출력결과

 

 

 

 

010 : 정상
02 : 정상
032 : 정상
이외는 다 잘못됨

 

 

 

 

 

출력결과

 

 

출력결과

 

출력결과

 

 

출력결과

 

 

 

중간에 한 줄을 추가하여 sdf.format(null); 의 null 값에 넣기

잘 모를때는 해당 메소드를 클릭하면 어떤 타입을 넣어야할 지 나온다! (힌트)

출력결과

 

 

 

 

 


 

 

 

 

 

Wrapper 클래스 : 자바의 기본 데이터 타입을 감싸는 클래스
- 기본 자료형 : boolean, byte, short , int , long, char, float , double
- Wrapper 클래스 : Boolean , Byte, Short , Integer , Long , Character , Float , Double

- Wrapper 클래스를 사용하는 이유 :
1. 클래스의 메소드(기능), 상수(public static final)을 사용하기 위해서
2. 매개변수 Object를 갖는 메소드의 인자값으로 사용하기 위해서
3. 컬렉션 프레임워크에서 사용하기 위해서

 

 

 

 

 

출력결과

 

 

출력결과

 

출력결과

 

 

 

 

 

BigInteger : 저장할 수 있는 정수값의 한계가 없는 클래스
BigDecimal : 실수 계산의 오차를 줄이거나 없애기 위해서 만들어진 클래스
auto boxing 과 auto unboxing 기능을 제공하지 않음
-> 생성자를 호출하여 인스턴스를 생성해야 함
-> 산술연산(+, -, *, / 등등) 은 메소드를 사용해야함

 

 

 

 

 

 

 


 

 

 

 

 

오늘의 HW5 

 

 

 

 

문제

 

 

 

 

 

어려웠거나 모르는 부분 : 하이라이트 친 부분, 

문자열 배열을 숫자로 바꿔야 하는데.. 반복문을 사용하기 전에 배열을 또 만들어야하는지

배열안에 배열을 넣어도 되는지 고민했음..

gtp의 도움을 좀 받아서... for-each 구문안에 int 변수를 선언 하고 그 변수안에 문자열을 정수로 바꾼 값을 저장했음 

div의 모든 배열을 str1라는 변수로 받아서(?) 바로 넣으면 가능하긴 하더라구욤... 

그대로 add에 더하고 for 문이 다 끝나고 마지막 더해진 값을 출력했음

출력결과

 

 

 

 

 

 

파란 부분이 빈칸 부분

 

 

 

 

indexOf()를 사용해서 "자바"가 문자열에있는지 확인하려고 했는데... 뭔가 잘못된듯! 

indexOf() : 해당 문자 또는 문자열이 처음으로 등장하는 인덱스를 리턴

 해당 문자 또는 문자열이 없으면 -1을 리턴

 

indexOf() 는 true or false를 리턴해주는게 아니라 처음등장하는 인덱스를 리턴한다고 하는데 -3304가 해당 인덱스인듯

아래 if 문에서는 해당 문자가 없음 -1을 리턴하는 방식을 사용해서 if문을 쓰고 있다 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함