
문자
System.out.println('A');
System.out.println('가');
- 유니코드
System.out.println('\u4eba'); //人
System.out.println('\u0041'); //A
System.out.println('\u0030'); //0
System.out.println('\u0025'); //%
System.out.println('\uac00'); //가- 리터럴
System.out.println(0xac00); // 44032 - 정수 리터럴
System.out.println((char)0xac00); // 가
System.out.println('가'); // 문자 리터럴
System.out.println((int)'가'); // 44032System.out.println('각' + 1); // 44034
System.out.println('각' - 1); // 44032
System.out.println((char)('각' - 1)); // 가
문자열
자바는 char(2byte) 배열에 문자열의 유니코드(Unicode; UCS-2)문자열을 저장함
ex) "A B 가 각"
[0041][0042][ac00][ac01] <== 2바이트 메모리 4개에 저장됨
☆ 이스케이프 문자
- " " 사용하여 문자열을 나열
System.out.println("홍길동");
System.out.println("가"); // 문자가 아닌 문자열- + 연산자(operator : 특정 기능을 수행하는 명령)를 이용하여 여러 개의 문자열을 하나로 합쳐 새 문자열을 만들 수 있다
System.out.println("이름 : 홍길동, " + 20 + "살");
System.out.println("취업여부 : " + false);
System.out.println("키 : " + 180.7f);
=> 문자열 + 다른 타입의 값 => 다른 종류의 값을 문자열로 먼저 변환하여 기존 문자열에 결합
문자를 제어하는 기능을 가진 문자
\ (n/r/f/t/b/'/"//)
System.out.println("Hello, World!");
System.out.println("Hello, \nWorld!"); // 줄바꿈
System.out.println("Hello, \rWorld!"); // 커서(cursor) : 문자를 출력할 위치 가리킴System.out.println("Hello, \b\b\bWorld!");
System.out.println("Hello, \tWorld!"); // tab
System.out.println("Hello, \fWorld!"); // formfeed 추가
System.out.println("Hello, \"W\"orld!"); // " " 안에서 " 출력
System.out.println("Hello, 'W'orld!"); // " " 안에서 ' 문자는 출력 가능
System.out.println('\''); // ' ' 안에서 ' 출력
System.out.println('\''); // ' ' 안에서 " 문자는 출력 가능
System.out.println("c:\\Users\\user\\git"); // \ 문자 출력
줄바꿈 코드
Carrage Return(CR) : 0d
Line Feed(LF) : 0a
- Windows OS에서는 줄바꿈을 표시하기 위해 CRLF 2바이트 코드 삽입.
- Unix OS에서는 줄바꿈을 표시하기 위해 LF 1바이트 코드 삽입.
실수(부동소수점)
- 4바이트 부동소수점 유효 자릿수 : 7자리
System.out.println(3.141592f); //3.141592
System.out.println(314.1592f); //314.1592
System.out.println(3141.592f); //3141.592
System.out.println(31415.92f); //31415.92
System.out.println(314159.2f); //314159.2
System.out.println(3.1415926535f); //3.1415927
System.out.println(3.141592653f); //3.1415927
System.out.println(3.14159265f); //3.1415927
System.out.println(3.1415926f); //3.1415925
System.out.println(3.141592f); //3.141592(OK)
System.out.println(3141592.6f); //3141592.5 (Error)- 8바이트 부동소수점 유효 자릿수 : 15자리 (자바 기본 설정)
System.out.println(3.141592653589793); // 16자리 OK
System.out.println(31415926.53589793); // 3.141592653589793E7 OK
System.out.println(314159265358979.3); // 3.141592653589793E14 OK- 16자리인 경우 일부 부동소수점의 값이 제대로 저장되지 않음
System.out.println(914159265358979.3); // 9.141592653589792E14 Error
System.out.println(91415926.53589793); // 9.141592653589793E7 OK
System.out.println(9.141592653589793); // 9.141592653589793 OK- 15자리인 경우 대부분 부동소수점의 값이 제대로 저장된다
System.out.println(91415926535897.9); // 9.14159265358979E13 OK
System.out.println(91415926.5358979); // 9.14159265358979E7 OK
System.out.println(9.14159265358979); // 9.14159265358979 OK
논리(Boolean)
- JVM은 논리 값을 저장할 때 4바이트 정수 메모리로 true(1), false(0) 저장
배열의 경우에는 1바이트 정수 배열 메모리 사용
System.out.println(true);
System.out.println(false);
- 보통 비교 연산의 결과
System.out.println( 5 < 4 ); // false
System.out.println( 5 > 4 ); // true- 논리 연산의 결과도 논리 값
System.out.println( true && true ); // true
System.out.println( true && false ); // false
System.out.println( true || true ); // true
System.out.println( true || false ); // true- 문자 코드와 ' ' : '문자' 단독으로 사용될 때에는 문자로 취급하지만 다른 값과 연산을 수행하면 해당 문자코드는 정수로 간주
System.out.println( '가' == 44032 ); // true
System.out.println( '가' == 44033 ); // false
'프로그래밍 > CS' 카테고리의 다른 글
| 인터페이스 (0) | 2019.12.11 |
|---|---|
| 문자의 표현 - Character Set (0) | 2019.12.09 |
| 실수의 표현 - 부동소수점 (0) | 2019.12.09 |
| 숫자의 표현방법 - sign-magnitude/1's complement/2's complement/Excess-K (0) | 2019.12.09 |
| 해석기 - 컴파일러 인터프리터 어셈블러 (0) | 2019.12.07 |