[Java] 1. 자바의 입출력과 변수
15 Jun 2022 | java java-lecture자바의 입출력과 변수
입출력 (I/O)
표준 스트림
input
(stdin) - 0output
(stdout) - 1error
(stderr) - 2
입력 (Input)
System.in
스트림 사용Scanner를
사용해서 스트림으로 입력된 값을 받음Scanner scanner = new Scanner(System.in); String oneWord = scanner.next(); String oneLine = scanner.nextLine(); int oneInteger = scanner.nextInt();
출력 (Output)
System.out
스트림 사용 (에러 출력을 위해서는System.err
)System.out.print("Hello "); // 출력 후 개행하지않음 System.out.println("World"); // 출력 후 개행 System.out.printf("%d %s\n", 1, "안녕"); // 문자열 포맷팅 (String formatting)
변수 (Variable)
원시 타입 (Primitive Type) - 8개
실제 데이터 값을 저장
소문자로 시작 (int, char, short …)
- 문자형 (문자 하나 표현 a, b, c, d, …)
한글을 표현할 수 있음
C의 경우char
는 1바이트의 크기를 가지지만
Java는 Unicode를 사용하여 2바이트의 크기를 가짐char
: 2 Bytes -> ASCII
- 정수형 (-붙은 자연수, 0, 자연수)
byte
: 1 Bytes (8bits)short
: 2 Bytesint
: 4 Byteslong
: 8 Bytes
- 실수형 (소수점이 포함된 수, -붙은, 0)
float
: 4 Bytesdouble
: 8 Bytes
- 논리형 - true, false 값을 가짐
boolean
: 1 Bytes
레퍼런스 타입 (Reference Type)
객체의 주소를 참조
원시타입을 제외한 모든 타입
대문자로 시작 (String, Object, Integer …)
모두Object를
상속받음,null
값을 가질 수 있음
- 문자열 :
String
- 원시타입의
Wrapper
클래스들
- char :
Character
(16 Bytes)- byte :
Byte
(16 Bytes)- short :
Short
(16 Bytes)- int :
Integer
(16 Bytes)- long :
Long
(24.5 Bytes)- float :
Float
(16 Bytes)- double :
Double
(24.5 Bytes)- boolean :
Boolean
(16 Bytes)
원시타입 VS 레퍼런스 타입
- 원시타입이 레퍼런스보다 속도가 빠름
- 원시타입이 레퍼런스보다 메모리를 적게먹음
- 레퍼런스는 다양한 원시 타입들로 구성됨
예제
정수 두개를 입력받아 더하여 출력하는 프로그램
Scanner scanner = new Scanner(System.in); int a, b; a = scanner.nextInt(); b = scanner.nextInt(); System.out.printf("%d + %d = %d\n", a, b, a + b);