Languages/Java

데이터 타입의 관해서(ft.출력)

개발자 나르 2021. 6. 26. 14:50
반응형

그 전 글에 데이터타입에 관해서 옆에 byte라고 타입의 크기를 적어놓았다.

타입의 크기를 적어놓은 이유는 java같은 경우는 타입을 변환할때 byte가 큰 타입을 작은 타입으로 변환하지 못하지만

작은 타입은 큰 타입으로 변환이 가능하다.

더보기

byte 크기에 따른 타입변환

ex)error

double c = 2;
int i = c;
System.out.println(i);

이유 : double 이 int보다 byte의 크기가 더 크기 때문에 double -> int로 타입변환을 할 수가 없어 error가 뜬다.

ex)success

int c = 2;

double i = c;

System.out.println(i);

이유 : int의 byte크기가 double의 크기보다 작기 때문에 큰타입으로 변환이 가능하다.

 

타입별로 적는 방법

정수는 그대로 숫자 정수만 적으면 된다.

실수 같은 경우는

float은 실숫값 뒤에 f를 적어줘야 적용이 되고 double같은 경우는 실숫값만 적어주면된다.

문자타입은

하나의 문자 char 은 '' 작은따옴표를 사용하고 String 은 ""큰 따옴표를 사용한다.

 

타입변환

타입변환에는 자동타입변환과 강제타입변환으로 나뉘어진다.

더보기

자동타입변환

ex)

char c = '가';

int i = c;

System.out.println(i);

 

강제타입변환

ex)정수의 사칙연산값이 실수가 나온다면 그 뒤에 소수점은 무시가 된 채 정수의 값만 출력이 된다.

그러므로 소수점 값이 나올려면 ()안에 타입을 넣어서 강제로 타입변환을 해줘야한다.

System.out.println((double)(5/3));

이렇게 씌어주면 되는데 이 방법에는 4개 방법이 있다.

(double)5/3 - 두 정수 중에 하나만 double을 씌어줘도 된다.

5/3.0 - 3.0이라는 자체가 소수점이 있는 실수이기 때문에 double로 강제 타입변환을 안해줘도 이미 돼있다.

5.0/3 - 위와 같은 방식

(double)5/(double)3 - 두 정수 각각 강제타입변환을 해서 연산하는 방식인데 적기에는 매우 길어서 비추

 

 

출력에는 3가지가 있다.

println(); -출력을 한 뒤 줄바꿈이 된다.

print(); -출력을 한 뒤 줄바꿈을 하지 않는다.

printf(); - 출력을 한 뒤 줄바꿈을 하지 않고, 사용법은 파이썬의 format함수와 같다.

더보기

ex)

System.out.printf("내 이름은 %s이고 나이는 %d이다.",%s에 들어갈 변수,%d에 들어갈 정수);

printf("출력할 서식",출력할 내용);

서식의 종류

%d : 정수

%f : 실수 // 소수점아래 표현은 %.2f(소수점 둘째자리까지 표현) %.0f(소수점 없이 표현) 그 뒤에 숫자들은 반올림 된다.

%b : 불린

%c : 하나의 문자

%s : 문자열

%n : 줄바꿈

 

 

반응형