[JAVA] 자바 출력
▣ [JAVA] 자바 출력 |
● 자바에서 출력을 담당하는 "System.out"은 "PrintStream"클래스와 연결이 되어 있어서 이 클래스 안에 있는 모든 멤버를 사용할 수가 있습니다.
● 이 클래스의 멤버 메서드 중에서 기본적인 "print"와 "println"에 대해서 알아보도록 하겠습니다.
[출력]
1. System.out.print(" 내용")
2. System.out.println(" 내용")
● 위 두 메서드의 차이점은 끝부분에 "ln"이 있냐 없냐 인데요. 첫번째는 내용을 콘솔창에 출력하라는 내용이고, 두번째 메서드는 내용을 출력하고 나서 커서의 위치를 다음 줄로 내리라는 뜻입니다. 이때 내용에 들어갈 수 있는 것들은 8가지 자료형과 String이 들어갈 수 있구요. 또한 상수의 값들을 바로 넣어서 사용할 수도 있습니다. 몇가지 자료형을 사용해보도록 하겠습니다.
● 첫번째로 라인을 바꾸지 않는 (Print) 메서드를 사용해서 12라는 상수와 "ABC" 라는 String 값을 넣어서 출력하고 있습니다. 나머지는 (Println)을 사용해서 변수에 각각의 값을 담고 변수를 출력하도록 하고 있습니다. 여기서 확실하게 print와 println의 차이를 알 수 있으며, 이런식으로 각각의 자료형을 출력할 수 있습니다.
●그런데 마지막의 [char] 형은 '?'가 출력이 됐네요. 그것은 Char형은 문자기준의 자료형이기 때문인데요. 입력한 숫자 "2345"를 아스키 코드값으로 인식을 하게 되는데요. 이에 해당하는 아스키코드값이 없기 때문에 '?'를 출력하는 것입니다. 이것을 입력한 숫자로 나타나게 하기 위해서는 다음과 같이 형변환을 해줘야 합니다.
● 위의 예제는 하나의 데이터만을 출력한 것인데요. 만약에 다음과 같이 두개의 String 값을 이용해서 "소설 홍길동전"이라는 문구를 출력하기 위해서는 어떻게 해야 할까요?
String str ="소설"
String str1="홍길동전"
● 단순하게 생각하면 다음과 같이 코딩하면 원하는 값을 얻을 수는 있을겁니다.
● 하지만 자바에서는 두개의 String 값을 연속으로 나열하기 위해서 "+" 연산자를 사용할 수 있도록 만들어 놨습니다. 다음과 같이 코딩을 하면 위와 같은 값을 얻을 수 있습니다.
● 이렇게 문자열들은 "+" 연산자를 사용해서 나열할 수 있지만, 숫자의 경우는 어떻게 될까요? 다음 코딩을 살펴보겠습니다.
● 두개의 int값은 합이 되어버리는군요. 그렇다면 위의 예제에서 "100200"처럼 두개의 수를 연속으로 나열하게 하려면 어떻게 해야 할까요? 다음과 같이 사용하면 됩니다.
● 이렇게 사용을 하면 좌측에서 우측으로 덧셈이 되면서 ["" + x]가 먼저 연산이 되면서 "100"이라는 문자열이 되버립니다. 그리고 나서 ["100" + 200]이 연산이 되면서 "100200" 이라는 문자열이 되는것입니다. 여기서 중요한점 하나는 문자열은 다른 어떤 자료형과 연산이 되더라도 "문자열"이 된다는 것입니다.
● 마지막으로 한가지만 더 살펴보겠습니다.
두개의 Char값이 각각 출력이 되지만, "+"연산자를 만나게 되면 숫자로 출력이 되버리네요. 이것은 Char 형도 정수형 자료형이기 때문인데요. 해당 아스키코드값이 더해지게 되고, 이것이 int형으로 변형이 된것입니다. 사칙연산에 의해서 연산이 처리가 되면 long형을 제외한 모든 정수형 자료형은 int형으로 자동 형변환이 되게 됩니다.
●만약에 위의 예에서 마지막을 "ab"로 출력하고 싶다면 위에서 숫자들을 나열했던것처럼 하면 됩니다.