为什么有必要在用Java编程语言的字符打印模式时编写(char)


class Pattern4 { 
    public static void main(String args[]) { 
        for(int i=1;i<=5;i++) { 
            for(int j=1;j<=5;j++) { 
                System.out.print((char)(i+64)); 
            }
            System.out.println(); 
        }
    }
}

在此程序中,如果我不向char关键字提供(),则会遇到编译时间错误。所以我的问题是为什么有必要编写(char),然后写(i+64),为什么不char(i+64)

(i+64)

int,因为它是intint的总和。

如果您想将其打印为int,则无需做任何事情。

System.out.println(i + 64);

如果要将其打印为char,则必须将其转换为一个:

System.out.println((char)(i + 64));

那只是java用于铸造的语法。

,因为 char(65)是方法调用语法。您不是在以65为参数的名为char的方法,而是将65施放到char

请记住,与口语语言不同,编程语言经过精心设计,以避免任何形式的歧义。这既是"用户友好性"(即使代码更清晰),也是从编写编译器和创建正确软件的实际必要性中。任何引入歧义的事物也可能"打破"编译器并引起微妙的,难以训练的错误。

(char)int是键入cast的语法。该语法不使用任何输入及其根据语言设计(不是函数,而是语言语法)。这告诉编译器接受类型为char而不是int。Java是强烈打字的语言,可确保类型的安全性。我们需要明确地告诉编译器何时需要更改类型,否则编译器会抱怨。

希望这阐明了为什么这不会在括号中输入:

abc(input);

最新更新