변수에 담긴 값을 확인해야 할 때, 콘솔에 출력할 수 있다.
이때 출력하기 위해 사용하는 명령어는
System.out.print()
System.out.println()
System.out.printf()
를 활용한다.
이 각각 명령어들의 차이점에 대해 알아보자.
System.out.print()
는 소괄호 안으 내용을 단순히 출력하고 , 줄바꿈을 하지않는다.
System.out.print("Hello JAVA");
System.out.print("Kim" + "Coding");
System.out.print(3+6);
System.out.print(2022 + "year");
위 코드를 실행시키면 줄바꿈을 진행하지 않은
으로 출력됨을 확인 할 수 있다. 괄호 안에 담긴 문자열,정수 형태들이 뒤에 줄바꿈 없이 이어서 출력이 된다.
System.out.println()
은 소괄호 안의 내용을 콘솔에 출력하고 줄바꿈을 한다.
print 뒤에 붙은 ln은 line을 의미한다.
System.out.println("Hello JAVA");
System.out.println("Kim" + "Coding");
System.out.println(3+6);
System.out.println(2022 + "year");
을 실행시켜보면,
출력됨과 동시에 괄호안의 내용이 출력되고 줄바꿈이 진행됨을 볼 수 있다.
자신이 원하는 데이터 형식으로 화면에 출력하기 위해 사용된다.
이름 그대로 값을 어떤 형식으로 출력할 것인지를 지정하기 위해 사용한다. f는 formatted의 약자이다.
추가로, print()와 마찬가지로 줄바꿈이 포함되지 않는 형태이다
System.out.printf("%s%n", "Hello JAVA"); // 줄바꿈이 됩니다.
System.out.printf("%s%n", "Kim" + "Coding");
System.out.printf("%d%n", 3+6);
System.out.printf("지금은 %s입니다", 2022 + "year"); // 자동 타입 변환이 일어납니다.
System.out.printf("나는 %c%s입니다", '김', "코딩"); //여러 개의 인자를 넣을 수 있습니다.
형태로 자신이 원하는 데이터 형식으로 출력된다. 줄바꿈은 자동으로 포함되지 않아,줄바꿈을 위해 %n을 붙여 사용하였다.
앞에서는 콘솔 출력을 알아보았다. 이번에는 콘솔 입력에 대해 알아보고자 한다.
데이터를 입력받는 코드는 아래와 같다.
import java.util.Scanner; // Scanner 클래스를 가져옵니다.
Scanner scanner = new Scanner(System.in); // Scanner 클래스의 인스턴스를 생성합니다.
String inputValue = scanner.nextLine(); // 입력한 내용이 inputValue에 저장됩니다.
System.out.println(inputValue); // 입력한 문자열이 출력됩니다.
[그림] 위 코드를 실행시킨 후 입,출력 화면
import java.util.Scanner;
데이터를 입력받는 기능을 작은 프로그램으로 만들어둔 것이 Scanner이다. 이 Scanner는 java.util이라는 위치에 저장되어져 있는데, Scanner를 사용하려면 작성하고 있는 소스코드 안으로 Scanner를 불러와야 한다. 즉, import java.util.Scanner;는 ‘java.util에 있는 Scanner를 이 소스 코드로 불러와라’라는 의미가 된다.
Scanner scanner = new Scanner(System.in);
위에서 불러온 Scanner은 클래스이다. 클레스를 통해 객체를 만들어 낼 때에는 new 연산자를 사용하며, 그 결과물로 만들어진 객체를 인스턴스라고 한다. 이렇게 클래스에 new 연산자를 적용하여 인스턴스를 만드는 것을 '클래스를 인스턴스화한다'고 표현 가능하다.
String inputValue = scanner.nextLine();
위에서 Scanner 클래스를 인스턴스화한 scanner에는 nextLine()이라는 메서드가 존재한다. 이 메서드는 콘솔을 통해 문자열 데이터를 입력 받는 기능을 수행한다. 즉 scanner.nextLine()은 문자열을 입력받기 위한 코드이며, 입력받은 문자열은 inputValue라는 변수에 할당되어 저장한다.