Notice
Recent Posts
«   2025/05   »
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 31
Archives
Today
Total
관리 메뉴

IT'S YU

[java] 문자형 Char / 문자열 String 본문

웹개발/Java

[java] 문자형 Char / 문자열 String

자석 2022. 4. 11. 13:52

문자형 char

 

char : 하나의 문자를 저장하기 위한 자료형

        자바는 하나의 문자와 문자열의 처리가 다르다.

        하나의 문자를 표현하기 위해서는 홋따옴표를 사용 'a'

        문자열을 표현하기 위해서는 쌍따옴표를 사용 "apple"

        문자열 처리를 위해서는 String 클래스를 이용.

 

String : 문자열 처리를 위하여 자바가 미리 만들어 놓은 클래스
          (참조자료형 이지만 기본자료형 처럼   있다.)

 

 원래는 자바는 객체를 만들어서 정보를 담아줘야 한다.
     String str = new String("Hello");

 

 하지만, String 많이 사용되는 것으로 기본 자료형인 int, char 처럼 사용 가능
     String str = "Hello";   ==> new
 객체 생성  해도 
 

 

자바에서는 비영어권 나라들의 언어까지,  다국어 처리와 최대 65,000 문자를 처리할  있도록 2byte 문자 처리 방식인 "유니코드(unicode)'방식을 내부적으로 사용하고 있다.

그래서, 자바의 char 자료형이 2byte이며, 표현 범위가 0~65,535

(유니코드는 세계문자표준)

 

참고, 문자 리터럴의 종류

\n  바꿈(Line Feed)
\t  기능
\b 백스페이스 기능
\\ \ 문자화
\' ' 문자화
\" " 문자화
\u0042 16진수 0042 해당하는 숫자

 

 

 

 

 char 관련 예제

 여기서 'A' 아니라 "A" 적으면 오류가 생긴다. "" 쓰면 문자열(문장)으로 인식한다.

------------------------------------------------------------------------------------

class CharTest

{

public static void main(String[] args)

{

char ch = 'A';

System.out.println("ch  : "+ch);

}

}

 

------------------------------------------------------------------------------------

(결과값)

ch  : A

 

 

o char a = 변수.charAt(0)

  변수의 0번째 오는 문자를 a 저장해 달라는 

 

-[예제]---------------------------------------------------------------------

class CharTest04

{

public static void main(String[] args)

{

String str = "Hello Java";

char a = str.charAt(0);

System.out.println(a);

}

}

-------------------------------------------------------------------------------

 

(결과값)

h

 

 

o char와 변수 출력

 

-[예제]---------------------------------------------------------------------

 

class CharTest

{

public static void main(String[] args)

{

char x;

x = 'a';

 

System.out.println(x);

System.out.println('x');

System.out.println('a');

}

}

-------------------------------------------------------------------------------

 

(결과값)

a

x

a

 

 

 

 

String 특별 취급!

     String 참조자료형 이지만 다른 클래스들과는  특별취급. 마치 기본 자료형 처럼 사용할  있다.

 

     보통 참조자료형은 배열처럼

     int []arr = new int();

     이렇게 써야 하지만 String 자주 쓰기 때문에 특별 취급

     String a = new String("hello"); 라고 써야 하지만 아래처럼   있다.

     String a = "hello";

 

 

 

 

 

 String 참고

 String 객체는 불변. 참조변수는 변할  있다. 값이 바뀌는게 아니라 바라보는(참조) 것이 달라진다.(1000번지 보던 것을 2000번지를 본다) 기존 java 1000번지라고 하면 java 문자열이 있던 곳은  이상 누구도 참조되지 않는 메모리 "가비지" 된다.

가비지는 쓰레기 데이터로 많은 경우 메모리를 차지하기 때문에(자바는 자동 삭제가 되기는 하지만) 만약 자주 바뀌는 경우에는 String 아닌 변하는 문자열 처리 명령어를 쓰는 것이 좋다.

 

 

------------------------------------------------------------------------------------

class StringTest01

{

public static void main(String[] args)

{

String title = new String("java");

System.out.println(title);

 

title = "python";

System.out.println(title);

}

}

------------------------------------------------------------------------------------

(결과값)

java

python

 

 

 

출처 : https://developsd.tistory.com/13