반응형


자바JAVA의 데이터타입에는 자바에서 기본적으로 제공하는 기본형과 사용자가 지정해 사용하는 사용자 정의 타입이 있다. 기본타입에는  정수형과 실수형, 문자형, 불린형(논리형)이 있다. 형변환은 프로그램 문장에서 데이터 타입을 일시로 변경하는 것이다. 


int a = 11, b = 12, c = 13, d = 1;

float e = 0;

c = (a+b+c)/4

System.out.println ("a와 b와 c와 d의 평균은 "+c+" 이다.");


a와 b와 c와 d의 합은 37이다. 이것을 나눈 값을 e에 대입한다. 11과 12와 13와 1을 더한 값이 37이므로, 이것을 4으로 나누면 c는 9.25다. 그렇다면 이 프로그램의 실행 결과가 "a와 b와 c의 평균은 9.25 이다."로 출력되는가? 


아니다. "a와 b와 c의 평균은 9.0 이다." 라고 출력되는 것을 볼 수 있을 것이다. 일단 뒤의 0.25가 없어진 건 정수끼리 계산하면 정수가 나오기 때문이다. 그런데 대입해야할 좌변의 변수는 실수 타입이다. 어떤 프로그램에서 타입이 다른 것들을 계산할 때는 하나의 타입으로 통일해서 계산한다. 이것을 자동 형변환이라고 한다.


그렇다면 이 프로그램에서는 어떤 타입으로 변환해야 할까? 자동 형변환의 변환 방식은 범위가 큰 쪽으로 통일한다. 수학적으로 정수보다는 실수의 범위가 넓고, 그렇다면 우변이 정수(int)타입이 아니라 실수형(float)타입으로 변환될 것을 예상할 수 있는 것이다. 자동 형변환은 말 그대로 자동으로 이루어지고, 작은 타입에서 큰 타입으로 바뀐다.


자동 형변환의 방향은 이렇다.


byte - short, char - int - long - float - double (오른쪽으로 갈수록 큰 타입)


자동 형변환은 데이터 타입이 다른 피 연산자들끼리 계산할 때 자바JAVA가 자체적으로 수행하는 기능이며, 크기는 작은 데이터 타입에서 큰 데이터 타입으로 변환된다. 그래서 정수형에서 실수형으로 데이터타입이 바뀌는 것이다. 그런데 이때 큰 타입에서 작은 타입으로 변하는 것은 직접 지정해줘야 하는데, 이것을 강제 형변환이라고 부른다.


float f = 20.5f;

int a = (int)f;

System.out.println("a= "+a);


프로그램 구문에서 빨간색 글씨로 표시된 것이 바로 강제 형변환이다. 변수 f앞에 (int)가 있는데, 이것은 캐스팅 연산자로, 캐스팅 연산자는 바꾸고 싶은 데이터 타입이다. 괄호 안에 원하는 타입을 써 주면 된다. 위에서는 int, 라고 썼으므로 정수형으로 바꾸고 싶다는 의미다. 그래서 빨간색으로 표시된 코드는 변수 f의 데이터 타입을 int, 즉 정수로 변환하여 저장한다.


자바JAVA구문에서 주의할 점은 강제 형변환 시, 소수점이 날아갈 수 있다. 보다 범위가 작은 데이터타입으로 축소되어 출력되기 때문이다. 그러니까 위의 프로그램의 결과값은 소수점 없이 그냥 20이 되겠다.



공부 외 단상


데이터타입처럼 마음에도 타입이 있고, 

너는 나를 항상 강제 형변환하려 든다.

내 마음의 범위를 항상 네 마음의 범위로 맞추려 드는 너.



반응형
반응형


1.변수


변수는 데이터를 담는 주머니다. 


int a; 


이와같은 코드에서 "int"는 정수를 나타낸다는 데이터의 타입이고 "a;"는 지정해주는 변수의 이름이다. 이렇게 할당된 메모리에 변수명을 지어주는 것은 나중에 그것을 다시 찾아갈 때 부르기 편하게 하기 위해서다. 32비트 컴퓨터라면 주소는 32자리 이진수로 나타나는데, 이렇게 긴 숫자를 사람이 기억하기 어렵기 때문에 숫자 대신 부를 이름을 붙이는 것이다. 3학년 2반 32번보다 3학년 2반 김개똥이 사람 입장에서는 더 기억하기도, 부르기도 쉽다. 이것이 변수명이다.


데이터타입이란?


저장할 데이터의 성질을 나타낸다. 데이터의 종류는 숫자, 문자, 논리 등 다양하므로 적확한 타입을 선택해 선언하지 않으면 안된다. 자바 문법에 기초적으로 정의된 타입은 정수형, 실수형, 문자형, 논리형이 있고, 타입 이름은 다음과 같다.


1. 정수형 = byte, short, int, long

2. 실수형 = float(32비트 부동 소수점), double(64비트 부동 소수점)

3. 문자형 = char

4. 논리형 = boolean


변수 만드는 규칙


자바에서 변수를 만드는 규칙은 몇 가지가 있다.


1. 문자와 숫자, '$', '_'의 조합으로 만들 것. 나머지 특수키는 사용하면 안된다.

2. 대소문자를 맞춰서 사용해야 한다. 대문자로 만든 변수를 소문자로 부르면 안된다.

3. 변수명을 숫자로 시작하지 말 것

int 1a 


4. super, short같은 자바 예약어를 쓰지 말 것

int super; 


5. 하나의 프로그램 안에서 중복해서 선언하지 말 것.

int a;

int a; 

    


이상과 같은 기초 규칙은 변수명 뿐 아니라 메서드, 클래스의 이름을 만들 때도 해당한다.



2. 예약어


자바 문법에서 예약어는 키워드라는 말로도 쓰인다. 아까 학년, 반, 번호로 예를 들었으니, 학교로 예를 들어보면 예약어는 학생들을 움직이는 차렷, 열중 쉬엇, 선생님께 대한 경례,같은 명령어에 해당된다. 일을 하기 위해서는 컴퓨터와 사람같이 미리 정해진 말이 필요한 것이다. JAVA에서는 abstract, continue, for같은 예약어들이 쓰인다. 



공부 밖 단상 -사랑고백-


하나의 프로그램 안에서 변수는 중복 선언하면 안되지만 

하나의 연애에서 사랑은 중복 선언해주는 게 좋다. 




반응형

+ Recent posts