min's devlog

Output과 Input 본문

til/Java

Output과 Input

값진 2022. 3. 8. 14:18

콘솔 입출력 (Console 'Input Output, IO)

- 기본 입력 장치 : 키보드

- 기본 출력 장치  : 모니터

 

< 콘솔 출력 >

- 클래스.필드.메소드()

자바에서 콘솔창에 출력하게 하는 명령어는 세가지가 있다.

(실제로 읽을 때는 가장 끝에있는 메소드 요소만 읽어도 의미가 전달된다.)

 

1. System.out.print(값)

    - 값을 출력하고 종료 (행을 바꾸지 않는다)

 

2. System.out.println(값)

    - print line > 줄단위 출력

    - 값을 출력하고 엔터치고 종료

    - 값이 없으면 아무것도 안찍고 엔터만 출력하기 때문에 빈 라인을 만들 때 활용하기도 한다.

(or System.out.print("\r\n"); : 빈라인 생성)

 

3. System.out.printf(값)

    - print format > 여러가지 출력 형식 제공

 

 

* printf

- 형식 문자 제공, PlaceHolder(자리를 맡아주는개념)

1. %s -> String

2. %d -> Demical(정수, byte, short, int, long)

3. %f -> Float(실수, float, double)

4. %c -> Char

5. %b -> Boolean

 

 

형식 문자의 확장 기능

1. %숫자d

 - 모든 형식 문자에 적용

 - 출력할 너비를 지정한다.

 - (+)는 우측 정렬, (-)는 좌측정렬!

 - 서식작업에 사용한다. > 탭문자와 같이 사용한다.

 - 수치 숫자 : 우측 정렬

 

int num = 123;

System.out.printf("[%d]\n" , num);      //[123]이 출력
System.out.printf("[%10d]\n" , num);   //10칸을 확보하고 그 안에 출력해라
System.out.printf("[%-10d]\n" , num);

 

결과 콘솔창

응용 ) System.out.printf("[%5d]\n", 1234567);  //자릿수는 5, 데이터는 7자리 ->자릿수만큼만 출력한다.

 

 

2. %.숫자f

 - double과 float 전용, 소숫점 이하 출력 자릿수를 지정한다.

 

System.out.println("%.0f\n", 10.0 / 3);

 

 

3. %,d

 - double과 float 전용, 천단위를 표기해준다.

System.out.printf("금액 : %,d 원 \n", price);

//1234567원 -> 1,234,567원

 

 

* 주의

		System.out.println("=======================");
		System.out.println("   음료 가격(단위:원)");
		System.out.println("=======================");
		System.out.printf("콜라: \t\t%5d\n", 2500);
		System.out.printf("스무디: \t\t%5d\n", 3500);
		System.out.printf("박카스: \t\t%5d\n", 500);
		System.out.printf("아메리카노: \t%5d\n", 12000);

결과

%5d 를 통해 5자리를 확보하고, 가격을 출력한다. 콘솔창에 일관된 모양새로 출력할 수 있어 더 깔끔해졌다.

*** 숫자 출력은 반드시 단위를 출력할 것

 

 

 

 

< 콘솔 입력 >

- Input

1. System.in.read()
- System.out.print() 반대 기능
- 기본 기능이지만, 사용하기 불편하기 때문에 잘 쓰지 않는다고 한다.


2. BufferedReader 클래스

 

3. Scanner 클래스

 

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

연산자(Operator)  (0) 2022.03.10
형변환(Casting)  (0) 2022.03.08
변수(Variable)  (0) 2022.03.07
자료형 (Data Type)  (0) 2022.03.07
Java의 구조  (0) 2022.03.04
Comments