시스템 입출력 (print, println, printf)

박영준·2023년 4월 2일
0

Java

목록 보기
57/111

print(내용);

내용 출력

println(내용);

public class Println {
    public static void main(String[] args) {
    
        int number = 10;
        String str = "안녕, 자바";
        
        System.out.println("Hello, World.");		// 문자열 출력 → 실행 결과 : Hello, World.
        System.out.println(number);		// int형 변수 출력 → 실행 결과 : 10
        System.out.println(str);		// String형 변수 출력 → 실행 결과 : 안녕, 자바
        System.out.println("내 나이는 "+number+"살 입니다.");		// 문자열 + 변수 출력 → 실행 결과 : 내 나이는 10살 입니다.
    }
}

내용 출력 + 줄 바꿈

printf("출력 서식", 출력할 내용);

예시 1

public class Printf {
 
    public static void main(String[] args) {
        
        int age = 10;        
        String addr = "경기도";
        
        // '%n'지시자를 사용 안 했을 경우
        System.out.printf("줄바꿈 기능");
        System.out.printf("없음.");
        
        // '%n'지시자를 사용한 경우
        System.out.printf("줄바꾸기%n");		// 실행 결과 : 줄바꾸기 기능없음.줄바꾸기
        System.out.printf("성공!%n");		// 실행 결과 : 성공!
        
        System.out.printf("내 나이는 %d살 입니다.%n",age);		// 실행 결과 : 내 나이는 10살 입니다.
        System.out.printf("내 나이는 %d살 이고 %s에 살고 있습니다.%n",age,addr);		// 실행 결과 : 내 나이는 10살이고 경기도에 살고 있습니다.
    }
}

예시 2

public class Printf {
    public static void main(String[] args) {
    
        // 자리수 지정은 안 했을 경우 왼쪽으로 정렬된다.
        System.out.printf("자리수 미지정 :%d%n",1);		// 자리수 미지정 :1
        System.out.printf("자리수 미지정 :%d%n",10);		// 자리수 미지정 :10
        System.out.printf("자리수 미지정 :%d%n",100);		// 자리수 미지정 :100
        System.out.printf("자리수 미지정 :%d%n",1000);		// 자리수 미지정 :1000
        
        // 자리수 지정했을 경우  오른쪽으로 정렬된다.(남는 자리수는 공백)
        System.out.printf("자리수 지정 :%4d%n",1);		// 자리수 지정 :  1 
        System.out.printf("자리수 지정 :%4d%n",10);		// 자리수 지정 : 10
        System.out.printf("자리수 지정 :%4d%n",100);		// 자리수 지정 : 100
        System.out.printf("자리수 지정 :%4d%n",1000);		// 자리수 지정 :1000
        
        // 자리수 지정 후 '-'사용하면 왼쪽으로 정렬된다.
        System.out.printf("자리수 지정('-'사용) :%-4d%n",1);		// 자리수 지정('-'사용) :1
        System.out.printf("자리수 지정('-'사용) :%-4d%n",10);		// 자리수 지정('-'사용) :10
        System.out.printf("자리수 지정('-'사용) :%-4d%n",100);		// 자리수 지정('-'사용) :100
        System.out.printf("자리수 지정('-'사용) :%-4d%n",1000);		// 자리수 지정('-'사용) :1000
        
        // 자리수 지정 후 '0'사용하면 오른쪽으로 정렬된다. (왼쪽 자리수는 0으로 채운다)
        System.out.printf("자리수 지정('0'사용) :%04d%n",1);		// 자리수 지정('0'사용) :0001
        System.out.printf("자리수 지정('0'사용) :%04d%n",10);		// 자리수 지정('0'사용) :0010
        System.out.printf("자리수 지정('0'사용) :%04d%n",100);		// 자리수 지정('0'사용) :0100
        System.out.printf("자리수 지정('0'사용) :%04d%n",1000);		// 자리수 지정('0'사용) :1000
    }
}

예시 3

public class Printf {
    public static void main(String[] args) {
        
        float f = 1.2345f;
               
        // 소수점 자리수 미지정시 → 실행 결과 : 소수점 자리수 미지정 : 1.234500       
        System.out.printf("소수점 자리수 미지정 : %f%n",f);	
        
        // 소수점 자리 지정시(소수점 자리를 3자리로 지정했으므로, 4번째 자리에서 반올림) → 실행 결과 : 소수점 자리 지정 : 1.235
        System.out.printf("소수점 자리수 지정 : %.3f%n",f);		
    }
}
  • 내용 출력

  • 출력하려는 값의 수만큼 지시자도 사용해야 한다.

  • 출력될 값과 지시자의 순서는 일치해야 한다.

  • '지시자의 형식 ≠ 출력하려는 값의 형식' → 에러 발생

  • 출력 서식

    // 문법
    %[-][0][n][.m]지시자
    
    // 예시 1
    %d
    
    // 예시 2
    %3d, 전체자리수가 3인 정수
    
    // 예시 3
    %03d
    
    // 예시 4
    3.2f
    • 출력 서식의 지시자를 제외한 나머지 : 생략 가능. 입력한 그대로 출력

      - : 전체 자리수가 지정된 경우, 왼쪽 정렬하고 + 빈칸에 공백 출력

      0 : 전체 자리수가 지정된 경우, 왼쪽의 남는 자리에 0 을 출력

      n : 출력할 전체 자리수 지정(오른쪽 정렬)

      .m : 소수점 아래 자리수 지정. 잘리는 소수점 자리수는 반올림 시켜서 표시

    • 지시자

      %b : boolean 형식으로 출력

      %d : 정수 형식으로 출력

      %o : 8진수 정수의 형식으로 출력

      %x 또는 %X : 16진수 정수의 형식으로 출력

      %f : 소수점 형식으로 출력

      %c : 문자 형식으로 출력

      %s : 문자열 형식으로 출력

      %n : 줄 바꿈

      %e 또는 %E : 지수 표현식의 형식으로 출력

예시 4

System.out.printf("age:%d year:%d", 14, 2019);		// age:14 year: 2019

참고: [Java 10] 자바의 출력문(println, printf)

profile
개발자로 거듭나기!

0개의 댓글