Java 百分比符号(%)是什么意思?
我在数组参数中遇到了一些包含Java 百分比符号(%)是什么意思?,java,Java,我在数组参数中遇到了一些包含%符号的代码 它是什么意思?它是如何工作的 示例: String[] name = { "a", "b", "c", "d" }; System.out.println(name[4 % name.length]); System.out.println(name[7 % name.length]); System.out.println(name[50 % name.length]); 输出: a d c 这就是,它给出整数除法的余数。例如,3%2是1,因为3
%
符号的代码
它是什么意思?它是如何工作的
示例:
String[] name = { "a", "b", "c", "d" };
System.out.println(name[4 % name.length]);
System.out.println(name[7 % name.length]);
System.out.println(name[50 % name.length]);
输出:
a
d
c
这就是,它给出整数除法的余数。例如,3%2
是1
,因为3/2
的其余部分是1
它用于将值保持在范围内:如果name.length
小于4、7或50,则这些值上%name.length
的结果是0
到name.length-1
的值
这样,即使数字(4、7或50)超出范围,代码也能可靠地从数组中拾取条目<代码>4%4是0
,7%4
是3
,50%4
是2
。所有这些都是name
的有效数组索引
完整示例():
输出:
4 % 4 is 0: a
7 % 4 is 3: d
50 % 4 is 2: c
4%4是0:a
7%4是3:d
50%的4是2:c
这就是,它给出整数除法的余数。例如,3%2
是1
,因为3/2
的其余部分是1
它用于将值保持在范围内:如果name.length
小于4、7或50,则这些值上%name.length
的结果是0
到name.length-1
的值
这样,即使数字(4、7或50)超出范围,代码也能可靠地从数组中拾取条目<代码>4%4是0
,7%4
是3
,50%4
是2
。所有这些都是name
的有效数组索引
完整示例():
输出:
4 % 4 is 0: a
7 % 4 is 3: d
50 % 4 is 2: c
4%4是0:a
7%4是3:d
50%的4是2:c
简单:这是模,或者精确地说是余数运算符
这与数组本身无关。它只是对用于计算数组索引的值进行数值计算 简单:这是模,或者精确地说是余数运算符
这与数组本身无关。它只是对用于计算数组索引的值进行数值计算 这就是模运算。它计算整数的余数division@meowgoesthedog:,不是模。如果它是模的话,它处理负数的方式会有所不同。这就是模运算符。它计算整数的余数division@meowgoesthedog:,不是模。如果负数是模,它处理负数的方式会有所不同。所以,这意味着,它不会抛出任何错误,但结果不会像预期的那样,对吗?@TheAlpha:取决于预期的结果是什么。:-)使用
%
将值保持在范围内是非常常见的,如果希望将值保持在范围内,则会给出预期的结果。大多数情况下,你都会在需要循环的索引中看到它:index=(index+1)%size
@Mr.Blue:很高兴这有帮助。顺便说一句,引号中4
、7
和50
周围的()
没有任何作用。通常,围绕单个值的分组运算符(()
)没有任何作用。因此,这意味着,它不会抛出任何错误,但结果不会如预期的那样,对吗?@TheAlpha:取决于预期的结果。:-)使用%
将值保持在范围内是非常常见的,如果希望将值保持在范围内,则会给出预期的结果。大多数情况下,你都会在需要循环的索引中看到它:index=(index+1)%size
@Mr.Blue:很高兴这有帮助。顺便说一句,引号中4
、7
和50
周围的()
没有任何作用。通常,围绕单个值的分组运算符(()
)没有任何作用。