JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter1

Java - 기본 자료형(primitive data type) - 문자,논리

giggs 2021. 12. 22. 23:53

 

 

자료형 (Data Type) - 문자

 

 

문자도 정수로 표현한다.

어떤 문자를 컴퓨터 내부에서 표현하기 위해 특정 정수 값을 정의

 

 

 

A문자 입력 시

문자 세트에 A에 해당하는값 65.

 

(65를 입력해서 A를 출력할 수 있다)

 

 

encoding : 문자가 숫자로 변환되는 것

decoding : 숫자에서 다시 문자로 변환되는 것

 

 

 

문자세트 charater set

 

문자를 숫자로 변환한 값의 세트

각 문자를 얼마로 표현할 것인지 코드 값을 모아둔 것을 문자 세트라 함

( ASKII,. euc-kr, utf-8, utf-16 )

ASKII code : 알파벳과 숫자 특수 문자 등을 1바이트에 표현하는 데 사용하는 문자 세트

 

 

Java의 문자 세트

 

전 세계 표준으로 만든 문자 세트 UNICODE (2byte)를 사용 ( 1byte 사용하는 ASKII와 완벽 호응 )

utf-16 인코딩을 사용

 

 

+@

ASKII code : 알파벳과 숫자 특수 문자 등을 1바이트에 표현하는 데 사용하는 문자 세트

utf-16은 모든 문자를 2byte로 표시 

utf-8은 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음

 


 

문자형 변수 선언과 사용하기

 

문자를 위한 데이터 타입 char

내부적으로 인코딩 되어서 숫자로 표현되므로 숫자를 넣어도 문자가 출력될 수 있음

'A'는 2byte짜리 문자이지만

"A"는 문자열 string이다. #주의#

 

 

 

 

 

2byte짜리 문자 A 선언

char ch1 = 'A' 출력

정수형으로 char ch1 = 'A' 출력

-

2byte 짜리 문자 B 선언

char ch2 = 'B' 출력

-

4byte짜리 정수 67 선언

int ch3 = 67; 출력

문자형으로 int ch3 = 67; 출력

-

음수는 대입할 수 없음

-

유니코드 한/한 출력

 

 

 

 

문자 A출력 

문자 A에 해당하는 정수 값 65를 출력

문자 66에 해당하는 문자 값 B출력

정수 67 출력

정수 67을 문자형으로 변형 후 67의 값을 가지는 문자 C출력

 

GOOD :) 

 

 


 

 

 

자료형 (Data Type) - 논리

 

 

 

논리형 - boolean

 

 

true(참), false(거짓) 두 가지만 나타냄

1바이트를 사용함

값이 존재하는지, 배열이 비었는지, 결과가 참인지 거짓인지 등을 표현

 

 

 

 

 

지역 변수 자료형 없이 사용하기 - var

 

 

지역 변수 ( Local variable type inference )

 

 

▣ 추론 가능한 변수에 대한 자료형을 선언하지 않음 ( int, double, string 정도 )

var로 선언한 변수의 값을 통해 자동으로 추론하여 부여해줌

예시) var i = 10; ---> int i = 10;으로 

 

▣ 한번 선언하여 추론된 변수는 다른 타입의 값을 대입할 수 없음 ->

같은 타입의 다른 값은 입력 가능 but 다른 유형의 값은 입력 불가능하다.

예시 i = 8; 가능 // i = '귀석'; 불가능

 

▣ 지역 변수만 사용 가능

{} 중괄호 안에 있는 변수나 항수의 매개변수

 

 

 

 

 

 

 

var 지역 변수만 사용 가능

 

 

 

 

 

 

 

 

 var i, j, str의 값으로 자동 추론하여서 

정수형, 실수형, 문자형 부여돼서 출력됨

 

문자형으로 추론되어서 부여된 상태의 

str에 정수 3 입력하니까 타입 오류 나옴

 

별도의 타입 유형 선언 없이도 맞게 부여돼서 잘 출력됨

GOOD :)

 

 


 

 

 

review


문자 / 논리

문자 세트에 부여된 숫자 값으로 문자를 표현 가능하다니
~ amazing ~
인코딩과 디코딩 새로운 내용이었다.

기본 자료형 5가지를 학습하였는데
느낀 것은 자바는 타입의 형태가 참 중요하다고 느꼈다.
어떤 형태의 값이 들어올지를 생각하고,
data size도 고려하여 선언해 주어야 했다.
문자에서 문자는 가능하지만 문자에서 숫자로는 안 되는 type

var로 자료형을 지정 안 하고 하는 것도 배웠는데
아직은 어떻게 쓰는지 무엇이 편한 건지 모르겠다.ㅎㅎ

어색하기만 했던 eclipse 화면이 조금은 익숙해지고 있는 점도 좋다
GOOD :)