본문 바로가기
Java

[Java] 변수와 시스템 입출력

by lmyourpearl 2025. 10. 29.

시스템 입출력

 

System.out.println( ): 괄호에 주어진 매개값을 모니터로 출력하고 행을 바꿈

System.out.print( ): 괄호에 주어진 매개값을 모니터로 출력만 하고 행을 바꾸지 않음

System.out.printf( ): 괄호에 주어진 형식대로 출력

// printf()메소드 사용 방법

package sec04.exam01;

public class PrintfExample {
	public static void main(String[]args) {
    int value = 123;
    
    System.out.printf("상품의 가격:%원\n", value);
    System.out.printf("상품의 가격:%6원\n", value);
    System.out.printf("상품의 가격:%-6d원\n", value);
    System.out.printf("상품의 가격:%06d원\n", value);
    
    double area = 3.14159 * 10 * 10;
    System.out.printf("반지름이 %d인 원의 넓이: %10.2f\n", 10, area);
    
    String name = "홍길동";
    String jon = "도적";
    System.out.printf("%6d | %-10s | %-10s\n", 1, name, job);
    }
  }
  
  // 실행 결과
  // 상품의 가격: 123원
  // 상품의 가격:    123원
  // 상품의 가격: 123   원
  // 상품의 가격: 000123원
  // 반지름이 10인 원의 넓이:   314.16
  //    1 | 홍길동   |   도적

 

 

System.in.read( ): 키보드에서 입력된 키코드를 읽음

숫자 (Number Row)
──────────────────────────────────────────────────
0        = 48     1        = 49     2        = 50  
3        = 51     4        = 52     5        = 53  
6        = 54     7        = 55     8        = 56  
9        = 57     

알파벳 (A–Z)
──────────────────────────────────────────────────
A        = 65     B        = 66     C        = 67  
D        = 68     E        = 69     F        = 70  
G        = 71     H        = 72     I        = 73  
J        = 74     K        = 75     L        = 76  
M        = 77     N        = 78     O        = 79  
P        = 80     Q        = 81     R        = 82  
S        = 83     T        = 84     U        = 85  
V        = 86     W        = 87     X        = 88  
Y        = 89     Z        = 90     

기능키 (F1–F12)
──────────────────────────────────────────────────
F1       = 112    F2       = 113    F3       = 114 
F4       = 115    F5       = 116    F6       = 117 
F7       = 118    F8       = 119    F9       = 120 
F10      = 121    F11      = 122    F12      = 123 

방향키 (Arrows)
──────────────────────────────────────────────────
← Left   = 37     ↑ Up     = 38     → Right  = 39  
↓ Down   = 40     

제어/탐색 키 (Controls/Navigate)
──────────────────────────────────────────────────
Back Space = 8      Tab       = 9      Enter  = 10  
Escape     = 27     Space     = 32     Delete = 127 
Insert     = 155    Home      = 36     End    = 35  
Page Up    = 33     Page Down = 34     Shift  = 16  
Ctrl       = 17     Alt       = 18

System.in.read( )의 단점은 키코드를 하나씩 읽기 때문에 2개 이상의 키가 조합된 한글을 읽을 수 없다는 것과 그리고 키보드로부터 입력된 내용을 통 문자열로 읽지 못함.

 

그래서 사용하는 것이 Scanner 클래스

Scanner: System.in.read()는 키코드를 하나씩 읽기 때문에 2개 이상의 키가 조합된 한글을 읽을 수 없음. 

키보드로부터 입력된 내용을 통 문자열로 읽기 위해서 Scanner를 사용할 수 있음.

 

package sec04.exam05;

import java.util.Scanner;

public class ScannerExample {
	public static void main(String[]args)throws Exception {
    Scanner scanner = new Scanner(System.in);
    String inputData;
    
    while(true) {
    	inputData = scanner.nextLine();
    	System.out.println("입력된 문자열: \"" + inputData + "\"");
    	if(inputData.equals("q")) {
    		break;
         }
     }
     
     System.out.println("종료");
   }
 }
 
 // 실행 결과
 // a
 // 입력된 문자열: "a"
 // abc
 // 입력된 문자열: "abc"
 // 자바는 프로그래밍 언어이다.
 // 입력된 문자열: "자바는 프로그래밍 언어이다."
 // q
 // 입력된 문자열: "q"
 // 종료

자바는 기본 타입(byte, short, int, long, float, double, boolean)의 값이 동일한지 비교할 때에는 ==를 사용하고,

문자열(String)이 동일한지 비교할 때에는 equals( ) 메소드를 사용

'Java' 카테고리의 다른 글

[Java] 연산자의 종류 - 단항 연산자  (0) 2025.11.02
[Java] 연산자  (3) 2025.11.02
[Java] 타입 변환  (0) 2025.10.28
[Java] 변수  (0) 2025.10.28
[Java] 시작하기  (0) 2025.10.28