2018-3-4 TIL Console IO

콘솔 입출력

  • 콘솔이란? 콘솔은 컴퓨터를 대상으로 데이터를 입출력하는 장치를 총칭하는 말이다. 따라서 키보드 모니터도 콘솔 입출력장치에 해당이된다.

문자열을 조합해서 출력하는 System.out.printf 메소드

System.out.printf("정수는 %d, 실수는 %f, 문자는 %c", 12, 24.5, 'A');
  • %d와 같은 것을 가리켜 ‘서식 지정자(Format Specifier)’라고 한다.

package yoon;

public class FormatString {
    public static void main(String [] args){
        int age = 20;
        double height = 178.2;
        String name = "kim jimmy";

        System.out.printf(" name : %s \n", name);
        System.out.printf(" age : %d \n height : %e \n\n", age, height);
    }
}
//result
 name : kim jimmy
 age : 20
 height : 1.782000e+02

### 콘솔 입력

  • Scanner : Scanner클래스는 생성자로 전달되는 대상으로부터 데이터를 추출하는 기능을 제공한다.
  • Scanner(File source)
  • Scanner(String source)
  • Scanner(InputStream source)
package yoon;

import java.util.Scanner;

public class ScanningString {
    public static void main(String [] args) {
        String source = "1 3 5";
        Scanner sc = new Scanner(source); // Scanner 인스턴스 생성

        int num1 = sc.nextInt(); // int형 데이터 추출
        int num2 = sc.nextInt(); // int형 데이터 추출
        int num3 = sc.nextInt(); // int형 데이터 추출

        int sum = num1 + num2 + num3;
        System.out.printf("%d + %d + %d = %d \n", num1, num2, num3, sum);

    }
}
//result
1 + 3 + 5 = 9

Scanner 클래스의 키보드 적용

package yoon;

import java.util.Scanner;

public class ScanningKeyboard {
    public static void main(String [] args) {
        Scanner sc = new Scanner(System.in);

        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int num3 = sc.nextInt();

        int sum = num1 + num2 + num3;
        System.out.printf("%d + %d + %d = %d \n", num1, num2, num3, sum);

    }
}
//result
12
14
16
12 + 14 + 16 = 42
  • 위의 12 14 16은 키보드를 통해서 입력을 받은것이다.
  • nextInt메소드가 호출되면 키보드로부터 데이터가 입력될 때까지 프로그램의 실행이 대기상태에 놓인다.

Scanner 클래스의 주요 메소드들

  1. int nextInt()
  2. byte nextByte()
  3. String nextLine()
  4. double nextDouble()
  5. boolean nextBoolean()
package yoon;

import java.util.Scanner;

public class ReadString {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);

        System.out.print("문자열 입력 : ");
        String str1 = sc.nextLine();

        System.out.print("문자열 입력 : ");
        String str2 = sc.nextLine();

        System.out.printf("입력된 문자열 1 : %s \n", str1);
        System.out.printf("입력된 문자열 2 : %s \n", str2);
    }
}
//result
문자열 입력 : a
문자열 입력 : b
입력된 문자열 1 : a
입력된 문자열 2 : b
Written on March 4, 2018