728x90


728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

21.12.27 운동기록  (0) 2021.12.27
21.12.25 운동기록  (0) 2021.12.25
21.12.23 운동기록  (0) 2021.12.24
21.12.22 운동기록  (0) 2021.12.22
21.12.21 운동기록  (0) 2021.12.21
728x90
728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

21.12.25 운동기록  (0) 2021.12.25
21.12.24 운동기록  (0) 2021.12.24
21.12.22 운동기록  (0) 2021.12.22
21.12.21 운동기록  (0) 2021.12.21
21.12.20 운동기록  (0) 2021.12.21
728x90
728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

21.12.24 운동기록  (0) 2021.12.24
21.12.23 운동기록  (0) 2021.12.24
21.12.21 운동기록  (0) 2021.12.21
21.12.20 운동기록  (0) 2021.12.21
21.12.18 운동기록  (0) 2021.12.19
728x90

 

 

1.형식화된 출력 - printf()

println() 메소드의 단점 : 출력형식 지정불가

1)실수의 자리수 조절불가 - 소수점 n자리만 출력하려면?

       Systme.out.println(10.0/3);    // 3.33333333…

 

정수 나누기 정수는 값이 소수점이 나와야하지만 정수로 출력함

하나를 실수로 바꿔야 소수점까지 제대로 출력됨

3.33333333...값을 제대로 얻으려면 10/3 아닌 10.0/3 해야한다는 것만 일단 기억해두자

 

2)10진수로만 출력된다 - 8진수, 16진수로 출력할려면?

        System.out.println(0x1A); // 26(10진수)

 

printf() 출력형식 지정가능

       System.out.printf("%.2f", 10.0/3);    // 3.33

       System.out.printf("%d", 0x1A);    // 26   // %d : 10진수

       System.out.printf("%x", 0x1A);    // 1A   // %X : 16진수

 

 

 

2.printf() 메소드의 지시자(1/3)

<자주쓰는 지시자>

*이외에 다른 지시자들을 알고싶다면, JavaAPI문서 - Formatter 검색

 

 

2.printf() 메소드의 지시자(2/3)

1)정수를 10진수, 8진수, 16진수로 출력

System.out.printf("%d", 15);  // 15 10진수(decimal number)

System.out.printf("%o", 15);  // 17 8진수(octal number) - 일칠이라고 읽는다.

       8진수에서는 10 1 아니라 8이기 때문

System.out.printf("%x", 15);  //  f  16진수(hexadecimal)

System.out.printf("%x", 15);  //  f  16진수(hexadecimal)

System.out.printf("%s", Integer.toBinaryString(15));  // 1111 2진수 - 10진수15 2진수 1111

       숫자15 위의 메소드에 넣으면 '문자열1111' 얻는다

       그래서 %s 사용하는

       2진수로 출력하는 지시자없음

       정수를 2진수로 변환해주는 toBinaryString() 메소드를 사용해야함

 

2) 8진수와 16진수에 접두사 붙이기

8진수 접두사 : 0

16진수 접두사 : 0x

 

값이 출력될 때는 접두사가 안붙음. 접두사까지 출력하고 싶다면 지시자 앞에 #추가

       System.out.printf("%#o", 15); // 017

       System.out.printf("%#x", 15); // 0xf

       System.out.printf("%#x", 15); // 0XF // 지시자를 대문자로 쓰면, 접두사X F 같이 대문자로 출력됨

 

3)실수 출력을 위한 지시자 %f - 지수형식(%e), 실수 출력의 간략한 형식(%g)

float f = 123.4567890f;

System.out.printf("%f", f); // 123.456787 소수점아래6자리

              마지막숫자9 아니고 7인이유는 float 정밀도가 7자리까지만 정확하기 때문

System.out.printf("%e", f); // 1.234568e+02 지수형식

             같은 수인데 f출력은 456'7'이고 e 456'8'

             실제 저장된 값은 같으나 마지막값을 반올림하여 보여주기때문

System.out.printf("%g", 123.456789); // 123.457 // 소수점포함 7자리로 간략히 보여줌

             마지막수가 6이어야하나 g 반올림해서 7 출력한 . 지시자f처럼 출력

System.out.printf("%g", 0.00000001); // 1.00000e-8

 

실수형태는 %f 많이쓰면 되고, 숫자에 0 많이 들어가면 %e 사용하면 된다

 

실습

 

 

 

2.printf() 메소드의 지시자(3/3)

 

System.out.printf("[%5d]%n", 10);  // [공백공백공백10] 다섯자리

System.out.printf("[%-5d]%n", 10); // [10공백공백공백] - 왼쪽정렬

System.outprintf("[%05d]%n", 10); // [00010] 공백자리를 대체하는 문자 0
 

 

소수점 포함 14자리. 소수점도 하나의 데이로써 메모리 공간을 차지하기 때문

지정된 자릿수보다 출력할 값으 자릿수가 적다면, 소수점 아래는 빈자리를 0으로 채우고 소수점 위는 공백으로 채움

 

 

 

 

 

 

 

728x90
반응형
728x90

2.(data) 타입

 

1)문자 : char

 

2)숫자

         정수 : byte, short, int, long

         실수 : float, double

3)논리 : boolean - true or false

 

위의 8가지가 기본형

 

 

3.기본형 참조형

1)기본형(Primitive type)

 - 8 : boolean, char, byte, short, int, long , float, double

 - 실제 값을 저장

 

2)참조형(Reference type)

 - 기본형을 제외한 나머지 모두(String, System )

 - 메모리 주소를 저장(4byte 또는 8byte)

 - 4바이트 40(4GB)까지 다를 있고, JVM이나 프로그램에서 사용하는 메모리 제외하면 실제 사용 메모리는 2gb 안됨

 - 32bit JVM = 4byte // 64bit JVM = 8byte : 최대40x40=160경바이트(1600TB) 실제는 테라바이트정도 사용가능

 

*기본형 변수는 타입마다 크기가 다름

  - byte : 1byte // short : 2byte // int : 4byte // long : 8byte

  - 참조형은 크기가 항상 4byte

 

Date today;             // 참조형 변수 today 선언

today = new Date();  // today 객체의 주소를 저장

           (객체 생성)

 

728x90
반응형

+ Recent posts