본문 바로가기

자바

14) 입력과 출력

1)String[] args

main 메소드의 내용을 구현하면 자바 에플리케이션을 실행할 때 main 메소드가 호출되면서 프로그램이 구동하게 되는 것이다.

 

이 때 Strings[] args는 입력 값의 파라미터로 동작한다.

 

String[] args은 매개변수다. 매개변수는 메소드가 호출될 때 전달된 입력 값을 메소드 내부로 전달하는 역할을 하는 변수다.

 

이 변수의 데이터형은 String[]인데, String[]은 문자열을 담고 있는 배열이다. 

 

2)앱 실행 중에 입력 받기

package org.opentutorials.javatutorials.io;
 
import java.util.Scanner;
 
public class ScannerDemo {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        System.out.println(i*1000);
        sc.close();
    }
}

sc.nextInt()가 실행되면 자바는 사용자의 입력이 있을 때까지 변수 i에 값을 할당하지 않고 대기상태에 있게 된다.

 

package org.opentutorials.javatutorials.io;
 
import java.util.Scanner;
 
public class Scanner2Demo {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()) {
            System.out.println(sc.nextInt()*1000); 
        }
        sc.close();
    }
}

sc.hasNextInt()는 입력값이 생기기 전까지 실행을 유보시키는 역할을 한다.

 

만약 입력한 값이 int 형이 아닐 경우는 false를 리턴하고, int로 표현할 수 있는 형식의 숫자형인 경우는 true를 리턴한다.

 

package org.opentutorials.javatutorials.io;
 
import java.util.Scanner;
import java.io.*;
 
public class Scanner3Demo {
 
    public static void main(String[] args) {
        try {
            File file = new File("out.txt");
            Scanner sc = new Scanner(file);
            while(sc.hasNextInt()) {
                System.out.println(sc.nextInt()*1000); 
            }
            sc.close();
        } catch(FileNotFoundException e){
            e.printStackTrace();
        }
         
    }
 
}

파일로도 입력이 가능하다.

'자바' 카테고리의 다른 글

16) 클래스와 인스턴스 그리고 객체  (0) 2021.10.19
15) 객체지향프로그래밍  (0) 2021.10.19
13) 메소드  (0) 2021.10.18
12) 배열  (0) 2021.10.18
11) 반복문  (0) 2021.10.18