기초 #3 변수
수업 내용 복습 및 정리 글입니다.
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)사용법
- import문 추가 : import java.util.*;
- Scanner 객체의 생성 : Scanner scanner = new Scanner (System.in); //System.in 은 화면입력
- Scanner 객체 사용 :
int num = scanner.nextInt(); //화면에서 입력받은 정수를 변수에 저장하는 것 / 실수면 nextFloat String input = scanner.nextLine(); //'nextLine' : 화면에서 입력받은 내용에서 한 행을 읽어서 문자열로 반환하는 메소드 int num = Integer.parseInt(input) ; //문자열(input)을 숫자로 변환하여 저장
**숫자 → 문자열 : 숫자 + "" **문자열 → 숫자 : Integer.parseInt(문자열)