Java - 연산자

Java 2015.10.10 23:57

[연산자]

{Java - 연산자 (1/4)} - 연산자(operator)란 특정한 작업을 하기 위해서 사용하는 기호

산술(Arithmetic)

+-*/%



{Java - 연산자 (2/4) - 형변환}

정수와 실수를 연산하면 어떤 게 앞에 있든 결과는 실수로 나옴.

(정보의 손실 없게 더 조밀한(실수)로 형변환 해서 형식 일치시킨 후에 연산함.(예 : 10.0 / 3.0))



{Java - 연산자 (3/4) - 단항연산자} - 좌항과 우항이 있지 않은 연산자

그동안은 이항 연산자(infix operator)를 설명했다.(좌항과 우항이 존재)

단항(unary)

+ 양수. 실제로는 사용할 필요가 없다.

- 음수

++ 증가(increment) 연산자

-- 감소(Decrement) 연산자



{Java - 연산자 (4/4) - 우선순위}

'Java' 카테고리의 다른 글

Java - 조건문  (0) 2015.10.11
Java - 비교와 Boolean  (0) 2015.10.10
Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Posted by 캬웃

Java - 형변환

Java 2015.10.10 23:56

[형변환]

{자바 - 형변환}

형 변환(Type Conversion)


int 타입의 정수 200의 bit값은

00000000 00000000 00000000 11001000


실수 200.0을 컴퓨터에 저장하면 다음 bit로 저장이 된다.

01000011 01001000 00000000 00000000


서로 전혀 다른 bit값으로 저장되기 때문에

각각의 데이터를 더해주거나 연산을 하려고 하면

한쪽의 데이터 타입으로 맞춰주어야 함.

데이터 타입을 맞춘다는 것은 데이터 형식을 바꾼다는 것이고, 이것을 형 변환이라고 한다.

그리고 이러한 형변환을 자바는 프로그래밍의 편의성을 위해서 자동으로 해주기도 하는데

그걸 자동(암시적) 형 변환(implicit Conversion) 이라고 한다. : 암시적 형변환은 조금이라도 좀 더 프로그래밍을 편리하게 하기 위해서, 정보의 손실이 발생하지 않는다면 컴퓨터가 알아서 처리해주는.

double a = 3.0F;

float를 a에 넣을 때 double로 자동으로 바꿔주기 때문에 에러가 나지 않음.(이 때, 데이터의 손실이 없음.)

float a = 3.0;

오류가 발생함.

double이 더 많은 데이터를 표현할 수 있기에, double에서 float로 형변환을 하면 데이터 유실의 가능성이 있기 때문에, 변환하지 않음.

※자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다는 것이다.


정수 실수

____________________________    _______________

byte -> short -> int -> long -> float -> double

char

        ----

        문자


문자도 내부적으로는 숫자

char를 int로 형변환을 하게 되면 그 문자의 유니코드 값으로 변하게 됨.



{자바 - 명시적형변환} : 수동으로 하는 형 변환. 이를 명시적형변환(Explicit Conversion)이라고 한다.

'Java' 카테고리의 다른 글

Java - 비교와 Boolean  (0) 2015.10.10
Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Posted by 캬웃

[상수의 데이터 타입]

{Java - 상수형 데이터 타입}

상수(constant):변하지 않는 값

변수도, 상수도 데이터 타입이 있음.

a=1;

a는 변수, 1은 상수


float a = 2.2; 는 type mismatch 에러가 뜸.

2.2는 data type이 double이기 때문에 double로 해야 됨.

float를 쓰려면 2.2의 데이터 타입을 명시적으로 float형으로 지정해주면 됨.

float a = 2.2F;

이렇게.


상수가 실수인 경우 double을 기본형으로 채택함.

float를 쓰려면 상수 뒤에 F를 써줘야 함.



상수가 정수인 경우 int를 기본형으로 채택함.

따라서

long a = 2147483648;

은 에러가 나고,

long a = 2147483648L;

로 바꿔줘야 함.


단, byte b = 100;은 에러가 안남.

byte와 short 변수의 경우엔 int형 상수를 담는 것이 가능함. 단, 이 경우엔 각각의 범위에 맞는 것이어야 됨.

'Java' 카테고리의 다른 글

Java - 연산자  (0) 2015.10.10
Java - 형변환  (0) 2015.10.10
Java - 상수의 데이터 타입  (0) 2015.10.10
Java - 데이터 타입  (0) 2015.10.10
Java - 주석과 세미콜론  (0) 2015.10.10
Java - 변수  (0) 2015.10.10
Posted by 캬웃