我用Java训练自己,并且遇到了第一次无法解决的问题。 我搜索了解决方案,但没有找到任何帮助。
所以我的问题是Eclipse(Version3.8.1)没有在这些行的控制台中显示输出:
System.out.println( "Char min.: " + Character.MIN.VALUE );
System.out.println( "Char max.: " + Character.MAX.VALUE );
控制台中的结果是:
Char min.:
Char max.:
我应该更改一些属性以显示正确的输出吗?
这是我的整个代码,没什么特别的:
public class PrimDatentypen {
// primitive Datentypen - Ausgabe von Wertebereichen
public static void main(String[] args) {
System.out.println( "Byte min.: " + Byte.MIN_VALUE ); // -128
System.out.println( "Byte max.: " + Byte.MAX_VALUE ); // 127
System.out.println( "Char min.: " + Character.MIN_VALUE ); // '\u0000'
System.out.println( "Char max.: " + Character.MAX_VALUE ); // '\uFFFF'
System.out.println( "Int min.: " + Integer.MIN_VALUE ); // -2147483648
System.out.println( "Int max.: " + Integer.MAX_VALUE ); // 2147483647
System.out.println( "Double min.: " + Double.MIN_VALUE ); // 4.9E-324
System.out.println( "Double max.: " + Double.MAX_VALUE ); // 1.797...E308
}
}
非常感谢您的支持:)
答案 0 :(得分:2)
Char的最小值是值为0的字符。这与表示' 0'的字符不同。 ' 0' ascii由十进制值为48的字节表示(见http://www.asciitable.com/) 值为0的字节表示' NUL'不会在控制台上输出的字符,因为没有“NUL'”的表示。事实上,ascii中的前6个字符在很大程度上被视为不可打印的字符。
所以问题的答案是否定的,你不应该做任何改变,因为你已经显示了正确的输出。
如果您编辑代码以将所有值从Character.MIN_VALUE迭代到Character.MAX_VALUE,您将看到打印的整个ascii表格,并查看前几个字符的表示方式。
e.g。
for (char i = Character.MIN_VALUE; i <= Character.MAX_VALUE; i++) {
System.out.println(System.out.format("Decimal representation: %d: ASCII:***%c", ((int)i), ((char)i)));
}
答案 1 :(得分:1)
尝试以下代码,您将获得正确的输出:
System.out.println("Char min.: " + (int)Character.MIN_VALUE);
System.out.println("Char max.: " + (int)Character.MAX_VALUE);