728x90
반응형
이전 내용
문자열
문자열: 여러 문자들의 집합
String str = "김밥, 라면, 우동, 돈가스, 만두";
Java에서는 String 자료형의 경우, "" 내에 문자를 모두 하나로 취급.
즉, 해당 코드에서는 문자가 5개가 아닌 김밥, 라면, 우동, 돈가스, 만두가 하나의 문자형으로 취급된다. (쉼표 포함)
해당 문자열 변수 내의 각 단어를 구분하여 배열로 지정할 수도 있다. 즉, 문자는 쪼갤 수 있다. (정수, 실수 등 다른 자료형은 쪼갤 수 없다)
// 문자열
String str = "김밥, 라면, 우동, 돈가스, 만두";
// str 문자열을 ,(쉼표)로 구분하여 배열에 저장
String[] lunch = str.split(", ");
// lunch 배열의 값을 콘솔에 출력
for (int i=0; i<5; i++) {
System.out.println("lunch["+i+"]="+lunch[i]);
}
▶ lunch 라는 배열에 각 단어들이 들어가게 되며 [] 내에 숫자를 인덱스라고 하며, 0부터 시작된다.
문자열 기능
- length: 문자 길이 반환
- toUpperCase: 전체 대문자로 변환
- toLowerCase: 전체 소문자로 반환
- contains: 포함 여부 (boolean 형으로 반환)
- indexOf: 위치 정보
- lastIndexOf: 마지막 위치 정보
- startsWith: 특정 문자열로 시작되는지 여부
- endsWith: 특정 문자열로 종료되는지 여부
- replace: 문자열 변환
- trim: 앞뒤 공백 제거
- concat: 문자열 결합
- substring: 문자열 자르기
package prac_250107;
public class Ex_01 {
public static void main(String[] args) {
String s = "I like Java";
// length: 길이
System.out.println("문자열길이:" + s.length());
// toUpperCase: 대문자로
System.out.println("전체 대문자:" + s.toUpperCase());
// toLowerCase : 소문자로
System.out.println("전체 소문자:" + s.toLowerCase());
// contains: 포함 여부
System.out.println("Java 포함 여부:" + s.contains("Java"));
// indexOf: 위치 정보
System.out.println("Java 위치:" + s.indexOf("Java"));
// lastIndexOf : 마지막 위치 정보
System.out.println("마지막 a 위치:" + s.lastIndexOf("a"));
// startsWith: 특정 문자열로 시작되는지 여부
System.out.println("I 로 시작여부:" + s.startsWith("I"));
// endswith: 특정 문자열로 끝나는지 여부
System.out.println("I 로 종료여부:" + s.endsWith("I"));
// replace: 문자열 반환
System.out.println("내용 교체:" + s.replace("like", "love"));
// trim : 앞뒤 공백 제거
System.out.println("공백제거:" + s.trim());
// concat: 문자열 결합
System.out.println("문자열 결합:" + s.concat(" and Python"));
// substring: 문자열 자르기
System.out.println("문자열 자르기:" + s.substring(7));
}
}
[예시]
문자형 변수.substring(첫번째 인덱스, 마지막 인덱스-1);
String st1="오늘은 날씨가 춥습니다.";
System.out.println(st1);
//st1 문자열 중에서 "날씨"만 추출하여 res 변수에 저장
//st1 문자열 중에서 4번째 index부터 6-1(=5)번째 index까지 추출
String res = st1.substring(4,6);
System.out.println(res);
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
오 | 늘 | 은 | 날 | 씨 | 가 | 춥 | 습 | 니 | 다 | . |
String st1="오늘은 날씨가 춥습니다.";
String st2="개나리,진달래,철쭉,무궁화,장미,해바라기";
String st3="겨울";
String st4="호빵";
System.out.println(st1);
//st1 문자열 중에서 "날씨"만 추출하여 res 변수에 저장
//st1 문자열 중에서 4번째 index부터 6-1번째 index까지 추출
String res = st1.substring(4,6);
System.out.println(res);
String res1 = st2.substring(11,15);
System.out.println(res1);
int idx = st2.indexOf("철");
System.out.println(idx);
//st2 문자열에서 8번째 인덱스의 문자 1개 찾아서 res2에 저장
char res2 = st2.charAt(8);
System.out.println(res2);
//concat 문자열 결합
String res3 = st3.concat(st4);
System.out.println(res3);
// 문자열 비교: st3과 st4가 같다면 "st3==st4" 출력
// 같지 않다면 "st3!=st4" 출력
if(st3.equals(st4)) {
System.out.println("st3==st4");
} else {
System.out.println("st3!=st4");
}
문자열 비교
String과 new String()은 같은 값을 갖더라도 메모리 상에서 처리되는 방식이 다르므로, 문자열을 비교할 때는 숫자형과 다르게 '==' 이 아닌 equals를 사용하여 비교한다.
public static void main(String[] args) {
// 정수 비교
int num1 = 1;
int num2 = 3;
System.out.println("아래의 숫자는 같은가요?");
System.out.println(num1 == num2); // false 반환
// 문자열 비교
String s1 = "Java";
String s2 = "Java";
System.out.println("아래의 문자는 같은가요?");
System.out.println(s1 == s2); // true 반환
// 문자열 비교2
String s3 = new String("Java");
String s4 = new String("Java");
System.out.println("아래의 문자는 같은가요?");
System.out.println(s3 == s4); // false 반환
// 문자열 비교 시에는 == 가 아닌 equals 사용
System.out.println(s3.equals(s4));
특수문자
- \n: 줄바꿈
- \t: 탭
- \\: 역슬래시 (한 번의 역슬래시 표현)
- \": 큰따옴표 (한 번의 큰따옴표 표현)
- \': 작은따옴표 (한 번의 작은따옴표 표현)
public static void main(String[] args) {
// 특수문자
// \n: 줄바꿈
System.out.println("A\nB");
// \t: 탭
System.out.println("A\tB");
// \\:역슬래시
System.out.println("C:\\Java");
// \": 큰따옴표
System.out.println("A\"B\"C");
// \': 작은 따옴표
System.out.println("A\'B\'C");
}
다음 내용
[출처]
나도코딩 유튜브
728x90
반응형
'프로그래밍 및 기타 > Java' 카테고리의 다른 글
[Java] 25년 1월 9일 자바 기초 - 배열 (0) | 2025.01.07 |
---|---|
[Java] 25년 1월 7일 - 자바 기초(조건문, scanner) (0) | 2025.01.07 |
[Java] 25년 1월 3일 - 자바 기초 (반복문) (0) | 2025.01.03 |
[Java] 25년 1월 2일 - 자바 기초 (변수, 연산자) (0) | 2025.01.02 |
[Java] Java 개념, Java를 위한 프로그램 설치 (1) | 2024.12.31 |