java026-3

제로·2022년 9월 20일
0

Java basic

목록 보기
28/45
post-custom-banner

String class

  1. 문자열의 추출, 비교, 찾기, 분리, 변환 등과 같은 다양한 메소드를 가진다.
  2. String 문자열
    정수형의 가장 기본 데이터 byte
    ==> 숫자들에 코드를 대입해서 'A', 'B' 같은 문자를 설정하여 생성되었다
    문자들을 배열로 만들어서 일상에 문자열을 사용하게 되었다
    {25,34,72,43,22} ==> {'H','e','l','l','o'}
    코드값으로 byte 배열은 문자가 모인 문자열로 사용할 수 있다.
    객체지향프로그램에서 char[]배열에서 한 단계 나아가 String 문자열 객체를 만들게 되었다
  3. 여러가지 기능 메소드
    1) charAt(int idx) : 특정 위치에 문자 리턴
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);
		} //사과바나나딸기 출력
profile
아자아자 화이팅
post-custom-banner

0개의 댓글