ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 알고리즘 풀이를 위한 자바 입출력
    JAVA 2021. 9. 27. 20:12

    자바 출력

    1. System.out.printf();

        - C언어의 printf와 비슷, 서식 지시자 (format specifier)를 통해서 출력 가능

    int age = 30;
    System.out.printf("나는 %d살 입니다. \n", age)
    String name = "우주";
    System.out.printf("나의 이름은 %s 입니다. \n", name)
    
    // ----출력----
    // 나는 30살 입니다.
    // 나의 이름은 우주 입니다.

        - 가장 흔하게 사용되는 지시자:

    정수 int 실수 float 문자 char 문자열 String 논리 Boolean
    %d %f %c %s %b

     

    2. System.out.print();

        - 서식 지정자를 사용 할 수 없고 문자열과 변수명을 +로 연결하여 사용해야 한다.

    int age = 30;
    System.out.printf("나는 " + a + "살 입니다. \n")
    String name = "우주";
    System.out.printf("나의 이름은 " + name + " 입니다. \n")
    
    // ----출력----
    // 나는 30살 입니다.
    // 나의 이름은 우주 입니다.

     

    3. System.out.println();

       - System.out.print(); 와 비슷하고 자동 줄바꿈이 된다. 

    int age = 30;
    System.out.printf("나는 " + a + "살 입니다.")
    String name = "우주";
    System.out.printf("나의 이름은 " + name + " 입니다.")
    
    // ----출력----
    // 나는 30살 입니다.
    // 나의 이름은 우주 입니다.

     

    자바 입력

    1. System.in.read()

        -단일 문자 입력ㅡ 무조건 int 타입의 변수로 받아줘야함

    int a, b, c;
    System.out.print("입력 하세요");
    a = System.in.read();  // 5 + enter
    b = System.in.read();  // 4 + enter
    c = System.in.read();  // 3 + enter
    System.out.println("입력1: " + a);
    System.out.println("입력2: " + b);
    System.out.println("입력3: " + c);
    
    // ----출력-----
    // 입력1: 5
    // 입력2: 4
    // 입력3: 3

     

    2. Scanner

        - 정수, 실수, 단어, 줄단위를 읽어 올 수 있음

        - Scanner를 import 해주고 Scanner 객체를 생성해서 사용해야함

        - space와 enter로 데이터 구분

    import java.util.Scanner;
    
    public class main {
    
    	public static void main(String[] agrd) {
        String dream, name, intro, body;
        int age;
        double grade;
        // 입력부
        Scanner sc = new Scanner(System.in);
        System.out.println("이름을 입력하세요."); // 우주
        name = sc.next();
        System.out.println("나이를 입력하세요."); // 30
        age = sc.nextInt();
        System.out.println("학점을 입력하세요.");  // 4.1
        grade = sc.nextDouble();
        System.out.println("꿈을 입력하세요.");  // astronomer
        dream = sc.nextLine();
        System.out.println("자기소개 제목을 입력하세요.");  // 우주를 사랑하는 개발자
        intro = sc.nextLine();
        System.out.println("자기소개를 입력하세요.");  // 나는 우주를 사랑합니다.
        body = sc.nextLine();
        // 출력부
        System.out.println("나의 이름은 " + name + " 입니다.");
        System.out.println("나이는 " + age + "살 입니다.");
        System.out.println("학점은 " + grade + "이고 나의 꿈은 " + dream + "입니다.");
        System.out.println("자기소개");
        System.out.println(intro);
        System.out.println(body);
        }
    }
    
    // ----출력-----
    // 나의 이름은 우주 입니다.
    // 나이는 30살 입니다.
    // 학점은 4.1이고 나의 꿈은 astronomer입니다.
    // 우주를 사랑하는 개발자
    // 나는 우주를 사랑합니다.

     

    3. BufferedReader

        - 오직 받을 수 있는 데이커가 String으로 고정되어 데이터를 가공하는 작업이 많이필요

        - buffer를 이용해 속도를 빠르게 향상 시켰기 때문에 많은 양의 데이터 입력 받을 경우 훨씬 효율적

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class main {
    
    	public static void main(String[] agrd) {
        String intro, will;
    
        // 입력부
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        
        System.out.println("자기소개 하세요"); // 나는 우주 입니다.
        intro = bf.readLine();
        System.out.println("각오를 말하세요."); // 나는 최선을 다하겠습니다.
        will = bf.readLine();
    
        // 출력부
        System.out.println(intro);
        System.out.println(will);
        }
    }
    
    // ----출력-----
    // 나는 우주 입니다.
    // 나는 최선을 다하겠습니다.
Designed by Tistory.