반응형

전체 글 207

기본 데이터 타입의 한계

□ 기본 데이터 타입의 한계 ◇ 기본 데이터 타입으로 변수를 생성했을 때 생성된 변수에는 하나의 데이터만 보관할 수 있다. ◇ 정해진 데이터 타입만을 사용해야 한다. □ 기본 데이터 타입 변수에 여러 번 값할당 1 2 3 int s = 100; s = 200; s = 300; □ 구조체(C 또는 C++에서 사용) ◇ 동시에 여러 개의 데이터를 담을 수 있는 데이터 타입을 사용자가 직접 만들어서 사용하는 사용자 정의 데이터 타입 □ 클래스 ◇ 자바에서는 구조체가 발전해서 클래스가 된다.

할당의 법칙

□ = 연산자 ◇ = 연산자는 데이터 타입에 맞는 값을 할당하라는 의미를 담고 있다. □ 할당의 법칙 ◇ 오른쪽에서 왼쪽으로만 할당이 가능하다.(절대적) ◇ 변수끼리도 할당이 가능하다.(오른쪽에서 왼쪽으로 할당) ◇ 변수에 이미 상수가 존재하더라도 다른 것을 할당하면 마지막에 넣은 것이 최종적으로 할당된다. □ 선언과 동시에 초기화 ◇ int a = 100; □ 선언과 할당의 분리 ◇ int a; ◇ a = 100; □ 여러 개를 선언함과 동시에 초기화 ◇ int a = 100, b = 200; □ 여러 개를 선언한 후 할당 ◇ int a, b; ◇ a = 100; ◇ b = 200; □ 변수끼리의 할당 ◇ int a = 100; ◇ int b; ◇ b = a;

상수의 의미

□ 상수(Constant) ◇ 상수는 데이터 그 자체를 말하며 바꿀 수 없는 데이터를 말한다. □ 정수형 상수의 구분 ◇ 100 : 명시하지 않으면 int형 상수 ◇ 100L, 100l : long형 상수 □ 실수형 상수의 구분 ◇ 5.34 : 명시하지 않으면 double형 상수 ◇ 5.34F, 5.34f : float형 상수 ◇ 5.34D, 5.34d : double형 상수 □ 문자 상수의 예 ◇ 'a', 'A' □ 문자열 상수의 예 ◇ "abcd" ◇ "abcd"라는 문자열은 10바이트의 메모리를 차지한다.

변수의 의미

□ 변수(Variable) ◇ 변수란 데이터 타입에 명시된 형태의 데이터를 담을 수 있는 메모리이다. □ 변수와 데이터 타입의 관계 ◇ 변수는 데이터 타입을 통해서 존재할 수 있다. □ 변수(Variable)의 목적 ◇ 변수를 만드는 이유는 데이터를 보관하기 위해서이다. □ 변수(Variable)의 이름 ◇ 자바에서 변수의 이름은 해당 메모리를 핸들할 수 있는 유일한 수단이다. □ 변수(Variable)에 값할당 ◇ 변수에는 데이터 타입에 맞는 형의 데이터를 넣어야 한다.

데이터 타입의 목적

□ 데이터 타입으로 할 수 있는 일 ◇ 메모리를 생성하는 일 □ 데이터 타입으로 메모리를 생성하는 방법 ◇ 변수를 통해서 가능하다. ◇ 변수의 선언은 메모리의 생성을 의미한다. □ 데이터 타입의 목적 ◇ 데이터 타입으로 변수를 만들 수 있다. □ 데이터 타입과 변수의 관계 ◇ 변수를 만들기 위해서는 반드시 데이터 타입이 필요하다.

정수형과 실수형 데이터 타입

□ 메모리의 비트의 조합은 같으나 메모리의 크기가 다른 정수형 ◇ 바이트(byte) - 1 바이트 ◇ 문자(char) - 2 바이트 ◇ 정수(int) - 4 바이트 ◇ 큰정수(long) - 8 바이트 □ byte형 ◇ 자바에서만 사용하는 데이터 타입 ◇ 1바이트짜리 데이터 타입 ◇ 일반적으로 char가 1바이트지만 자바에서는 char형이 유니코드 표현을 위해 2바이트로 바뀌게 된다. 그래서 자바에서 1바이트 데이터 타입을 위해서 새롭게 만든 데이터 타입 □ 문자의 표현 ◇ 'a', 'A' 는 숫자이다. □ 메모리의 비트의 조합은 같으나 메모리의 크기가 다른 실수형 ◇ 덜 정밀한 실수형(float) : 4 바이트 ◇ 정밀한 실수형(double) : 8 바이트

정수형과 실수형의 계산

□ 질문 ◇ 메모리의 사이즈는 같지만 int형 5와 float형 5.0을 컴퓨터 언어에서 아무런 조치 없이 더할 수 있을까? □ 기본 데이터 타입의 형변환 ◇ 큰 수와 작은 수를 연산했을 때 큰 수로 형변환된다. ◇ 덜 정밀한 수와 정밀한 수를 연산했을 때 정밀한 수로 형변환된다. ◇ 정수와 실수를 연산했을 때 실수형으로 형변환된다. ◇ 작은 수가 큰 수로 형변환되는 것은 자동이다. ― 반대의 경우는 강제 형변환이 필요-오버플로우 발생 ◇ 덜 정밀한 수가 정밀한 수로 형변환되는 것은 자동이다. ― 반대의 경우는 강제 형변환이 필요-오버플로우 발생 □ 형변환의 예 double d = 3 * 4.5F; ◇ 3 * 4.5F의 결과는 float형이 된다.(정수와 실수의 연산) ◇ float형의 결과가 doubl..

반응형