상세 컨텐츠

본문 제목

[JAVA] 데이터의 형변환 | printf

IT/JAVA

by o_zeew 2024. 2. 20. 17:49

본문

24.02.20 5일차

 

목차

1. 데이터의 형변환

2. printf

3. 실습4

 

[수업 목표]

1. 형 변환 원인과 방법

2. 연산자의 종류와 이해

 


 

1. 데이터의 형변환

1) 캐스팅 : 큰 자료형 > 작은 자료형으로 변환할 때 (강제)

2) 프로모션 : 작은 자료형 > 큰 자료형으로 변환할 때 (자동)

 

int k = (int)(3.14)  > 정수(int)는 4byte, 실수(3.14)는 8byte이기 때문에 8byte를 4byte로 변환하기 위해서 강제로 int 적용

long k = 3;  > 정수(3)은 4byte, long은 8byte이기 때문에 3은 자동으로 long 적용

 

promotion : 데이터가 작은것에서 큰것으로 바뀌는 것(자동 형변환)

casting : 

 

ByteTest.java

 - main함수가 작성된 기본 골격

 

 * a는 byte형 / 1은 정수형

 > byte형인 a가 +1을 만나서 정수형으로 promotion 되기 때문에 mismatch 오류 발생

 > 데이터 형이 맞지 않으면 오류 발생

 > 데이터가 유실될 위험성을 감안해서라도 데이터형을 바꿔서 사용하기 위해선 casting 필요

 - byte로 선언해줘야한다

 

 - byte는 최대 127까지 이기 때문에 +1을 한 결과 -128이 되었다

 - 다시 +1을 해줬을 때의 결과값

 


 

2. Printf

print + format : 출력할 양식을 정해서 출력하겠다는 의미

%s : s > 문자열을 의미 (String type) , 일반적으로 쓰는 것이기 때문에 헷갈릴때는 s를 사용하는 편이다

%30s : 30 > 자리값(오른쪽 정렬) *일반적으로 숫자는 무조건 오른쪽 정렬

%-30s : -30 > 자리값(왼쪽 정렬)

 

 * printf(" ", a)

   println("  " + a)

 

* tot을 정수 2로 나누면 소수점 아래가 다 지워지게됨

 

정수2를 double로 선언해주면 정수2가 2.0으로 선언되면서 평균이 제대로 나오게 됨

 

%d > decimal : 10진정수

%f > floating-point : 부동 소수점

\n : 줄 바꾸기

 

7.1 > 전체 7자리까지 출력 / 소수점 한자리 수를 의미

 

 * > 크다(초과)

   > : 크거나 같다(이상)

   < 작다 :미만

   <=작거나 같다(이하)

   == 같다( ===)

   != 같지 않다

 


 

3. 실습4 PrintfTest2.java

1) 국,영,수 과목의 점수를 임의의 변수에 저장한 후 총점과 평균을 계산하고,

2) 평균이 60 이상이면 true를, 아니면 false를 출력하시오.

   (단, 성적들도 모두 출력)

 

*평균이 60일 때도 동일하게 true

 

* 평균이 0.03이 부족하기 때문에 false

* %b : boolean값

관련글 더보기