No. 01

 

 

출력 - println()


개발자가 열심히 프로그래밍을 하더라도 결과를 볼 수 있는 명령문을 실행하지 않으면 절대 직접 눈으로 볼 수 없다. 결과를 봐야 이 프로그램이 내가 생각한대로 잘 돌아가고 있는지 알 수 있다. println은 자바에서의 기본 출력문으로 가장 많이 사용되며 출력하고 싶은 내용 그대로를 입력하여 출력한다.


println()

System.out.println("문자열");

          또는

System.out.println(변수명);

          또는

System.out.println("문자열"+변수명);

  • 문자열을 출력하기 위해서는 큰따옴표로 묶어줘야 한다.
  • 큰 따옴표 없는 것은 모두 변수명으로 인식한다. (입력한 변수명이 없을 경우 에러발생)
  • 문자열과 변수명을 함께 사용할 수 있으나 반드시 '+'로 연결시켜줘야 한다.
  • 가로안의 내용을 출력한 후 자동으로 줄바꾸는 기능이 있다.

Tip) 이클립스에서는 'sysout' 이라고 입력하고 'ctrl+space'를 누르면 System.out.println()이 자동 입력된다.



◈ 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Println {
 
    public static void main(String[] args) {
        //기본 출력문 println()        
        //sysout + 자동완성(ctrl + space)
        
        int number = 10;
        String str = "안녕, 자바";
        
        System.out.println("Hello, World."); //문자열 출력
        System.out.println(number); //int형 변수 출력
        System.out.println(str); // String형 변수 출력
        System.out.println("내 나이는 "+number+"살 입니다."); // 문자열 + 변수 출력        
        
    }//main
 
}//class
                                                                             Colored By Color Scripter


실행 결과

Hello, World.

10

안녕, 자바

내 나이는 10살 입니다.


· String과 기본형은 저장된 값 그대로 출력된다.

· 변수와 문자열을 '+'로만 이어주면 같이 사용할 수 있다.

· 실행 결과를 보면 자동으로 내용을 출력 후 줄바꿈 기능이 있는걸 볼 수 있다. 절대로 명령문을 한줄에 하나씩 써서 줄바꿈이 된 것이 아니다.




No. 02

 

 

형식화된 출력 - printf()


기본 출력문은 println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력할 수 없다.

반면에 printf()는 지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있다.


printf()

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

  • 출력 후 줄바꿈을 하지 않는다. 줄바꿈을 하려면 지시자 '%n'을 넣어줘야 한다.
  • 출력하려는 값의 수만큼 지시자도 사용해야 한다.
  • 출력될 값과 지시자의 순서는 일치해야 한다.
  • 지시자를 제외한 문자는 입력한 그대로 출력된다.


출력 서식

%[-][0][n][.m]지시자

  • 출력 서식의 지시자를 제외한 나머지는 생략 가능하다. 예) %d 식으로 사용 가능.
  • n : 출력할 전체 자리수 지정(오른쪽 정렬).  예) %3d, 전체자리수가 3인 정수
  • 0 : 전체 자리수가 지정된 경우 왼쪽의 남는 자리에 0을 출력.  예) %03d
  • - : 전체 자리수가 지정된 경우 왼쪽 정렬하고 빈칸에 공백 출력.
  • .m : 소수점 아래 자리수 지정. 잘리는 소수점 자리수는 반올림 시켜서 표시.  예)3.2f


 지시자

설명 

 %b

 boolean 형식으로 출력 

 %d

 정수 형식으로 출력

 %o

 8진수 정수의 형식으로 출력

 %x 또는 %X

 16진수 정수의 형식으로 출력

 %f

 소수점 형식으로 출력

 %c

 문자형식으로 출력 

 %s

 문자열 형식으로 출력

 %n 줄바꿈 기능

 %e 또는 %E

 지수 표현식의 형식으로 출력



◈ 예제1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);
        System.out.printf("내 나이는 %d살 이고 %s에 살고 있습니다.%n",age,addr);
        
    }//main
 
}//class
                                                                  Colored By Color Scripter


실행 결과

줄바꾸기 기능없음.줄바꾸기

성공!

내 나이는 10살 입니다.

내 나이는 10살이고 경기도에 살고 있습니다.


· 기본적으로 줄바꿈 기능이 없고 '%n'지시자를 사용한 곳에서 줄바꾸는 기능을 하는 것을 볼 수 있다.

· 지시자의 수와 출력하려는 값의 수는 같아야 하며 출력하려는 값은 콤마(',')로 구분한다.

· 출력하려는 값은 지시자의 순서와 같아야 한다.

· 지시자의 형식과 출력하려는 값의 형식이 같지 않으면 에러가 발생한다.



◈ 예제2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Printf {
 
    public static void main(String[] args) {
        //자리수 지정은 안 했을 경우 왼쪽으로 정렬된다.
        System.out.printf("자리수 미지정 :%d%n",1);
        System.out.printf("자리수 미지정 :%d%n",10);
        System.out.printf("자리수 미지정 :%d%n",100);
        System.out.printf("자리수 미지정 :%d%n",1000);
        
        //자리수 지정했을 경우  오른쪽으로 정렬된다.(남는 자리수는 공백)
        System.out.printf("자리수 지정 :%4d%n",1);
        System.out.printf("자리수 지정 :%4d%n",10);
        System.out.printf("자리수 지정 :%4d%n",100);
        System.out.printf("자리수 지정 :%4d%n",1000);
        
        //자리수 지정 후 '-'사용하면 왼쪽으로 정렬된다.
        System.out.printf("자리수 지정('-'사용) :%-4d%n",1);
        System.out.printf("자리수 지정('-'사용) :%-4d%n",10);
        System.out.printf("자리수 지정('-'사용) :%-4d%n",100);
        System.out.printf("자리수 지정('-'사용) :%-4d%n",1000);
        
        //자리수 지정 후 '0'사용하면 오른쪽으로 정렬된다. (왼쪽 자리수는 0으로 채운다)
        System.out.printf("자리수 지정('0'사용) :%04d%n",1);
        System.out.printf("자리수 지정('0'사용) :%04d%n",10);
        System.out.printf("자리수 지정('0'사용) :%04d%n",100);
        System.out.printf("자리수 지정('0'사용) :%04d%n",1000);
        
    }//main
 
}//class
                                                                       Colored By Color Scripter


실행 결과

자리수 미지정 :1

자리수 미지정 :10

자리수 미지정 :100

자리수 미지정 :1000

자리수 지정 :    1 

자리수 지정 :  10

자리수 지정 : 100

자리수 지정 :1000

자리수 지정('-'사용) :1

자리수 지정('-'사용) :10

자리수 지정('-'사용) :100

자리수 지정('-'사용) :1000

자리수 지정('0'사용) :0001

자리수 지정('0'사용) :0010

자리수 지정('0'사용) :0100

자리수 지정('0'사용) :1000



◈ 예제3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Printf {
 
    public static void main(String[] args) {
        
        float f = 1.2345f;
        
        //소수점 자리수 미지정시
        System.out.printf("소수점 자리수 미지정 : %f%n",f);
        //소수점 자리 지정시
        System.out.printf("소수점 자리수 지정 : %.3f%n",f);    
        
    }//main
 
}//class
                                           Colored By Color Scripter 


실행 결과

소수점 자리수 미지정 : 1.234500

소수점 자리 지정 : 1.235


· 소수점 자리를 3자리로 지정했기 때문에 4번째 자리에서 반올림한 결과를 출력한다.




'JAVA' 카테고리의 다른 글

[Java 12] 연산자란?  (0) 2017.11.21
[Java 11] 자바에서 키 입력(Scanner)  (1) 2017.11.20
[Java 09] 형변환(casting)  (0) 2017.11.19
[Java 08] 문자열 - String  (1) 2017.11.18
[Java 07] 문자형 - char  (0) 2017.11.18

+ Recent posts