package kr.s01.basic;
public class HelloWorld2 {
public static void main(String[] args) {
System.out.println("오늘은 화요일");
System.out.println("내일은 수요일");
}
}
출력)
오늘은 화요일
내일은 수요일
public static void main(String[] args)는 프로그램 구동을 위한 시작점, 진입점 역할을 한다.System.out.pritnln();은 콘솔에 소괄호 안 내용을 출력하며, 입력 후 다음 line으로 넘어간다.[] 대괄호
{} 중괄호
() 소괄호
; 세미 콜론
: 콜론
"" 큰 따옴표
'' 작은 따옴표
여기서 문자와 문자열이란 다음과 같다.
package kr.s01.basic;
public class PrintMain03 {
public static void main(String[] args) {
//문자 : 한 문자
System.out.println('A');
System.out.println('가');
//문자열 : 한 문자 이상의 문자들
System.out.println("Z");
System.out.println("Bus");
System.out.println("한강");
//숫자(정수)
System.out.println(23);
//숫자(실수)
System.out.println(25.67);
//논리값(boolean)
System.out.println(true);//참값
System.out.println(false);//거짓값
}
}
위 예시와 같이
1. 문자는 하나의 문자만을 가리키며 작은 따옴표 안에 명시한다.
2. 문자열은 한 문자 이상의 문자를 가리키며 큰 따옴표 안에 명시한다.
3. 이외에도 java의 기본 자료형으로는 정수, 실수, 논리값 등이 있는데, 정수/실수/논리값 데이터는 따옴표 사용이 불필요하다.
package kr.s01.basic;
public class PrintMain01 {
public static void main(String[] args) {
//주석 : 코드에 대한 설명을 명시하거나 코드를 컴파일할 때 제외시켜서
// 실행되지 않도록 할 때 사용
//한줄 주석
//출력 후 줄바꿈
System.out.println("Hello Java!");
//한줄 주석
//System.out.println("오늘은 화요일");
//출력 후 줄바꿈 없음
System.out.println("봄");
System.out.println("여름");
//여러줄 주석
/*
* System.out.print("가을")
* System.out.print("겨울")
*/
}
}
출력)
Hello Java!
봄
여름
package kr.s01.basic;
public class PrintMain05 {
public static void main(String[] args) {
//System.out.printf(포맷문자, 데이터)를 이용한 출력
//(데이터의 종류를 표시할 수 있는 포맷문자 지원)
//문자
System.out.printf("%c%n", 'A');
System.out.printf("%6c%n", 'B');//6자리 확보, 오른쪽에 정렬
System.out.printf("%-6c%n", 'C');//6자리 확보, 왼쪽에 정렬
System.out.println("==============");
//정수
System.out.printf("%d%n", 67);
System.out.printf("%6d%n", 8);//5자리 확보, 오른쪽에 정렬
System.out.printf("%-5d%n", 3);//5자리 확보, 왼쪽에 정렬
System.out.printf("%,d원%n", 10000);//3자리 단위로 쉼표 표시
System.out.println("===========");
//실수
System.out.printf("%f%n", 35.896);//소수점 6자리 확보, 비어 있는 자리는 0으로 채움
System.out.printf("%.2f%n", 35.896);//소수점 둘째자리까지 출력
System.out.printf("%10.2f%n", 35.896);//10자리를 확보하고 오른쪽부텨 표시, 소수점 둘째자리까지 출력
System.out.println("=============");
//문자열
System.out.printf("%s%n", "우주");
System.out.println("===========");
//논리값
System.out.printf("%b%n", true);
System.out.println("============");
//데이터의 종류가 여러 개일 경우
System.out.printf("%s는 %d점입니다", "점수", 98);
}
}
포맷 문자의 종류는 다음과 같다.
- %c : 한 문자 (c: character)
- %c%n: 데이터 값이 c 자리에 들어가고 줄바꿈 가능
- %(숫자)c%n : 숫자에 들어가는 수만큼 자리 확보하여 정렬 가능 (양수: 오른쪽, 음수: 왼쪽)
- %d : 정수 (d: decimal)
자리 확보하여 정렬하는 방법 c와 동일함
- %,d원%n : 세 자리씩 끊어 읽기, 숫자 뒤에 ‘원’ 단위, n으로 줄바꿈
- %f : 실수 (f: float)
- %.2f%n : 출력을 원하는 자리에서 반올림 ex. 소수점 둘째 자리까지 출력
ex. %10.2f%n : 10은 전체 자릿수, 0.2는 소수점 둘째 자리까지 출력, 10이 양수이니 오른쪽에 정렬
- %s : 문자열 (s: string)
- %b : 논리값 (b: boolean)
위 내용을 바탕으로 아래와 같이 실습을 진행하였다.
package kr.s01.basic;
public class PrintMain06 {
public static void main(String[] args) {
/*
*System.out.printf()를 이용해서 아래와 같이 출력하시오.
*
*(출력 예시)
*
*국어 : 98점
*영어 : 97점
*총점 : 195점
*평균 : 97.5점
*/
System.out.printf("%s : %d점%n", "국어", 98);
System.out.printf("%s : %d점%n", "영어", 97);
System.out.printf("%s : %d점%n", "총점", 195);
System.out.printf("%s : %.1f점%n", "평균", 97.5);
}
}
package kr.s01.basic;
public class PrintMain07 {
public static void main(String[ ] args) {
/*
* [실습]
* 유재석은 은행계좌를 가지고 있다. 계좌에 1,000원이
* 예금되어 있는데 오늘 325원을 송금 받아서 잔고가 1,325원이 되었다.
* 특별이자율은 0.3이 적용되어 내일 이자 397.5원을 받는다.
*
* 예금자, 송금되기 전 잔금, 송금된 금액, 송금이후 잔금,
* 내일 입금될 이자를 출력하시오.
*/
System.out.printf("예금자 : %s%n", "유재석");
System.out.printf("송금되기 전 잔금 : %,d%n", 1000);
System.out.printf("송금된 금액 : %,d%n", 325);
System.out.printf("송금이후 잔금 : %,d%n", 1325);
System.out.printf("내일 입금될 이자 : %.1f%n", 397.5);
}
}
System.out.printf()의 핵심은 변화하는 데이터를 받을 포맷 문자만 지정해 주면 된다는 점이다. 예를 들어 첫 번째 실습 예제를 보면 과목명은 변하지만 콜론(:)은 모두 동일하게 반복되고 있기에 %s가 받을 데이터는 과목명만 해당한다.