콘솔 입력 출력

gustjtmd·2022년 1월 26일
0

Java

목록 보기
7/40
콘솔은 컴퓨터를 대상으로 데이터를 입출력하는 장치를 총칭하는 말이다. 따라서 킵드와 모니터도 콘솔 입출력의 장치에 해당한다.

콘솔 출력

System.out.println & System.out.printf

자바의 대표적인 콘솔 출력 메소드는 System.out.println이다 이 메소드는 문자열을 출력하고
나서 행을 바꾸는 특징이 있다.
반면 문자열 출력후에 행을 바꾸지 않는 System.out.printf 메소드도 존재한다.

이와 관련된 코드

class Box{
    private String conts;

    Box(String cont){
        this.conts = cont;
    }
    public String toString(){
        return conts;   //문자열 반환
    }
}

public class AutoCallToString {
    public static void main(String[] args) {
        StringBuilder stb = new StringBuilder("12");
        stb.append(34);
        System.out.println(stb.toString());
        System.out.println(stb);

        Box box = new Box("Camera");
        System.out.println(box.toString());
        System.out.println(box);
    }
}


1234
1234
Camera
Camera

-----------------------------------------------------------------------

위 코드에서 Box 클래스 StringBuilder 클래스에는 다음의 공통점이 있다

"문자열을 반환하는 public String toString()메소드가 정의되어 있다.

따라서 코드에서는 인스턴스가 지니는 문자열의 출력을 위해 다음과 같이 문장을 구성하였다.

System.out.println(stb.toString());	//toString이 반환하는 문자열 출력
System.out.println(box.toString());	//toString이 반환하는 문자열 출력

그런데 다음과 같이 인스턴스의 참조 값을 넘겨도 동일한 출력 결과를 확인할 수 있다.

System.out.println(stb);
System.out.println(box);

이를 통해 다음의 내용을 알 수 있다

System.out.println은 참조값이 전달되면 이 값의 인스턴스를 대상으로 toString 메소드를
호출한다. 그리고 이때 반환되는 문자열을 출력한다.

콘솔 입력

Scanner 클래스의 키보드 적용, 메소드들

Scanner의 생성자로 전달된 System.int은 키보드를 의미한다
정확히는 키보드를 의미하는 인스턴스의 참조변수

메소드의 일부

int nextInt();
byte nextByte();
String nextLine();
double nextDouble();
boolean nextBoolean();

위와 관련된 간단한 코드

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 ", str2);
    }
}

문자열 입력 : 오늘저녁
문자열 입력 : 뭐먹지?
입력된 문자열 1 : 오늘저녁 
입력된 문자열 2 : 뭐먹지? 
profile
반갑습니다

0개의 댓글