달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

   

    

자바의 자료형

어떤 프로그래밍 언어든 "그 언어의 자료형을 알고 이해할 수 있다면 이미 그 언어의 절반을 터득한 것이나 다름없다"는 말이 있습니다.

타입(data type)은 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 합니다.

 

int와 같이 변수의 특성을 결정짓는 키워드를 가리켜서 자료형이라고 합니다.

int num;

 

 

 

자바 자료형 유형

·       기본 자료형

·       참조 자료형

 

 

유형

설명

기본 자료형

(primitive data type)

·       자바 컴파일러에 의해서 해석되는 자료형

·       실제 을 갖는 자료형

·       자바에서 여러 형태의 타입을 미리 정의하여 제공

참조 자료형

(reference data type)

·       자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우

·       값이 아닌 객체의 주소를 가지고 있는 자료형

·       배열, 클래스, 인터페이스

 

 


   

 

기본 자료형의 종류(Primitive Data Type)

자료형

키워드

크기

기본값

표현 범위

논리형

boolean

1byte

false

true 또는 false (0또는 1아님)

문자형

char

2byte

\u0000

0~65,535

정수형

byte

1byte

0

-128~127

정수형

short

2byte

0

-32,768~32,767

정수형

int

4byte

0

-2,147,483,648~2,147,483,647

정수형

long

8byte

0

-9,223,372,036,854,775,808~9,223,372,036,854,775,807

실수형

float

4byte

0.0

-3.4E38~+3.4E38

실수형

double

8byte

0.0

-1.7E308 ~ +1.7E308

 

 



 

Primitive Data size is like the different size of cups.


https://bit.ly/2xLOShq

 


 

자료형 분류

정수 표현

byte, short, int, long

정수를 표현하는데 사용되는 바이트 크기에 따라서 구분

실수 표현

float, double

float는 소수점 이하 6자리

double 12자리 정밀도

문자 표현

char

참과 거짓 표현

boolean

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

변환(Type Conversion)

·       초기화 시에만 변환 적용됩니다.

·       하나의 타입을 다른 타입으로 바꾸는 것을 의미합니다.

·       타입 변환이라고도 합니다.

 

 

 

 

변환(Type Conversion) 종류

기본 자료형 값을 다른 자료형으로 변환할 있는 기능을 의미하며 가지 종류가 있습니다.

boolean형을 제외한 나머지 기본 타입 간의 타입 변환을 자유롭게 수행할 있습니다.

·       프로모션(promotion)

·       디모션(demotion)

 

 

 

 

 

프로모션(promotion)

·       자료형으로 변환

·       작은 자료형 -> 자료형

·       대입 연산자에서 왼쪽의 자료형이 오른쪽 결과의 자료형보다 발생합니다.

·       정보의 손실 없음

·       내부적으로 자동으로 형변환을 수행합니다.(자동 형변환; 묵시적 형변환; Implicit Type Conversion)

short s=7;

float f = s + 3.14f;

 

 

 

산술연산식에서 자동 형변환

산술연산식

연산 결과

정수 산술연산자 문자

정수

정수 산술연산자 정수

정수

정수 산술연산자 실수

실수

실수 산술연산자 정수

실수

실수 산술연산자 실수

실수

 

 

 

 

 

 

 

디모션(demotion)

·       작은 자료형으로 변환

·       자료형 -> 작은 자료형

·       경우에 따라 정보의 손실 발생

·       사용자가 형변환을 직접 지정합니다.(명시적 형변환; Explicit Type Conversion)

int i = 0;

short s=10;

i = (int)(10 + 3.5f);

 

 

 

명시적 형변환

·       자동 변환 발생지점을 표시하기 위해서 사용(의도한 변환임을 표시)

·       자동 변환의 규칙에 위배되지만 변환 필요한 상황에 사용(디모션)

·       중괄호 사용하여 표현하며 괄호를 타입 캐스트(type cast) 연산자라고 합니다.

 

(자료형)

(자료형)수식

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



 

논리 표현(진리값)

불린(boolean) 부울 = 논리 표현 진리값 논리형 논리값 /거짓

논리형은 (true)이나 거짓(false) 가지 값만을 가질 있는 타입을 의미합니다.

 

논리 표현

논리형은 참(true)이나 거짓(false) 중 한 가지 값만을 가질 수 있는 타입을 의미합니다.

true

‘참‘을 의미하는 키워드

false

‘거짓’을 의미하는 키워드

 

 

자료형

키워드

크기

기본값

표현 범위

논리형

boolean

1byte

false

true 또는 false

(0또는 1아님)

 

 

 

true false 이해

·       숫자의 관점에서 이해하지 말것!

·       자바에서의 true false는 그 자체로 저장이 가능한 데이터타입입니다.

·       true false는 독립된 키워드이고

·       true false의 저장을 위한 자료형이 boolean 입니다.

·       논리형은 반드시 소문자 true, false값 중 하나의 값을 가집니다.

 

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

실수

·         소수부나 지수부가 있는 수를 가리킵니다.

·         소수점을 가진 숫자를 표현합니다.

·         정수보다 훨씬 넓은 표현 범위를 가집니다.

·         정수 표현방식보다 중요합니다.

·         실수는 오차 동반

 

 

 

실수 표현

실수 표현의 문제점

·         0 1사이의 실수만 해도 수가 무한대

·         단순히 바이트 정도로 모든 실수를 표현하는 것은 불가능합니다.

 

 

문제점에 대한 해결책

정확도를 포기하고, 대신에 표현할 있는 값의 범위를 넓히고 근사값을 사용합니다.

 

 

0 1 통한 정수와 실수 표현


1.1 1.2사이에도 무한 대의 실수값이 존재하므로 0 1로는 정확한 실수값을 표현할 없는 한계 있습니다.

실수를 표현하기 위한 한계를 해결하기 위해 근사치를 사용하게 됩니다.

실수형 데이터의 오차는 자바뿐만 아니라 모든 프로그래밍 언어에서 발생하는 공통된 문제입니다.

 

 

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 


 

RTFM(Read The Fucking Manual)

·       "빌어먹을 설명서(안내서; 공식문서) 읽으세요" 약자입니다.

·       IT업계 유명한 명언입니다.

·       매뉴얼이나 각종 안내문을 살펴보기만 해도 있는 질문에 대한 답변으로 종종 사용됩니다.

·       다른 사람에게 도움을 요청하기 전에 스스로 노력하라는 의미이기도 합니다.

 

 

TFTM 유사표현

오리지널 철자는 확인이 되지 않아 정확하지 않지만 대부분 비슷한 뜻입니다.

 

·       "Read The Flaming Manual",

·       "Read The Famous Manual",

·       "Read The Fine Manual",

·       "Read The Full-On Manual",

·       "Read The Friendly Manual",

·       "Read The Full Manual",

·       "Read The Field Manual"

 

 

http://ko.wikipedia.org/wiki/RTFM

 

 

 

 

 

나쁜 질문

다음과 같은 질문들은 정말 나쁜 질문입니다.

질문

동일 의미

~에서 정말 중요한 핵심을 짚어주세요.

= 문제(해답) 뽑아달라는 말입니다.

~ 대해 알려주세요

 

= 너무 장황한 질문입니다.

~개념에 대해 설명해 주세요.

= 너무 장황한 질문입니다.

아래 기능을 가진 코드를 짜주세요.

= 이건 레포트(숙제) 대신 써달라는 말입니다.

아래 코드의 문제점을 찾아주세요.

= 이건 일을 대신 해달라는 말입니다.

아래를 해석해주세요.

= 코드나 영문 해석을 해달라는 말입니다.

 

 

 

 

 

좋은 질문을 하기 위한 방법

·       좋은 답을 얻기 위해서는 질문을 잘해야 합니다.

·       질문하는 사람 스스로 무엇을 아는지, 그리고 무엇을 모르는지 구분조차 못한다면 답변자는  좋은 답변을 해줄 없습니다.

·       충분한 고민과 사전 지식이 갖춰진 뒤에 질문하는 습관을 들인다면 Technical 질문을 있는 것은 물론 논리적이고 설득력 있는 사람이 있습니다.

 

단계

내용

1

질문을 하기 전에 매뉴얼이나 읽었는가?

2

Technical 질문 하고 있는가?

3

충분히 고민 뒤에 질문을 하였는가?

 

 

 

 

 

 

GIGO (Garbage In Gargbage Out)


 

 

 

 

 

Google Search - Technical Question

http://codedragon.tistory.com/7532

 


 

RTFM image

 

wow… that turned out… way better than expected.

so you've had experience with lots of girls, hum?

hum… not really… actually I've just… RTFM!


 

 

I will use Google before asking dumb questions.


 

HOW TO SHIT ON HUMMNAS.


 

 

RTFM Read the funcking manual


 


 

 

출처:

images.google.com 키워드 검색

http://plus613.net/image/28459

http://sunyzero.tistory.com/

 

 


 



Posted by codedragon codedragon

댓글을 달아 주세요

   

   

자바의 자동 형변환 규칙(Implict Conversion)

값의 표현 범위로 자동 형변환됩니다.


   

 

double num = 3.14f + 10;

//10 10F 자동 형변환

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

문자 자료형 char

·       문자표현을 위한 문자셋으로 자바에서는 유니코드 기반으로 표현하게 됩니다.(문자 하나를 2바이트로 표현하는 유니코드 기반으로 표현)

·       유니코드(unicode)전 세계의 문자를 표현할 수 있는 코드 집합입니다.

·       문자는 작은 따옴표(')로 표현합니다.

·       문자는 char형 변수에 저장되고 저장 시 실제로는 유니코드 값으로 저장됩니다.

 

 

char ch1 = '';

char ch2 = 'A';

 

 

유니코드는 문자 하나를 16비트로 표현하므로, 65,536개의 문자를 표현할 수 있습니다.

자료형

키워드

크기

기본값

표현 범위

문자형

char

2byte

\u0000

0~216

 

0~65,535

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

실수 자료형 선택 기준 (float vs double)

  • float와 double 모두 매우 충분한 표현 범위를 가지고 있지만
  • 이 둘의 가장 큰 차이점은 정밀도가 다릅니다.
  • 따라서 필요한 정밀도를 바탕으로 자료형을 결정해야 하며
  • 일반적으로 double 자료형 선택을 권장합니다.

 

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

2017. 9. 12. 15:08

상수 Development/Java

   

 

데이터 표현

표현되는 데이터는 변수 아니면 상수로 표현되어 집니다.

 

 

상수(constant)

·       자료형으로 표현되는 상수 (리터럴 상수)

·       사용자 정의 상수

 

 

자료형으로 표현되는 상수 특징(리터럴 상수)

·       리터럴(literal)이란 그 자체로 값을 의미하는 것입니다.

·       변수와 마찬가지로 상수도 메모리 공간에 저장이 됩니다.

·       다만 이름이 존재하지 않으니 값의 변경이 불가능합니다.

·       상수는 존재 의미가 없어지면 바로 소멸됩니다.

·       int, double과 같은 자료형은 데이터 표현의 기준이며 따라서 변수뿐만 아니라 상수의 데이터 저장 및 참조의 기준이 됩니다.

 

 

상수의 표현 자료형

정수형 상수

int형으로 표현 약속

실수형 상수

double형으로 표현 약속

 

 

 

상수 선언

·       변수에 final을 적용 시 상수를 의미

·       final로 상수 정의시  선언과 동시에 반드시 초기화해야 합니다.

·       상수선언 후  변수와 마찬가지로 이름을 가지고 있는 메모리 공간을 가지게 됩니다.

·       상수의 이름은 관례적으로 모두 대문자를 사용하여 선언합니다.


문법 구성

사용 예

final [자료형] [변수명];

final int VAR=100;

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

실수 선언 및 메모리 저장 및 참조 도식도 예제

   

 

  

   

실수 선언 및 메모리 저장 및 참조 도식도


   




출력결과

   

    


소스코드

  1. public class VariableDouble02 {
  2.    
  3.         public static void main(String[] args) {
  4.    
  5.                 //실수형 변수 선언
  6.                 double num1;
  7.                 //변수 초기화
  8.                 num1=11.0000001;
  9.                 System.out.println(num1);
  10.         }
  11. }


 

Posted by codedragon codedragon

댓글을 달아 주세요