printf와 형식 지정자(%s, %d)
%s: string의 약자
%d: decimal 의 약자
정수는 나타낸다.
public void printMyInfo(){
System.out.printf("[Student] schoolName: %s, classYear: %d, classroomNumber: %d" +
"studentNumber: %d, studentId: %d, name: %s, gender: %s",
this.schoolName, this.classYear, this.classroomNumber, this.studentNumber, this.studentId,
this.name, this.gender
);
}
printf 메소드의 사용법은 C 언어의 printf 함수와 유사하며, 형식 지정자를 사용하여 출력 형식을 지정할 수 있습니다. 형식 지정자는 % 기호 뒤에 나오는 문자들로 이루어져 있습니다. 일반적으로 사용되는 형식 지정자에는 다음과 같은 것들이 있습니다:
- %s: 문자열을 나타냅니다.
- %d: 정수를 십진법으로 나타냅니다.
- %f: 부동 소수점 숫자를 나타냅니다.
- %b: 불리언 값을 나타냅니다.
- %c: 문자를 나타냅니다.
아래는 간단한 printf의 예제입니다:
public class PrintfExample {
public static void main(String[] args) {
String name = "John";
int age = 25;
double height = 175.5;
// 형식 지정자를 사용하여 문자열을 출력
Systehttp://m.out.printf("Name: %s, Age: %d, Height: %.2f\n", name, age, height);
}
}
이 코드에서 %s, %d, %f는 각각 문자열, 정수, 부동 소수점 숫자를 나타내는 형식 지정자입니다. printf 메소드에 전달된 인자들은 순서대로 형식 지정자에 대응되며, 출력 문자열은 형식 지정자에 따라 적절하게 형식화됩니다.
실행 결과:
Name: John, Age: 25, Height: 175.50
%f는 부동 소수점 숫자를 나타내는 형식 지정자로, Java에서는 float와 double 모두에 사용됩니다. 부동 소수점 값은 %f를 사용하여 출력할 수 있습니다.
예를 들어:
이 코드에서 %f는 부동 소수점 숫자를 출력하는데 사용되고, floatValue와 doubleValue는 각각 float와 double 형식의 부동 소수점 숫자입니다. 결과는 각각의 값이 출력 형식에 따라 형식화된 것을 보여줍니다.
float든 double이든 형식지정자는 %f를 쓴다.
Java에서는 float와 double 모두를 출력할 때 %f 형식 지정자를 사용합니다. %f는 부동 소수점 숫자를 나타내는 표준 형식 지정자로, 어떤 크기의 부동 소수점 숫자든 사용할 수 있습니다. 따라서 float나 double 변수의 값을 출력할 때 모두 %f 형식 지정자를 사용할 수 있습니다.
package exercise.chapter_30;
public class Student {
//맨처음에 1로 초기화 어떻게 1로 올릴거냐 생성자를 사용할 예정
static int serialNum = 1;
//속성
private String schoolName;
private int classYear;
private int classroomNumber;
private int studentNumber;
private int studentId;
//기본정보
private String name;
private String gender;
public Student() {
}
public Student(String pName, String pGender) {
name = pName;
gender = pGender;
}
public void printMyInfo(){
System.out.printf("[Student] schoolName: %s, classYear: %d, classroomNumber: %d" +
"studentNumber: %d, studentId: %d, name: %s, gender: %s\n",
this.schoolName, this.classYear, this.classroomNumber, this.studentNumber, this.studentId,
this.name, this.gender
);
}
//아무것도 안 적으면 default
Student(String schoolName, int classYear, int classroomNumber, int studentNumber, int studentId, String name, String gender) {
//생성자의 parameter에 serialNum을 넣는게 아니라 스스로 알아서 올라가라고 그냥 this.studentId = serialNum;
//++ 하면 1씩 들어간다.
//처음에는 초기화값된 값이 들어가고. 이후에 그게 끝나면은 1씩 올라가라 이 뜻임.
this.studentId = serialNum++;
this.schoolName = schoolName;
this.classYear = classYear;
this.classroomNumber = classroomNumber;
this.studentNumber = studentNumber;
this.studentId = studentId;
this.name = name;
this.gender = gender;
}
public String getName() {
return this.name;
}
}
package exercise.chapter_30;
public class StaticTest {
public static void main(String[] args){
//4명 정도 만들기
Student student1 = new Student("Alice", "Female");
Student student2 = new Student("Tom", "Male");
Student student3 = new Student("Taylor", "Female");
Student student4 = new Student("Mike", "Male");
student1.printMyInfo();
student2.printMyInfo();
student3.printMyInfo();
student4.printMyInfo();
}
}