String str01 = "EMP1061521";
System.out.println("첫번째 문자:"+str01.charAt(0)); // E 출력
System.out.println("마지막 문자:"+str01.charAt(9)); // 1 출력
2) getBytes() : 문자열의 byte배열을 가져온다. 이 때, 매개변수값을 EUC-KR 이나 UTF-8로 한글 encoding 형식을 지정할 수 있다.
try {
String str = "오늘도 좋은 하루!!";
byte[] bytes1 = str.getBytes("EUC-KR");
String str1 = new String(bytes);
System.out.println(str1);
byte[] bytes2 = str.getBytes("UTF-8");
String str2 = new String(bytes2);
System.out.println(str2;
}catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
3) indexOf("찾을 문자열") : 해당 문자열 안에서 찾을 문자열의 시작 위치(index)를 리턴해준다. 해당 문자열을 포함하고 있지 않으면 -1을 리턴한다.
String menuIntr = "판매 과일은 사과, 바나나, 딸기입니다.";
System.out.print("선택할 과일은 입력하세요.");
Scanner sc = new Scanner(System.in);
String chFruit = sc.nextLine(); // 과일 입력
int findIdx = menuIntr.indexOf(chFruit);
switch(findIdx) {
case -1: System.out.println("해당 과일은 메뉴에 없습니다."); break;
case 7 : System.out.println("1번째 과일 "+chFruit+"를 주문하였습니다."); break;
case 11 : System.out.println("2번째 과일 "+chFruit+"를 주문하였습니다."); break;
case 16 : System.out.println("3번째 과일 "+chFruit+"를 주문하였습니다."); break;
default : System.out.println("입력 범위를 벗어났습니다."); break;
}
System.out.println("프로그램종료!");
4) length() : 문자열의 크기를 나타낸다. 배열의 크기와 구분.
5) replace("찾는 문자열","변경할 문자열") : 문자열을 찾아 다른 문자열로 변경한다
String target = "자바는 객체지향프로그램입니다";
String newStr = target.replace("자바", "JAVA");
System.out.println(newStr); // JAVA는 객체지향프로그램입니다. 출력
6) substring("추출시작할 idx", "추출 마지막 idx+1") : 어떤 문자열에서 특정한 문자열을 추출하여 문자를 만들 때 사용한다
Scanner sc = new Scanner(System.in);
System.out.println("주민번호 앞자리 입력(YYMMDD)"); //19XX년대생 기준
String id = sc.nextLine();
if(id.length()==6) {
String yyyy= "19"+id.substring(0,2);
String mm = id.substring(2,4);
String dd = id.substring(4,6);
System.out.println(yyyy+"년 "+mm+"월 "+dd+"일");
}else {
System.out.println("입력형식은 6자리입니다.");
}
7) split("구분자") : 특정 문자열을 구분자에 의해 구분해서 구분된 데이터를 배열로 할당처리
String[] fruits ="사과&바나나&딸기".split("&"); //{"사과","바나나","딸기"};
for(String fruit:fruits) {
System.out.print(fruit);
} //사과바나나딸기 출력