● 출력 메소드
- println() : 줄바꿈 O
- print() : 줄바꿈 X
- printf() : 줄바꿈 X, 형식을 갖추어 출력하는 메소드
● 형식 지정자
1. %d (int)
- 정수를 나타낸다.
2. %f (double)
- 소수를 나타낸다
3. %c (char)
- 문자를 나타낸다
4. %s (String)
- 문자열을 나타낸다
※ %[0 or -][n][.m][형식지정자]
(ex) %-3.2f
(1) - : 왼쪽 정렬
(2) 0 : 빈칸을 0으로 채워주는 옵션(int, double 사용 가능)
(3) n : 총 자릿수를 설정하는 옵션
(4) .m : 소수점 아래 자릿수를 설정하는 옵션(double, String 사용 가능 - String 짤림)
(5) 형식지정자 : d, f, c, s
실습(출력 메소드 및 변수)
1. num 이라는 변수를 선언하고 10을 대입한 후 num에 저장된 값을 출력한다.(줄바꿈 O)
// num 이라는 변수를 선언하고
int num; //자료형 변수명;
// num 이라는 저장공간에 10을 대입한다.
num = 10; // =은 대입연산자이며 오른쪽의 값을 왼쪽에 대입하라는 의미
// 이후 num에 저장된 값을 출력한다.(줄바꿈 O)
System.out.println(num);
![](https://blog.kakaocdn.net/dn/b2AmYN/btrn14d6m7b/ByScei604VpFqQO27a9VW0/img.png)
2. pi 라는 변수를 선언함과 동시에 3.14라는 값을 대입한 후 pi 라는 변수에 저장된 값을 출력한다.(줄바꿈 O)
// pi 라는 변수를 선언함과 동시에 3.14라는 값을 대입한다.
double pi = 3.14;
// 이후 pi 라는 변수에 저장된 값을 출력한다.(줄바꿈 O)
System.out.println(pi);
![](https://blog.kakaocdn.net/dn/cUHmms/btrn14kQ7R8/OHQPNfbFqx8dTuYYW2EwBk/img.png)
3. 변수 1개를 선언하고, 그 변수에 'A'(학점)를 저장하여 그 변수에 저장된 값을 출력한다.(줄바꿈 O)
// 변수 1개를 선언하고, 그 변수에 'A'(학점)를 저장하여
char grade = 'A';
// 그 변수에 저장된 값을 출력한다.(줄바꿈 O)
System.out.println(grade);
![](https://blog.kakaocdn.net/dn/L8Y7e/btrnX0xffMw/JkDATLtwq3rkrKlqX0O1Sk/img.png)
※ 전체 코드
package day03;
public class VariableTask {
public static void main(String[] args) {
//1.
int num;
num = 10;
System.out.println(num);
//2.
double pi = 3.14;
System.out.println(pi);
//3.
char grade = 'A';
System.out.println(grade);
}
}
실습(형식지정자1)
1. 값이 어떤 자료형인지 구분하는 것이 가장 중요하다.
package day03;
public class PrintfTest {
public static void main(String[] args) {
System.out.printf("안녕하세요 오늘은 %d일 입니다.\n", 10); // \n : Enter
System.out.printf("원주율은 %f입니다.\n", 3.14);
System.out.printf("당신의 학점은 %c입니다.\n", 'A');
System.out.printf("당신의 이름은 %s입니다.\n", "홍길동");
System.out.printf("지금은 %s시입니다.\n", "7");
}
}
![](https://blog.kakaocdn.net/dn/Zwv5X/btrn0W8Vlmd/5fiBDJagK6EI60ewmTdUh0/img.png)
※ 오류 발생 : 값의 타입이 맞지 않아서 오류가 발생한다.
package day03;
public class PrintfTask {
public static void main(String[] args) {
String day = "17";
System.out.printf("오늘은 %s일 입니다.\n", day);
}
}
![](https://blog.kakaocdn.net/dn/bGbwKW/btrn1yzIK8y/scORjv7Ka9bkYksOhLE08k/img.png)
3. 변수에 "홍길동"을 대입한 후, "홍길동님 만나서 반갑습니다." & "홍길동님의 등급은 vip 입니다." 출력하기
package day03;
public class PrintfTask {
// 변수에 "홍길동"을 대입한 후,
String name = "홍길동";
// "홍길동님 만나서 반갑습니다." 출력하기
System.out.printf("%s님 만나서 반갑습니다.\n", name);
// "홍길동님의 등급은 vip 입니다." 출력하기
System.out.printf("%s님의 등급은 vip 입니다.\n", name);
}
}
![](https://blog.kakaocdn.net/dn/wFrQx/btrnV3nrzYp/i9fD7iKGrnKVxmz0ESLxHK/img.png)
실습(형식지정자2)
1. 소수점 아래 출력 자릿수 지정
package day03;
public class PrintfTest2 {
public static void main(String[] args) {
//System.out.printf("오늘은 %.2d일\n", 17); // 오류 발생 : %d는 소수점 아래 표현 불가
System.out.printf("원주율은 %.2f이다.\n", 3.14); //%.2f : 소수점 아래 두번째 자리까지 출력한다.
//System.out.printf("학점은 %.2c이다.\n", 'A'); // 오류 발생 : %c는 소수점 아래 표현 불가
System.out.printf("이름은 %.2s이다.\n", "홍길동"); // %s는 소수점 아래 표현을 쓰면 문자열이 짤린다.
}
}
![](https://blog.kakaocdn.net/dn/cFtJR2/btrnWSlUzFi/D7mk31UDCekTLRnYVL0m8k/img.png)
2. 자릿수 지정
package day03;
public class PrintfTest2 {
public static void main(String[] args) {
//자릿수 지정
System.out.printf("오늘은 %7d일\n", 17); // %7d : 자릿수를 7칸으로 지정하여 출력(오른쪽 정렬)
System.out.printf("오늘은 %-7d일\n", 17); // %-7d : 자릿수를 7칸으로 지정하여 출력(왼쪽 정렬)
System.out.printf("오늘은 %07d일\n", 17); // %07d : 자릿수를 7칸으로 지정한 후 빈칸을 0으로 출력
}
}
![](https://blog.kakaocdn.net/dn/corM3x/btrn0ji2lk9/2p7RWvT7yHcv5lFaHNEptK/img.png)
3. 자릿수 지정 및 소수점 아래 두번째 자리까지 출력하기
package day03;
public class PrintfTest2 {
public static void main(String[] args) {
//자릿수 지정 및 소수점 아래 두번째 자리까지 출력하기
System.out.printf("원주율은 %10.2f이다.\n", 3.14);
}
}
![](https://blog.kakaocdn.net/dn/Ex55K/btrn1ge1WWk/iv6bZYK6cYbjRBrvAUoiOK/img.png)
4. 가격표 출력하기
package day03;
public class PrintfTest2 {
public static void main(String[] args) {
//진라면 : 10000원
//신라면 : 1500원
//음료수 : 20원
//포인트 : 3.15원
System.out.printf("진라면 : %5d원\n", 10000);
System.out.printf("신라면 : %5d원\n", 1500);
System.out.printf("음료수 : %5d원\n", 20);
System.out.printf("포인트 : %5.2f원\n", 3.15);
}
}
![](https://blog.kakaocdn.net/dn/cy4nS3/btrnV5y5Gux/8AXmfFi3kxcMvfkhhC3doK/img.png)
※ 한 줄에 여러개의 형식지정자를 사용하는 방법
- ,를 통해 순서를 맞춰준다.
package day03;
public class PrintfTest2 {
public static void main(String[] args) {
System.out.printf("%d and %s and %c and %f를 출력했습니다.\n", 10, "안녕", 'A', 3.1);
}
}
![](https://blog.kakaocdn.net/dn/dJ8SXV/btrnV6LxJ8b/Kc4lSqz6PqimVDQlRk3eVk/img.png)