자바 println 기초적인거 질문드려요.

   조회 3538   추천 0    

package type;
import java.util.Scanner;

public class DataTypeChange {
    public static void main(String args[])
    {
        Scanner stdin = new Scanner(System.in);
        System.out.print("첫수 입력: ");
        int first = stdin.nextInt();
        System.out.print("두 번째 정수 입력: ");
        int second = stdin.nextInt();
       
        double avg1 = (first+second)/2;
        System.out.println("("+first+"+"+second+")/2="+avg1+"");
        System.out.println(avg1); 제대로 나옴
        System.out.println("+avg1+");  //그냥 +avg1+로 출력
        System.out.println(""+avg1+""); 제대로 나옴
       
    }

}
오늘도 공부하면서 왠지 이상한 부분이 있었습니다.

제가 알고 있던것은 println에는 문자열 혹은 문자는 ""안에 입력을 해야하고 문자 혹은 문자열은 +로 연결을 하는것을 배웠습니다.

그런데 마지막 부분인 (""+avg1+"")도 avg1과 같은 결과값으로 나오더군요.

같은 결과값으로 나오는데 괜찮은가요? 마지막 부분도 ""안을 문자열로 컴퓨터가 구분을 한것인가요?

짧은글 일수록 신중하게.
양철괭이 2017-09
그냥 차이점을 보여주기 위해 작성된 예문 같은데
끝에 문장은 공백 문자와 avg1 결합된 문장이니 그냥 avg1를 출력하는것과 같은 결과를 도출하겠죠.
avg1 은 계산된 값이 들어있을겁니다.

print(avg1) 은 avg1 이라는 변수의 값을 찍으라는 겁니다.

print("+avg1+") 는 쌍따옴표로 싸인  +avg1+ 을 찍으라는 겁니다.  위에서 이해하신 대로 +avg1+ 라는 문자열을 찍으라는 겁니다.

print ("" + avg1 + "") 는...
"" 라는 문자열 다음에  (쌍따옴표 안에 생각 하세요..아무것도 없겠죠)
문자열을 붙이는데 +
avg1 이라는 변수값을 나열하고 다음에
문자열을 또 붙이는데 +
"" 라는 문자열을 붙인다.. (아무것도 없겠죠)
결국.. 그냥 avg1을 찍는거랑 크게 다를 바 없습니다.


QnA
제목Page 1872/5724
2014-05   5235724   정은준1
2015-12   1761916   백메가
2017-09   3260   전승윤
2017-09   4158   메모리님
2017-09   3896   만곰이
2017-09   3856   슬루프
2017-09   5352   행아범
2017-09   3798   제라드TN
2017-09   3280   올빼미잠와
2017-09   5304   정영수
2017-09   4229   Sikieiki
2017-09   8667   Neowave
2017-09   6208   신은왜
2017-09   5253   윌라멧
2017-09   3849   하셀호프
2017-09   3934   메모리님
2017-09   3539   inquisitive
2017-09   4070   김재헌
2017-09   3489   쿰척쿰척
2017-09   3950   이미존재하…
2017-09   5217   미니TM
2017-09   4363   을지문덕