자바의 출력 함수는 대표적으로 3가지가 존재한다.
1. println
2. print
3. printf
Java 프린트 함수
자바를 라이브러리 내부에 있는 함수를 사용하기 위해서 코드 제일 상단에 "import [라이브러리]" 명령문을 "package [이름]"이 있는 제일 첫째 줄 바로 아래에 입력한다. 위의 함수들은 System 패키지 내에 있으며, 이는 java.lang이라는 라이브러리 패키지에 들어있다. 그러나 위의 함수들은 라이브러리를 import를 입력해 줄 필요가 없다. 이유는 java.lang은 기본적인 라이브러리로 생성 시 자동으로 import 되기 때문이다.
우리가 프로젝트를 생성할 때, 라이브러리를 위와 같이 확인한 적이 있다. 보면 System Library가 존재하는 것을 확인할 수 있다. 따라서 위와 같이 Libarary가 기본적으로 들어 있기 때문에 코드에서 다시 import 해줄 필요가 없는 것이다. 다른 라이브러리 또한 위처럼 설정에서 미리 추가하여 두면 import를 일일이 하지 않아도 된다.
println은 "문자열을 그대로 출력해 주는 함수"이다. 입력한 문자열을 그대로 출력해 주면서, 제일 마지막에 줄바꿈("\n", 개행) 문자를 추가해 준다. 코드에서 빈칸과 주석문은 따로 실행을 하지 않고, 넘어간다.
System.out.println("문자열");
함수 입력 방식
자바에서 문자열은 문장을 의미하고, 문자는 문자 하나를 의미한다. 두 개를 표현하는 방식도 다른데, 문자열은 " "(큰따옴표)로 표현하고, 문자는 ' '(작은따옴표)로 표현한다. 문자 하나는 문자 또는 문자열 두 개로 모두 표현할 수 있으나, 저장 크기가 달라지는 차이가 있다. 문자열은 배열의 형식으로 마지막에 문자열이 종료되었다는 "\0(null 값, 종료를 의미하는 문자)"문자가 들어간다. 그러나 문자는 딱 1자이기 때문에 종료 문자 없이 문자 하나를 저장할 수 있는 공간에 저장되기 때문에 똑같은 문자 하나라도 문자열 (ex. A+\0)와 문자 (ex. A) 두 개의 차이가 존재한다. (배열은 주솟값을 저장하는 것인데 자세히 이야기하면 복잡해지니 간단하게 두 개의 크기가 다르게 저장된다고만 알고 넘어가자.)
print 함수는 println과 출력이 동일하지만, 문자열 마지막에 줄바꿈 문자가 들어가지 않는다. print 함수를 println과 같이 출력하게 하기 위해서는 직접 문자열 마지막에 줄 바꿈, 개행 문자("\n")를 삽입하여야 한다.
System.out.print("문자열");
함수 입력 방식
여기서 "excape sequence"가 사용되었는데, 이는 문자열 내에서 특수 기능으로 사용되는 문자로, 특정 기능이 존재하는 기존 문자에 기능을 삭제하고 문자로 취급하게 만들어주거나, 특정 문자를 기능을 가지는 문자로 만들어주는 특징을 가진다. 예를 들어 \은 "escape sequence"를 의미하지만 \\는 "\"를 문자로 취급하게 만들어 "\ 한 개"의 표현이 된다. 또한, \", \'을 사용하여 문자열 또는 문자의 표현이 아닌 ", '의 표현이 될 수 있도록 할 수도 있다.
그리고, 기존 문자 n은 문자 "n"을 뜻하지만 excape sequence가 붙은 \n은 "줄바꿈, 개행 문자"를 의미한다. 또한 t는 문자 "t"를 의미하지만, \t는 "tab, 들여 쓰기"를 의미한다.
printf 함수는 c언어의 printf 함수에서 가져온 것으로 동일한 함수는 기능을 가지고 있다. 출력 시, 출력 format(서식)을 지정하여 출력이 가능하다. 또한 개행 문자도 자동으로 넣지 않는다. 자주 사용하는 format은 다음과 같다.
%d |
정수 출력 |
%f |
실수 출력 (기본 6개의 소수점 자리 포함) 소수점 자릿수를 정하고 싶을 경우 "%[숫자]f"로 입력 ex. "%.2f"는 소수점 둘째 자리까지 표현하라는 의미 |
%s |
문자열 출력("문자열") |
%c |
문자 출력('문자') |
printf의 구문은 다음과 같다.
Systme.out.printf("문자열 + format", format에 들어갈 문자);
원하는 문자열을 작성한 뒤, format과 함께 입력해 준다. 예를 들어 "홍길동의 키는 176cm입니다."를 출력하고 싶을 때, "홍길동"과 "176"을 format을 지정하여 표현하고 싶을 때, "홍길동"은 문자열이니깐 "%s", "176"은 정수니깐 "%d"로 서식을 표현할 수 있다. 따라서 다음과 같이 표현이 가능한 것이다.
printf("%s의 키는 %dcm입니다.", "홍길동", 176)
여기서 서식에 들어갈 문자는 뒤에 입력하면, 자동으로 찾아가는 것이 아닌 순서대로 들어가는 것이다. 따라서 만약 "홍길동"과 176의 순서가 바뀐다면, %s에 176이 들어가기 때문에 문자열에 숫자가 들어가 error가 발생한다.
프로젝트(Project), 패키지(Package), 클래스(Class) 생성 (0) | 2020.10.26 |
---|---|
Java 설치 및 Eclipse 설치 (Window 환경) (0) | 2020.10.26 |
Java 란? (0) | 2020.10.26 |
댓글 영역