在java中,-1%2得多少?怎么算的啊?

Python022

在java中,-1%2得多少?怎么算的啊?,第1张

Java的%运算符支持整数、浮点数,对于整数,它的计算公式等于;

a % b = a - (int)(a / b) * b;

那么,对于1%2,则等于;

1%2 = 1 - (int)(1/2)*2= 1- 0*2=1;

即,1%2 = 1。

java取余是一个比较常见的运算,在各种编程语言中均有相应的运算符(Java/C的%, Pascal/Delphi的mod等等)

Java取余运算符 (%)

一个表达式的值除以另一个表达式的值,返回余数

result = number1 % number2

参数

result 任何变量

number1 任何数值表达式

number2 任何数值表达式。

说明

取余(或余数)运算符用 number1 除以 number2 (把浮点数四舍五入为整数),然后只返回余数作为 result。例如,在下面的表达式中,A (即 result)等于 5。

A = 19 % 6.7

api里说的挺明白的 看 "返回:“ \x0d\x0a第一个大于key的数的下标+1取负\x0d\x0a不存大于key的数的话在则插入点为a.length 所以返回值为(-a.length-1);\x0d\x0a要学会看api\x0d\x0abinarySearch\x0d\x0apublic static int binarySearch(byte[] a,\x0d\x0a byte key)\x0d\x0a\x0d\x0a使用二分搜索法来搜索指定的 byte 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过 sort(byte[]) \x0d\x0a方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。\x0d\x0a\x0d\x0a参数:\x0d\x0aa - 要搜索的数组\x0d\x0akey - 要搜索的值\x0d\x0a返回:\x0d\x0a如果它包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 \x0d\x0a被定义为将键插入数组的那一点:即第一个大于此键的元素索引,如果数组中的所有元素都小于指定的键,则为 \x0d\x0aa.length。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。