본문 바로가기
Backend/Java

Java 기초 문법 : 콘솔에 데이터 출력해보기

by 코딩쥐 2024. 5. 1.

컴퓨터를 조작하기 위해 사용하는 패널을 콘솔이라 부른다. 자바프로그램은 System.out.println() 이라는 명령어를 통해 실행 시 콘솔에 출력시킬 수 있다. 

 

System.out

  • println() : 한 줄 출력 후 줄바꿈을 시행한다.
  • print() : 한 줄 출력 후 줄바꿈을 시행하지 않는다. 
  • printf() : 문장 안에 값을 출력하고자 하는 경우 사용한다. 지시자를 사용하여 데이터에 대한 다양한 표현이 가능하다.

지시자

  • %[위치정보][(][,][#][문자열길이][.소수점출력][출력지시자]
    • [위치정보] : printf에서 참조하려고 하는 값의 위치, "숫자$" 형태로 몇 번째 값을 참조할지 정함
    • [(] : 참조하려는 값이 숫자이면서 음수일 경우 () 를 사용
    • [#] : 참조하려는 값이 숫자고 16진수나 8진수로 표현해야 할 경우 앞의 0x, 0을 출력하려할 때 사용
    • [문자열길이] : 표현할 대상의 문자열 길이를 나타낸다. +가 붙으면 왼쪽, -가 붙으면 오른쪽 정렬
    • [.소수점출력] : 출력하려는 값이 실수이며, 특정 부분에서 반올림 해야하는 경우 사용한다. 

지시자 설명
%n 출력 후 줄바꿈
%b 불리언(boolean) 형식으로 출력  
%d 10[[진법]](decimal) 정수 형식으로 출력  
%o 8[[진법]](octal) 정수 형식으로 출력  
%x, %X 16[[진법]](hexa-decimal) 정수 형식으로 출력 
%f 부동 소수점(floating-point) 형식으로 출력 (실수형 값), 소수점 아래 6자리까지만 출력
%e, %E  지수(exponent) 표현식의 형식으로 출력 (실수형 값) 
%g 값을 간략하게 표현할 때 사용 (%f와 %e 중에서 문자 수가 적은 쪽 출력)
%c 문자열(character)로 출력 
%s 문자열형(string)로 출력 

 

 

%d 예제

public class Test {  
    public static void main(String[] args) {  
    int age = 20;  
      
    System.out.printf("age=%d%n", age);  
    System.out.printf("age=[%5d]%n", age);  // 출력될 값이 차지할 공간 지정  
    System.out.printf("age=[%-5d]%n", age);  
    System.out.printf("age=[%05d]%n", age);  
    }  
   }  
    
/*
  age=20  
  age=[ 20]  
  age=[20 ]  
  age=[00020]
*/

 

%o 예제

public class Test {  
    public static void main(String[] args) {  
    int octNum = 010;  
      
    System.out.printf("octNum=%o, %d%n", octNum, octNum);  
    System.out.printf("octNum=%#o, %d%n", octNum, octNum);  
    }  
   }  
  
// octNum=10, 8 (8진수수 10, 10진수로 8)  
//  octNum=010, 8 (# 사용시에 접두사 'O'붙음)

 

%f 예제 

public class Test {  
    public static void main(String[] args) {  
    float f1 = 0.31454e3f;  
  
    System.out.printf("f1=%f, %e, %g, %10.5f%n", f1, f1, f1, f1);  
      }  
     }  
       
// f1=314.540009, 3.145400e+02, 314.540, 314.54001

 

%c 예제

public class Test {  
    public static void main(String[] args) {  
    char c = 'A';  
      
    System.out.printf( "c=%c, %d%n", c, (int)c);  
   }  
  }  
    
// c=A, 65

* 자바에서는 %d로 출력하기위해서 int타입으로 변환해야만 가능하다.  
  ('A'는 유니코드인 65가 변수에 저장)  

 

%n 예제

public class Test {  
    public static void main(String[] args) {  
    String text = "hello";  
  
    System.out.printf("[%s]%n[%20s]%n[%-20s]%n[%.2s]%n", text, text, text, text);  
      }  
     }  
  
/* 
   [hello]  
   [               hello]  
   [hello               ]  
   [he]
*/

 


Scanner 

콘솔 창에서 입력을 받을 수 있도록 도와주는 클래스이다. 이 클래스는 java.util 패키지에 포함되어 있다. 콘솔 입력을 받으려면 System.in을 사용하면 된다. 

  • Scanner 메서드
    • nextLine() : 문자열을 입력 받을 때 사용
    • next() : 공백이 없는 단어 하나를 입력 받을 때 사용
    • nextInt() : 정수를 입력 받을 때 사용
    • nextDouble() : 실수를 입력 받을 때 사용
    • nextBoolean() : 논리값을 입력 받을 때 사용
import java.util.Scanner; 

public class Ex01 {
	public static void main(String[] args){
	Scanner scan = new Scanner(System.in);
	System.out.println("입력한 값 : " + scan.nextInt());
	}
}