[네이버클라우드] AIaaS 개발자 과정/웹 프로그래밍

[네이버클라우드캠프] 2023.5.30 웹 프로그래밍(1) - 표준 입출력 API

_꼬마돌 2023. 5. 30. 15:39
반응형

표준 입출력 API (Application Programming Interface) - com.eomcs.lang.ex99

Exam0110.java

println()

public class Exam0110 {
  public static void main(String[] args) {
    // 값 출력하기
    // println() = 출력 + 줄바꿈
    System.out.println(20);
    System.out.println(3.14f);
    System.out.println("Hello");
    System.out.println('Y');
    System.out.println(true);
    
    // 값을 주지 않으면 줄바꿈만 수행한다. 
    System.out.println();
  }
}

argument 값이 줄바꿈 되어 출력된다.

 

print()

public class Exam0110 {
  public static void main(String[] args) {
    System.out.print(20);
    System.out.print(3.14f);
    System.out.print("Hello");
    System.out.print('Y');
    System.out.print(true);
  }
}

argument 값이 일렬로 나열되어 출력된다.

 

print('\n')

public class Exam0110 {
  public static void main(String[] args) {
    System.out.print("OK!\n");   // ==> println("OK!");
    System.out.print("HI!\n");   // ==> println("Hi!");
  }
}

println()메소드와 같이 줄바꿈되어 출력된다.


Exam0120.java

printf()

형식을 지정하지 않은 printf()

public calss Exam0120 {
  public static void main(String[] args) {
    
    // 형식을 지정하지 않으면 print()와 같다.
    System.out.printf("Hello!\n");
    System.out.printf("Bye!\n");
    System.out.printf("Hey!\n");
  }
}

 

%s : 지정한 자리에 문자열을 삽입한다.
     삽입할 값은 오른쪽에 설정한다.

public class Exam0120 {
  public static void main(String[] args) {
    System.out.printf("이름: %s\n", "홍길동");
    System.out.printf("안녕하세요! %s입니다. \n", "임꺽정");
  }
}

%s 자리에 " " 안에 입력된 값이 출력된다.

 

%s : 문자열(String)을 나타내는 형식 지정자. 주어진 문자열을 그대로 출력.
%d : 정수 값을 10진수 문자열로 만들어 삽입한다.
%x : 정수 값을 16진수 문자열로 만들어 삽입한다.
%c : 정수 값을 문자로 만들어 삽입한다. 
%b : true/false 값을 문자열로 만들어 삽입한다. (boolean 값)
%f : 부동 소수점 수(floating-point number)를 나타내는 형식 지정자. 소수점 이하의 값을 가질 수 있다.

public class Exam0120 {
  public static void main(String[] args) {
    System.out.printf("%d %x $c %b\n" , 65, 65, 65, false);
  }
}

65의 10진수 표현인 65,
         16진수 표현인 41,
         65에 해당하는 ASCII 문자 표에 따른 A,
         주어진 값인 false가 출력된다.

 

한 개의 값을 여러 곳에 삽입할 수 있다.
%[n$]s : n은 문자열에 삽입될 값의 순서이다. 순서는 1부터 증가한다.

public class Exam0120 {
  public static void main(String[] args) {
    System.out.printf("%d %1$x %1$c\n", 65);   => 65를 10진수, 16진수, 문자값으로 각각 출력
    System.out.printf("%3$d %1$x %2$c\n", 65, 66, 67); 
    // => %3$d : 10진수로 세 번째 인수 값 출력. 67을 출력한다.
    // => %1x  : 16진수로 첫 번째 인수 값을 출력. 65의 16진수 표현인 41을 출력한다.
    // => %2$c : 문자로 두 번째 인수 값을 출력. 66에 해당하는 ASCII 문자 표에 따라 B를 출력한다.
  }
}

 

값을 삽입할 때 사용할 공간을 지정할 수 있다.
문자열을 삽입할 때:
	%[-][사용할공간너비]s : -는 왼쪽 정렬이다. 안 붙이면 기본 오른쪽으로 정렬된다.

public class Exam0120 {
  public static void main(String[] args) {
    System.out.printf("'%-10s' '%10s'\n", "홍길동", "임꺽정");
    System.out.printf("'%-10d' '%10d'\n", 12345, 12345);
  }
}

%-10s : 문자열 값을 왼쪽 정렬하여 출력.
%s는 문자열 값을 출력하는 형식 지정자이며, 
-10은 최소 필드 너비를 10으로 설정하고 왼쪽 정렬을 의미한다.
홍길동은 10자리를 차지하지 못 하므로 오른쪽에 공백이 추가됨.

-가 없는 경우엔 그 반대!

 

정수를 삽입할 때:
	%[0][사용할공간너비]d : 앞의 빈자리는 0으로 채운다.
    %[+][0][사용할공간너비]d : 양수는 숫자 앞에 +부호를 붙인다.

public class Exam0120 {
  public static void main(String[] args) {
    System.out.printf("'%010d' '%07d'\n", 12345, 12345);
    System.out.printf("'%+010d' '%+07d'\n", 12345, -12345);
  }
}

%010d : 정수 값을 오른쪽으로 정렬하여 출력하고, 필드 너비를 10으로 설정하며, 남은 공간을 0으로 채운다.
%07d : 정수 값을 오른쪽으로 정렬하여 출력하고, 필드 너비를 7로 설정하며, 남은 공간을 0으로 채운다.

%+010d : 정수 값을 오른쪽으로 정렬하여 출력하고, 필드 너비를 10으로 설정하며, 양수 값에는 +기호를 추가한다.
%+07d : 정수 값을 오른쪽으로 정렬하고 출력하고, 필드 너비를 7로 설정하며, 양수인 값에는 +기호를 추가한다.

반응형