java中/和%的区别

/为除号 结果为整除后的个数

%为取余 左边小于右边时,余数为左边,左边大于右边时,余数为剩余数

System.out.println(3/5)  = 0

System.out.println(2/5)  = 0

System.out.println(4/5)  = 0

 

 

System.out.println(6/5)  = 1

System.out.println(7/5)  = 1

System.out.println(8/5)  = 1

System.out.println(11/5)  = 2

System.out.println(12/5)  = 2

System.out.println(13/5)  = 2

  结果等于得到的整数(商的整数)

 

 

1

2

3

4

5

System.out.println(17%5) = 2;

System.out.println(16%5) = 1;

System.out.println(13%5) = 3;

System.out.println(8%5) = 3;

System.out.println(7%5) = 2;

  结果等于余数(剩余多少)

1

2

3

System.out.println(2%5) = 2;

System.out.println(7%8) = 7;

System.out.println(6%8) = 6;

  取余(取模)有个规律就是:左边小于右边,结果为左边,左边大于右边,看余数

### JAVA中除法(/)取模(%)运算符的区别及用法 在 Java 中,`/` `%` 是两种基本的算术运算符,分别用于执行除法取模操作。以下是它们的具体区别及用法: #### 1. 除法运算符 (`/`) - **定义**:`/` 运算符用于计算两个数的商。 - **结果类型**: - 如果操作数是整数(如 `int` 或 `long`),结果将被截断为整数,小数部分会被丢弃[^1]。 - 如果操作数是浮点数(如 `float` 或 `double`),结果将是精确的小数值。 - **示例代码**: ```java System.out.println("10 / 3 = " + 10 / 3); // 输出 3,因为是整数除法 System.out.println("10.0 / 3 = " + 10.0 / 3); // 输出 3.3333333333333335,因为是浮点数除法 ``` #### 2. 取模运算符 (`%`) - **定义**:`%` 运算符用于计算两个数相除后的余数。 - **公式**:`a % b = a - (a / b) * b`,其中 `/` 表示整数除法[^1]。 - **符号规则**: - 结果的符号与被除数(即 `%` 左侧的操作数)相同。 - 如果被除数为正,则结果为正;如果被除数为负,则结果为负。 - **示例代码**: ```java System.out.println("10 % 3 = " + 10 % 3); // 输出 1 System.out.println("-10 % 3 = " + -10 % 3); // 输出 -1 System.out.println("10 % -3 = " + 10 % -3); // 输出 1 System.out.println("-10 % -3 = " + -10 % -3); // 输出 -1 ``` #### 3. 区别总结 | 特性 | 除法运算符 (`/`) | 取模运算符 (`%`) | |-----------------|-----------------------------------------|--------------------------------------| | **功能** | 计算两个数的商 | 计算两个数相除后的余数 | | **结果类型** | 整数除法会截断小数部分 | 始终返回整数 | | **符号规则** | 不影响符号 | 符号与被除数一致 | | **适用场景** | 需要获取商值时使用 | 需要获取余数时使用 | #### 4. 注意事项 - 当除数为 `0` 时,无论是 `/` 还是 `%`,都会导致运行时异常 `ArithmeticException`[^3]。 - 在浮点数运算中,`%` 的行为仍然遵循上述公式,但结果可能包含小数部分。 ### 示例综合代码 以下是一个综合示例,展示了 `/` `%` 的用法及区别: ```java public class ArithmeticOperators { public static void main(String[] args) { System.out.println("10 / 3 = " + 10 / 3); // 整数除法,输出 3 System.out.println("10.0 / 3 = " + 10.0 / 3); // 浮点数除法,输出 3.3333333333333335 System.out.println("10 % 3 = " + 10 % 3); // 取模,输出 1 System.out.println("-10 % 3 = " + -10 % 3); // 取模,输出 -1 System.out.println("10 % -3 = " + 10 % -3); // 取模,输出 1 System.out.println("-10 % -3 = " + -10 % -3); // 取模,输出 -1 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值