2016-07-28 3 views
4
class HelloWorld { 
public static void main(String args[]) { 
int b; 
b = 'A'; 
System.out.write(b); 
System.out.write('\n'); 
System.out.write(97); 
System.out.write('\n'); 
System.out.write(1889); 
System.out.write('\n'); 
} 
} 

выход этой программынаписание консольный вывод в Java

A 
a 
a 

Как следующая строка производит как выход.

System.out.write(1889); 

ответ

9

1889 % 256 = 97. Есть 256 символов ASCII, поэтому mod operator используется для получения допустимого символа.

2

В соответствии с this answerSystem.out.write(int) записывает младший значащий байт на выход системным образом. В вашем случае система решила написать его как персонаж.

1889 == 0000 0111 0110 0001 
    97 == 0000 0000 0110 0001 

Самый правый октет для обоих номеров. Как упоминает @Cricket, это по существу то же самое, что и модуль модуля, который вы проходите, и 256.

Смежные вопросы