728x90
반응형
SMALL
import java.io.*;    // <-- 입출력에 관련된 모든 object/library 가져오는것
import java.util.*;  // <-- 필요한 자료구조나 등등은 다 여기 있을것. 

// 입력과 출력에 대해 
// 실행 : ctrl + F11

public class Main {

	// c : int main(void)
	// python : "name' == "main"	
	public static void main(String[] args) throws IOException {
		// 출력 : 
		//System.out.println(1);  // print + line : 내용물을 출력하고 줄바꿈 ('\n')
		//System.out.print(2);    // print : 내용물을 출력하기만 합니다.
		//System.out.print(3);
		
		// 두개의 수를 입력받아서 합을 구하는 프로그램
		
		// 입력 :
		// #1. scanner : 아마도 많이 사용하셨을 구조 
		//    -> 장점 : 형변환 (Type casting)이 알아서 되서 들어오는 구조
		//Scanner sc = new Scanner(System.in); // 입력 장치
		//int a = sc.nextInt(); //nextDouble() next() <- 문자열로도
		//int b = sc.nextInt();
		//System.out.println(a + b);
		
		// #2. BufferedReader : 예전에는 professional 시험의 main code가 다 br를 사용하는 코드로 나왔는데..
		// 최근에는 scanner도 나오는것으로 확인
		//     장점: 입력이 scanner보다 훨씬 빠름
		//        -> professional 시험에서는 입력받을일이 없어서 -> 사실 무관하긴 한데...
		//        -> main code에 나올수 있으니 알아야.. (최근에는 분석할게 없어서 몰라도 되긴 하는듯)
		//     단점: 쓰기가 조금 어렵죠  
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		// 여기서 사용할 명령어는단 하나 : br.readLine(); // 한줄을 입력받기
		// Unhandled exception type IOException (Warning)
		// System.out.println(br.readLine());  // "1 2" <- bufferedreader는 일단 모든것을 다 문자열로만 가져온다. 
		// 일단 문자열로 들어오는것 -> 분해해서 -> 형변환을 직접해줘야하는 단점 
		// "1 2" --> "1", "2" --> 1, 2 (정수) --> 1+2 --> 3
		StringTokenizer st; // 문자열 분해기 -> 문자열에서 공백을 기준으로 -> 문자열을 분해해서 -> 각각의 "토큰"으로 관리 
		st = new StringTokenizer(br.readLine(), " "); // "1 2" --> ["1" "2"]
		//                                                        token token
		//System.out.println(st.nextToken()); // "1"
		//System.out.println(st.nextToken()); // "2"
		// System.out.println(st.nextToken()); // "에러!" << 토큰이 존재하지 않는데 토큰을 뺴낼려고 함. 
		int a = Integer.parseInt(st.nextToken());
		int b = Integer.parseInt(st.nextToken());
		System.out.println(a + b);
	}
}
728x90
반응형
LIST

+ Recent posts