[Java] CharAt() 언제 쓸까

심심이·2024년 1월 27일
0

java

목록 보기
17/46

String 타입을 char 타입으로 변환할 때 사용한다. (문자열에서 원하는 문자 하나만 가져오고 싶을 때)

char는 한 글자만 저장할 수 있는 문자 타입이다.
CahrAt()은 String 문자열 중 한 글자만 선택해서 Char타입으로 변환해준다.
-> 그 덕분에 Scanner에서 Char를 사용할 수가 있다.(Scanner는 Char타입으로 입력을 받을 수 없다-> 문자 하나만 입력하는 경우가 드물기 때문이다)

CharAt() 사용방법

1)String타입의 참조변수 뒤에 붙여서 사용하기

        String str = new String();
        str = "안녕하세요";
        System.out.println(str);
        for(int i = 0; i<str.length(); i++) {
            System.out.print(str.charAt(i));
        }
        
     //charAt은 문자열 처음부터의 인덱스를 받아오기 때문에 원하는 문자만 가져올 수 있다.
     //charAt(0) = 안, charAt(1) = 녕, ... 

2) Scanner에서 사용하기

        Scanner sc = new Scanner(System.in);
        char c1 = sc.nextLine().charAt(0);
        //charAt이므로 char타입 변수에 담아준다.
        char c2 = sc.next().charAt(1);
        System.out.println(c1);
        System.out.println(c2);

3) charAt으로 공백을 없애거나(char ch = charAt(i); if(ch != " ")일시 문자열 추가 ) 하나하나 비교해서 소문자, 대문자, 숫자, 특문 등을 판별해낼 수 있다

int upper_cnt =0, lower_cnt = 0, number_cnt=0, hangul_cnt =0, special_cnt =0;
		
		for (int i = 0; i < word.length(); i++) {
			char ch = word.charAt(i); //ch에 i를 넣고 한글자씩 검사
			
			if(Character.isUpperCase(ch)) { //대문자 검사
				upper_cnt++;
			} else if (Character.isLowerCase(ch)) { //소문자 검사
				lower_cnt++;
			} else if (Character.isDigit(ch)) { //숫자 검사
				number_cnt++;
			} else if ('가' <= ch && ch <= '힣') { //한글 검사
				hangul_cnt++;
			} else { // 그 외- 특수문자
				special_cnt++;
			}

charAt 사용 예시

	      String str = "안녕하세요";
	     //    index =>  01234
	      
	      //-------------------------------
	      //안녕하세요가 꺼꾸로 나오게 하기!! 
	      String result = "";
	      for(int i = str.length()-1; i>=0; i-- ){//4 부터  0까지  
	    	  result += str.charAt(i);
	      }
	      System.out.println(result);
	      
profile
개발하는 심심이

0개의 댓글

관련 채용 정보