DevTagebuch

3. 변수와 데이터 형식 본문

Java/Learning

3. 변수와 데이터 형식

yedevlife 2020. 4. 18. 01:58

1) 출력

System.out.println(); 괄호 안의 내용을 출력한 후 한 행을 띄움

System.out.print(); 괄호 안의 내용 출력, 한 행 띄지 않음

System.out.printf(); 서식 지정해서 출력

 

* println() 에서 ln은 line feed 의 약자로 행을 넘긴다는 의미.

 

System.out.printf("100");

여기서 결과 100은 숫자가 아닌 문자 일영영임.

System.out.printf("%d",100);

여기서 결과 100은 숫자 100을 의미. %d 서식이 지정된 '숫자'는 그대로 숫자의 의미.

 

[예제]

100과 200을 더한 결과가 나올 수 있도록 %d를 3개 사용하여 System.out.printf()문을 만들어보자.

또한 나눗셈 결과도 나오게 해보자.

System.out.printf("%d + %d = %d",100,200,300);
System.out.printf("%d / %d = %f",100,200,0.5);

 

출력 관련 정리 

System.out.println(“100”) //문자 (일영영), 따옴표 안붙이면 에러남
System.out.printf("\n"); //줄바꿈
System.out.printf("%d %d",100,200); //이거처럼 100과 200 둘다 있으니 %d도 두개
System.out.printf("%d %d",100); //에러뜸 왜? %d 는 뒤에 해당하는 숫자만큼 해야함
//실수를 출력할때는 %d 안됨. %f 를 해야함. 출력은 소수점 6자리까지 나타남

 

%d, %x, %o 정수(10진수 16진수 8진수) Ex.10,100,1234

%f 실수 Ex.0.5, 1.5

%c 문자 반드시 한글자이고 작은따옴표 Ex.‘s’ ‘a’

%s 문자열 한글자 이상이고 큰따옴표 Ex.“안녕” “adcdse” 

System.out.printf("%d/%d=%f\n",100,200,0.5);//\n은 한줄띄기 표시. 따옴표 안에 넣으면 됨
System.out.printf("%c %c\n",'a','k');
System.out.printf("%s %s\n","IT World", "JAVA");

 

System.out.printf("%f\n",123.45);//원래 기본 소수점 6자리로 나옴 : 123.450000
System.out.printf("%.1f\n",123.45);//소수점이하 1자리만 표시하도록 : 123.5
System.out.printf("%7.3f\n",123.45);//전체 7자리 중 소수점이하 3자리 표시 : 123.450
//쩜 (.)도 공백 세지니까 123.450이어도 7자리인거

 

2) printf(); 메소드의 서식 지정

2-1) 출력 범위

%d (예를들어 123을 저장하려고 할때)

"%d"  숫자의 자릿수 만큼 정렬 (123)

"%5d" 다섯자리 확보, 오른쪽에 붙어서 정렬 (  123=> 앞 두자리 공백)

"%05d" 오른쪽 정렬, 빈칸을 0으로 채움 (00123)

 

%f (123.45 를 저장할때)

"%f" 소수점 아래 여섯자리까지 표현 (123.450000)

"%7.1f" 전체 7자리 확보, 소수점 아래 첫째자리만 출력, 둘째 자리에서 반올림 (  123.5=>앞 두자리 공백, .도 글자수로 세기 때문)

"%7.3f" 전체 7자리 확보, 소수점 아래 셋째 자리까지 출력, 오른쪽 빈칸 0 채움 (123.450)

 

2-2) 서식 문자

\n : 새로운 줄로 이동 (enter키 효과)

\t : 다음 탭으로 이 동 (tab키 효과)

\b : 뒤로 한 칸 이동 (back space키 효과)

\r : carriage return

\\ : \출력

\' : '출력

\" : "출력

3) 진수변환

2진수를 10진수로 변환하는 방법

10진수를 2진수로 변환하는 방법 

2진수를 16진수로 변환한 후 10진수로 변환하는 방법

4) 상수 선언

final 키워드를 사용하며 선언 시 초기값을 지정한다. 실행 중에 값 변경이 절대 불가능!

final int PRICE = 10;

- 상수 이름은 꼭 대문자

- =뒤에 초기화 시킬 값 입력

Public class CircleArea {
public static void main(String[] args){
 final double PI=3.14; //원주율을 상수로 선언
 double radius=10;//원의 반지름
 double circleArea=0;//원의 면적
 
 circleArea = radius*radius*PI; //원의 면적 계산식
 
 //원의 면적을 화면에 출력
 
 System.out.print("원의 면적=");
 System.out.printf("%7.1f",circleArea);

5) 타입 변환

강제 타입 변환 = 캐스팅이라고 불림.

실수에서 정수로 강제 타입변환을 하면 소수점 아래자리 다 탈락. = 데이터 손실이 일어남.

더보기

double d=3.19;

int a=(int)d; //n은 3이 된다.

 

자동 타입 변환 = 원래의 타입보다 큰 타입으로 바뀔 때.

byte>char/short>int>long>float>double

더보기

long var;

int n=34523;

byte b=25 //0X19;

var = b; //var 는 long타입 변수, 즉 8바이트. b는 byte 타입이니까 1바이트. 1바이트에서 8바이트는 자동으로 타입 변환됨.

==> var 값은 25

var = n; //int 타입에서 long타입으로 변환. 4바이트에서 8바이트로 자동 타입 변환.

==> var 값은 34523

'Java > Learning' 카테고리의 다른 글

4. 연산자  (0) 2020.04.19
2. 변수  (0) 2020.04.16
1. 기초 정리  (0) 2020.04.16
Comments