열혈 Java 프로그래밍

[윤성우의 열혈 Java 프로그래밍] Chapter 12 콘솔 입출력

잉여진행중 2020. 8. 6. 16:15

개인적으로 헷갈리는 것 중요한 것 위주로 정리해두고 연습문제를 풀어본 글입니다.

 

- System.out.printf

문자열의 내용을 조합하여 출력한다.

 

서식 지정자     출력형태      

     %d         10진수 정수

     %o          8진수 정수

     %x         16진수 정수

     %f            실수

     %e      e표기법(지수표현)

     %g          %c / %f

     %s           문자열

     %c            문자

 

printf는 줄바꿈을 일일이 해줘야한다. 지수표현, 진수표현 등을 알 수 있다.

- Scanner 클래스

우선 이 클래스가 속한 패키지는 java.util 이다.

따라서 Scanner 클래스를 사용할 때 import java.util.Scanner; 을 작성해줘야 한다.

이 클래스는 생성자로 전달되는 대상으로부터 데이터를 추출한다. Scanner sc = new Scanner(source);

Scanner 클래스에 키보드를 연결할 수 있다. Scanner sc = new Scanner(System.in);

//데이터 추출만
import java.util.Scanner;

class ScanningString {
    public static void main(String[] args) {
        String source = "1 3 5";
        Scanner sc = new Scanner(source);
        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);
    }
}

/*
출력결과

1 + 3 + 5 = 9
*/
//Scanner에 키보드 연결
import java.util.Scanner;

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);
    }
}

/*
출력결과
키보드로 데이터를 총 3번 입력하면 각 숫자들이 num1, num2, num3에 저장되고
함께 sum 값도 저장되어 System.out.문장을 출력하게 된다.

ex)12
23
34
로 입력 
12 + 23 + 34 = 69
*/

- Scanner 클래스 주요 메소드

int nextInt( ) : 정수 int형

byte nextByte( ) : 정수 byte형

String nextLine( ) : 문자열

double nextDouble( ) : 실수

boolean nextBoolean( ) : 참거짓

boolean은 감이 잘 안잡혀서 주석처리! 정수값이 형에 따라 값이 다르다는 것을 확인할 수 있다.