-> 콘솔로 변수값을 출력하는 형태
-> ex)
printf("이름: %s", "이동주");
printf("나이: %d", 26);
-> 한 줄에 값이 2개 이상일 경우
printf("이름: %s, 나이: %d", "이동주", 26);
package ch02.sec12;
public class PrintfExam {
public static void main(String[] args) {
System.out.printf("이동주는 %d살\n", 26);
//%d는 정수 형식 문자열, \n은 줄변환
System.out.printf("이동주는 %5d살\n", 26);
//%5d는 왼쪽에 공백 5칸 채워넣는 것
System.out.printf("이동주는 %-5d살\n", 26);
//%-5d는 오른쪽에 공백 5칸 채워넣는 것
System.out.printf("이동주는 %05d살\n", 26);
//%05d는 왼쪽 빈자리에 0을 채움 (수의 자리수가 3자리수면 %05d는 0을 2칸만 채움)
double area = 3.14159 * 10 * 10;
System.out.printf("반지름이 %d인 원의 넓이 = %10.3f\n", 10, area);
//%10.3f : 전체 자리수:10, 소수점 3자리까지 나타냄, 숫자 이외의 빈자리는 공백처리
int age = 26;
String name = "이동주";
String job = "개백수";
System.out.printf("%5d | %-10s | %10s\n", age, name, job);
// 결과값: 26 | 이동주 | 개백수
}
}
-> 키보드를 통해 데이터를 직접 입력받기 위해 사용하는 객체 및 변수
-> Scanner 객체를 사용하기 위해서는 class 중괄호 밖에
import java.util.Scanner; 구문을 통해 Scanner 객체를 받아야함
-> 생성 구문 : Scanner sc(변수) = new Scanner(System.in);
-> 입력 값 받기 : String input(변수) = sc(Scanner 변수).nextLine();
-> nextLine의 경우 String의 형태로 입력받음
-> nextInt와 같이 다른 형태로 입력 받을 수도 있음
-> nextLine으로 받은 값은 String의 형변환 구문을 통해 타입 변환 가능
package ch02.sec13;
import java.util.Scanner;
//java.util.Scanner에서 객체를 가지고 옴
public class ScannerExam{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Scanner 변수 선언 및 객체 생성으로 Scanner 사용 가능
System.out.print("x값 입력: ");
String sx = sc.nextLine();
// 한 줄에 받은 x값을 sx 변수에 입력하기 (nextLine은 무조건 String에만 저장 가능)
int x = Integer.parseInt(sx);
// String 변수값의 sx값을 int 값으로 변환
System.out.print("y값 입력: ");
String sy = sc.nextLine();
// 한 줄에 받은 y값을 sy 변수에 입력하기 (nextLine은 무조건 String에만 저장 가능)
int y = Integer.parseInt(sy);
// String 변수값의 sy값을 int 값으로 변환
int result = x + y;
System.out.println(x+y);
}
}