Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在printf运算符中使用%是否重载?如果没有,是什么?_Java_Operator Overloading - Fatal编程技术网

Java 在printf运算符中使用%是否重载?如果没有,是什么?

Java 在printf运算符中使用%是否重载?如果没有,是什么?,java,operator-overloading,Java,Operator Overloading,请解释一下这里发生了什么: class Test{ public static void main(String[] args){ int a = 43%2; System.out.printf("The test remainder is %d %s",a,"hello"); } } 在上面的代码中,我想知道它是属于%操作符吗?看起来您对%在字符串中的用法感到困惑 Java中包含在“之间的任何内容都不是运算符。因此,当您有类似 43%2这个%是一个操作符,但是当你有一个字符

请解释一下这里发生了什么:

class Test{
public static void main(String[] args){
    int a = 43%2;
    System.out.printf("The test remainder is %d %s",a,"hello");
 }
}

在上面的代码中,我想知道它是属于
%
操作符吗?

看起来您对
%
字符串中的用法感到困惑

Java中包含在
之间的任何内容都不是运算符。因此,当您有类似
43%2
这个
%
是一个操作符,但是当你有一个
字符串,比如
“asdf%asdf%++*adsf”
这个
%
*
不是操作符。Java也没有操作符重载


printf
函数使用
%
来标记稍后将向其传递变量的位置,它可能是任何其他符号,与运算符重载无关。

看起来您对
字符串中使用
%
感到困惑

Java中包含在
之间的任何内容都不是运算符。因此,当您有类似
43%2
这个
%
是一个操作符,但是当你有一个
字符串,比如
“asdf%asdf%++*adsf”
这个
%
*
不是操作符。Java也没有操作符重载


printf
函数使用
%
来标记稍后将向其传递变量的位置,它可能是任何其他符号,与运算符重载无关。

否。Java目前对运算符重载的支持非常有限,而这不是其中之一

中的
%
java.util.Formatter
的实现处理
String#format
PrintWriter#printf
将格式化工作委托给
Formatter
,后者手动解析字符串

%有值的唯一原因是格式化程序处理字符串的方式

如果查看代码,您将发现:

if (conversion == '%' || conversion == 'n')

后跟处理不同类型的switch语句。

否。Java目前对运算符重载的支持非常有限,而这不是其中之一

中的
%
java.util.Formatter
的实现处理
String#format
PrintWriter#printf
将格式化工作委托给
Formatter
,后者手动解析字符串

%有值的唯一原因是格式化程序处理字符串的方式

如果查看代码,您将发现:

if (conversion == '%' || conversion == 'n')

然后是处理不同类型的switch语句。

您是否询问
inta=43%2
或在格式字符串中使用
%
?Java目前不支持运算符重载。唯一的内置运算符重载用于数字和
字符串
值。当我从字符串中替换或删除%时,未显示输出。如果更改%d%s的顺序,则引发异常。为什么?您询问的
inta=43%2可能重复
或在格式字符串中使用
%
?Java目前不支持运算符重载。唯一的内置运算符重载用于数字和
字符串
值。当我从字符串中替换或删除%时,未显示输出。如果更改%d%s的顺序,则引发异常。为什么?可能是复制品