char형 데이터를 String형으로 변환 질문

  • mkultra1008
    mkultra1008

    안녕하세요.
    char형 데이터를 String으로 변환하려다가 질문이 생겼습니다.

    코드는 다음과 같은데요.

    public static void main(String[] args)
        {
            Scanner sc=new Scanner(System.in);
            String[] nAry={"a", "b" ,"c"};
            char[] ary={'a', 'b'};
            char cTemp1;
            char cTemp2;
            String sTemp="";
            cTemp1=ary[0];
            cTemp1+=ary[1];
            sTemp+=cTemp1;
            nAry[0]=sTemp;
            System.out.println(sTemp);  //? 출력
            for(int i=0; i<nAry.length; i++){
                System.out.print(nAry[i]);  //?bc 출력
            }
        }
    

    char 형 배열을 char형 데이터 cTemp1에 몽땅 저장했을 경우 주석과 같이 물음표가 출력되는데

    반면

    public static void main(String[] args)
    {
            Scanner sc=new Scanner(System.in);
            String[] nAry={"a", "b" ,"c"};
            char[] ary={'x', 'y'};
            char cTemp1;
            char cTemp2;
            String sTemp="";
            cTemp1=ary[0];
            cTemp2=ary[1];
            sTemp+=cTemp1;
            sTemp+=cTemp2;
            nAry[0]=sTemp;
            System.out.println(sTemp);  //xy
            for(int i=0; i<nAry.length; i++){
                System.out.print(nAry[i]);  //xybc
            }
        }
    

    위처럼 따로따로 저장하여 String형 데이터 sTemp에 저장했을 경우에는 정상적으로 원하는 바를 출력할 수 있었습니다.

    위의 첫번째 출력물의 원인은 char형 데이터가 하나의 문자열만 저장하기 때문인가요?
    만약 그렇다면 에러가 발생하지 않고 ?로 출력해주는 이유가 무엇인가요??

    고수분들의 가르침 부탁드립니다.


    7년 전
1개의 댓글이 있습니다.
  • JongMan
    JongMan

    자바 튜토리얼을 좀 보시는 게 좋을 것 같네요. char 형의 덧셈은 단순 정수 덧셈입니다.


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.