언어/Java

기초 #3 변수

뭉지(moonz) 2019. 6. 28. 18:08
반응형
수업 내용 복습 및 정리 글입니다.

 

1. 변수의 명명규칙

<java에서 사용되는 예약어>

2. 변수의 타입 - 자료형은 '기본형'과 '참조형'

*연산자 new

 

<기본형의 종류와 크기>

 

3. 상수와 리터럴

(1)상수 선언 방법 : final 자료형 상수명 = 리터럴 ;     (변수의 타입 앞에 키워드 'final' 붙여줘야함)

(2)리터럴 :값 (프로그램에서 '상수'는 값을 변경할 수 없는 저장공간 으로 의미화 , 값 자체를 뜻하는 '리터럴' 용어 생성)

->상수는 리터럴에 '이름'을 붙여서 코드의 이해&수정을 쉽게 만듦

 

4. 리터럴의 타입과 접미사

 

5. 문자 리터럴과 문자열 리터럴

6. printf

println 단점 : 출력 형식 지정 불가 ex) 10.0/3 = 3.33333333...

                : 10진수로만 출력 가능 ex) System.out.println(0x1A) => 26

<prinf()의 지시자>

  • %b : boolean형식으로 출
  • 실수 - (1) %f : 소수점 ( % . 2f : 소수점 둘째자리까지만 출력) (2) %e,%E : 지수 표현식의 형식
  • 정수 - %d : 10진수 / %o : 8진수 / %x : 16진수
  • 문자 - (1) %c :문자로 출력 (2) %s : 문자열로 출력

예시)

-정수를 8진수,16진수,2진수로 출력-

1. System.out.printf("%x",0x1A)  -> 1A

2. System.out.printf("%d",0x1A)  -> 26

3. System.out.printf("age : %d year : %d %n" , 14, 2017)

=> printf는 println과 달리 자동줄바꿈 X, 그래서 개행문자를 넣어줘야함

4. System.out.printf("%s", Integer.toBinaryString(15));  ->정수를 2진수로 바꿔주는 메소드 Integer.toBinaryString를 사용

-><결과> 1111

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

 **지시자 # : 접두사도 같이 출력되도록 하는 지시자

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

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

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

7.

float f= 123.4567890f;

System.out.printf("%f", f); //123.456787 ->기본 : 소수점아래 6자리/ f의 정밀도는 7자리니까 123.4567까지만 정확하고 뒤에는 의미없는 숫자

8. System.out.printf("%e", f);  //1.234568e+02  -> +02는 10의 제곱

**7번과 8번에서 소수점 뒤 456787과 4568인 이유 : 실제 저장된값은 같지만 지수형식에서 반올림을 한 값을 출력함.

9. System.out.printf("%g", 123.456789);  //지시자g는 f와 e중 상황에따라 더 간략한 것을 선택해서 출력함

-> <결과> 123.457 : f 선택

10. System.out.printf("%g", 0.00000001);   //1.00000e-8 : %e 선택 (즉, 실수에 0이 많이 들어가있으면 지수로!)

7. Scanner : "화면으로부터 데이터를 입력받는 기능"을 제공하는 클래스

(1)사용법 

  1. import문 추가 : import java.util.*;
  2. Scanner 객체의 생성 : Scanner scanner = new Scanner (System.in);  //System.in 은 화면입력
  3. Scanner 객체 사용 :

int num = scanner.nextInt();      //화면에서 입력받은 정수를 변수에 저장하는 것 / 실수면 nextFloat                          String input = scanner.nextLine();  //'nextLine' : 화면에서 입력받은 내용에서 한 행을 읽어서 문자열로 반환하는 메소드 int num = Integer.parseInt(input) ; //문자열(input)을 숫자로 변환하여 저장 

 **숫자 → 문자열 : 숫자 + ""                                                                                                                   **문자열 → 숫자 : Integer.parseInt(문자열)

 

반응형