문장을 출력하기 위해서는 print출력 메소드를 이용한다.
1. print() 메소드
public class Test1 {
public static void main(String[] args) {
int a=100, b=300; //int형 변수 a와 b 둘다 선언 및 초기화.
System.out.print("HELLO!YEONY!");
System.out.print(a+b);//연산도 가능하다.
//숫자+문자(문자+숫자)일 때는 문자가 우선되어 문자+문자가 된다.
System.out.print(5+5+"");
//왼쪽에서 오른쪽 순으로 연산이 되기 때문에 5+5=10 이 되고, 10+""는 문자를 우선해서 "10"이됨.
System.out.print(""+5+5);
//""+5로 "5"+5가 되고 문자를 우선하므로 "55"가 된다.
// 출력되는 문장은 "HELLO!YEONY!4001055"으로 줄바꿈 없이 출력된다.
}
}
메소드 내에서 기술한 내용을 출력하며 줄 바꿈하지 않는다. (\n으로 줄바꿈 한다.)
연산도 가능하며, 숫자+문자(문자+숫자)일 때는 문자가 우선되어 문자+문자가 된다. (연산은 왼쪽에서 오른쪽 순)
2. println() 메소드
public class Test1 {
public static void main(String[] args) {
int a=100, b=300; //int형 변수 a와 b 둘다 선언 및 초기화.
System.out.println("HELLO!YEONY!");
System.out.println(a+b);//연산도 가능하다.
//숫자+문자(문자+숫자)일 때는 문자가 우선되어 문자+문자가 된다.
System.out.println(5+5+"");
//왼쪽에서 오른쪽 순으로 연산이 되기 때문에 5+5=10 이 되고, 10+""는 문자를 우선해서 "10"이됨.
System.out.println(""+5+5);
//""+5로 "5"+5가 되고 문자를 우선하므로 "55"가 된다.
/*출력되는 문장은 "HELLO!YEONY!(개행)
400(개행)
10(개행)
55(개행)"으로 줄바꿈되어 출력된다.*/
}
}
ln은 line의 약어로 메소드 내에서 기술한 내용을 출력 후 자동으로 개행(줄 바꿈)한다. (\n으로 줄바꿈 한다.)
연산도 가능하며, 숫자+문자(문자+숫자)일 때는 문자가 우선되어 문자+문자가 된다. (연산은 왼쪽에서 오른쪽 순)
3.printf() 메소드
public class Test1 {
public static void main(String[] args) {
int a=100, b=300; //int형 변수 a와 b 둘다 선언 및 초기화.
float c=352.64f;
boolean d=true;
System.out.printf("HELLO!YEONY!");
System.out.printf("%d \n",a+b);
//%d에 a+b의 값이 10진수 정수타입으로 출력.
//여기서 \n과 %n은 줄을 바꿔준다.
System.out.printf("%o %x %f %n",a,b,c);
//%o에 a의 8진수 정수, %x에 b의 16진수 정수, %f에 c의 실수타입으로 출력.
System.out.printf("%5d %+5d %-5d %05d \n",a,a,a,a);
/*%5d:전체 폭은 5이며, 우측정렬.
%+5d:전체 폭은 5이며, 우측정렬, 앞에 부호+ 출력됨.
%-5d:전체 폭은 5이며, 좌측정렬.
%05d:전체 폭은 5이며, 우측정렬, 비어있는 공간에 0이 출력됨.*/
System.out.printf("%f %8.2f %-8.2f %n",c,c,c);
/*%f:f는 소수점 이하 6자리가 기본이므로 폭은 10이다.
%8.2f:전체 폭은 8이며, 소수점 이하 2, 우측정렬.
%-8.2f:전체 폭은 8이며,소수점 이하 2, 좌측정렬.
System.out.printf("%b %e",d,c);
/*출력되는 문장은 "HELLO!YEONY!400(개행)
144 12c 352.640015(개행)
100 +100 100 00100(개행)
352.640015 352.64 352.64 (개행)
true 3.526400e+02"으로 출력된다.*/
}
}
printf 지시자(%, 형식지정자)를 기술하여 원하는 자료 타입 형태로 출력할 수 있는 메소드.
변수를 출력할 때는 꼭 %로 형식을 지정해줘야 한다.(%n과 \n으로 줄바꿈 한다.)
(이상하게 float c=352.64f를 printf %f로 실수를 나타내면 값이 이상해진다..
->컴퓨터에서 이진수로 계산하기 때문에 값에 오류가 있다.)
(%, 형식지정자 종류)
형식 지정자 | 의미 |
%o | 8진수 정수 숫자 형태 출력. |
%d | 10진수 정수 숫자 형태 출력. |
%x, %X | 16진수 정수 숫자 형태 출력. |
%f | 10진수 실수 숫자 형태 출력. |
%c | 단일 문자 형태 출력. |
%s | 문자열 형태 출력. |
%b | boolean 타입 형태 출력. |
%e, %E | 지수 타입 형태 출력. |
%% | % 문자 출력 |
(출력값의 필드 폭과 정렬)
'언어공부 > Java' 카테고리의 다른 글
자바 연산자 정리! 대입연산자/산술연산자/관계연산자(비교연산자)/조건연산자/논리연산자/증감연산자/비트단위연산자 (0) | 2021.04.27 |
---|---|
자바 입력 Scanner 클래스 + import 문장 (0) | 2021.04.26 |
자바 자료형과 형 변환(cast, 암시적 형 변환(자동 형 변환), 명시적 형 변환) (0) | 2021.04.25 |
자바 상수(constant), 변수(variable) 와 식별자 규칙 (0) | 2021.04.25 |
자바 주석문(comment), 클래스(class), 메소드(method),자바의 문장(statement), 세미콜론(;) (0) | 2021.04.24 |