Program Tip

char의 기본값은 무엇입니까?

programtip 2020. 10. 14. 20:50
반응형

char의 기본값은 무엇입니까?


char c = '\u0000';

c를 인쇄하면 명령 줄 창에 'a'가 표시됩니다.

그렇다면 char 유형 필드의 기본값은 무엇입니까?

누군가 '\ u0000'은 유니 코드에서 null을 의미한다고 말했습니다. 맞습니까?


char속성 의 기본값 '\u0000'은 Java 언어 사양, 섹션 §4.12.5 변수의 초기 값에 명시된대로 실제로 (널 문자) 입니다.

내 시스템에서 선 System.out.println('\u0000');이 약간 정사각형으로 인쇄되어 예상대로 인쇄 가능한 문자가 아님을 의미합니다.


'\ u0000' 은 문자의 기본값입니다. 십진수는 0입니다.

초기화하지 않고 일부 char 변수를 선언하면 기본적으로 '\ u0000'이 할당됩니다.

이 코드를 참조하십시오

public class Test {
    char c;

    public static void main(String args[]) throws Exception {
        Test t = new Test();
        char c1 = '\u0000';
        System.out.println(t.c);
        System.out.println(c1);
        System.out.println(t.c == c1);
    }
}

이 코드는 마지막 인쇄에 대해 true 를 인쇄합니다.


문자의 기본 값은 Character.MIN_VALUE 내부적으로 표현MIN_VALUE = '\u0000'

또한 문자 필드에 기본값이 포함되어 있는지 확인할 수 있습니다.

Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{

}

'\u0000'을 의미합니다 null. 따라서 초기화되지 않은 char 변수를 인쇄하면 아무것도 얻지 못할 것입니다.


'\ u0000'입니다. 자세한 내용은 여기를 참조하십시오 .


기본 문자는 int 값이 0 (영) 인 문자입니다.

char NULLCHAR = (문자) 0;

char NULLCHAR = '\ 0';


아래 증거에 따라 공백 또는 정수 0으로 유혹합니다.

char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);

그러나 나는 다른 플랫폼이나 미래에 다를 수 있기 때문에 그렇게 말하지 않을 것입니다. 내가 정말로 걱정하는 것은이 기본값을 사용하지 않을 것이므로 문자를 사용하기 전에 \ u0000인지 확인한 다음 프로그램에서 오해를 피하기 위해 사용하십시오. 그것만큼 간단합니다.


char 데이터 유형의 기본값은 '\ u0000'(또는 0)이고 최대 값은 '\ uffff'(또는 65,535 포함)입니다.

여기 에서 정보를 볼 수 있습니다 .


null과 0 사이에는 뚜렷한 차이가 있습니다. 에서 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (위 참조), 문이 구성되어 있습니다 -

모든 참조 유형에 대한 값으로 사용할 수있는 특수 null 리터럴도 있습니다. 기본 유형의 변수를 제외한 모든 변수에 널을 지정할 수 있습니다. null 값으로 존재 여부를 테스트하는 것 외에는 할 수있는 일이 거의 없습니다. 따라서 null은 프로그램에서 일부 개체를 사용할 수 없음을 나타내는 마커로 자주 사용됩니다.

그렇기 때문에 다음 문장은 다른 쪽이 아닌 오류를 제공합니다.

char a = null; // 유형 불일치 : null에서 char로 변환 할 수 없습니다.

char b = 0; // 유효한 구문.


\u0000 Java에서 char 유형의 기본값입니다.

다른 사람들이 언급했듯이 비교를 사용하여 초기화되지 않은 변수의 값을 확인할 수 있습니다.

char ch;
if(ch==0)
    System.out.println("Default value is the null character");

나는 그것이 '\u00000'또는 그저 ''아니라고 생각합니다 '\u0000'(첫 번째 것은 5 개의 0을 가지고 있고 마지막 것은 4 개의 0을 가지고 있습니다.)


의 기본값 char\ u0000입니다.

public class DefaultValues {
char varChar;
public static void main(String...l)
 {
    DefaultValues ob =new DefaultValues();
    System.out.println(ob.varChar=='\u0000');
 }  
}

This will return true


The default value of char is null which is '\u0000' as per Unicode chart. Let us see how it works while printing out.

public class Test_Class {   
     char c;
     void printAll() {  
       System.out.println("c = " + c);
    }   
    public static void main(String[] args) {    
    Test_Class f = new Test_Class();    
    f.printAll();   
    } }

Note: The output is blank.


The default value of a char primitive type is '\u0000'(null character) as stated in the Java Language Specification.

The shortcut for 'u0000' is '\0', So the null can be represented either by 'u0000' or '\0'.

The below Java program validates null representations using instance char field 'c'.

public class DefaultValueForchar {  
    char c;
    public static void main(String[] args) {
        char c0 = '\0';
        char cu0000 = '\u0000';
        DefaultValueForchar obj = new DefaultValueForchar();
        System.out.println(obj.c);
        System.out.println(c0);
        System.out.println(cu0000);
        System.out.println(c0==cu0000);
        System.out.println(obj.c==c0);
        System.out.println(obj.c==cu0000);
    }

}

output:

참고URL : https://stackoverflow.com/questions/9909333/whats-the-default-value-of-char

반응형