文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中%指的是什么

2023-07-05 09:35

关注

本篇内容主要讲解“Java中%指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中%指的是什么”吧!

在Java中,“%”是取余的意思,是一个二元算术运算符,可进行除法运算并获取余数,语法“操作数1 % 操作数2”。取余运算符“%”的操作数通常是正整数也可以是负数甚至是浮点数,如果负数参与此运算,则结果的正负取决于前面一个数是正数还是负数。

Java中的%是取余的意思,是一个算术运算符,可实现求余运算,进行除法运算并获取余数。

取余运算符是%是一个双目运算符,它的操作数通常是正整数也可以是负数甚至是浮点数,如果负数参与此运算,则结果的正负取决于前面一个数是正数还是负数。

对于整数,java的取余运算规则如下

a%b=a-(a/b)*b 5%3=5-(5/3)*3=2 5%-3=5-(5/-3)*-3=2 -5%3=-5-(-5/3)*3=-2 -5%-3=-5-(-5/-3)*-3=-2

如果操作数中有浮点数则采用的规则为

a%b=a-(b*q),这里q=int(a/b)

5.2%3.1=5.2-1*3.1=2.1 5.2%-3.1=5.2-(-1)*(-3.1)=2.1 -5.2%3.1=-5.1-(-1)*3.1=-2.1 -5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1

扩展知识:

Java 中的算术运算符主要用来组织数值类型数据的算术运算,按照参加运算的操作数的不同可以分为一元运算符和二元运算符。

一元运算符

算术一元运算一共有 3 个,分别是 -、++ 和 --。具体说明参见表 1。

表 1 一元算术运算
运 算 符名 称说 明例 子
-取反符号取反运算b=-a
++自加一先取值再加一,或先加一再取值a++ 或 ++a
--自减一先取值再减一,或先减一再取值a-- 或 --a

表 1 中,-a 是对 a 取反运算,a++ 或 a-- 是在表达式运算完后,再给 a 加一或减一。而 ++a 或 --a 是先给 a 加一或减一,然后再进行表达式运算。

int a = 12;System.out.println(-a);int b = a++;System.out.println(b);b = ++a;System.out.println(b);

上述代码第 2 行是 -a,是把 a 变量取反,结果输出是 -12。第 4 行代码是先把 a 赋值给 b 变量再加一,即先赋值后 ++,因此输出结果是 12。第 6 行代码是把 a 加一,然后把 a 赋值给 b 变量,即先 ++ 后赋值,因此输出结果是 14。

输出结果如下图所示:

Java中%指的是什么

二元运算符

Java 语言中算术运算符的功能是进行算术运算,除了经常使用的加(+)、减(-)、乘(*)和除(\)外,还有取模运算(%)。加(+)、减(-)、乘(*)、除(\)和我们平常接触的数学运算具有相同的含义。具体说明参见表 2。

表 2 二元算术运算
运 算 符名 称说 明例 子
+求 a 加 b 的和,还可用于 String 类型,进行字符串连接操作a + b
-求 a 减 b 的差a - b
*求 a 乘以 b 的积a * b

/

求 a 除以 b 的商a / b

%

取余求 a 除以 b 的余数a % b

算术运算符都是双目运算符,即连接两个操作数的运算符。优先级上,*、/、% 具有相同运算级别,并高于 +、-(+、- 具有相同级别)。例如:

int a = 4, b = 2, c = 3;int d = a * (b + c) % c;

这种运算规则与数学运算中的规则是相同的。首先计算赋值符号(=)右边配对的括号内的值,其次按从左向右的结合方向计算乘法,最后做求余运算,表达式的结果为 2, 然后把 2 赋值给 d。

例如:

在 ① 中整型变量 x 和 y 相除,其结果仍为整型数据 0;在 ② 中由于两个不同类型的数据进行运算,此时首先要进行类型转换,会把 int 型的 y 转换成与 x 一样的 float 型,然后相除,最终结果为 float 类型的数字 0.5。

【例1】编写一个程序,输出不同类型的两个数,执行相加、相减、相乘、相除和求余后输入结果。

public static void main(String[] args) {    float f1 = 9 % 4;// 保存取余后浮点类型的结果    double da = 9 + 4.5; // 双精度加法    double db = 9 - 3.0; // 双精度减法    double dc = 9 * 2.5; // 双精度乘法    double dd = 9 / 3.0; // 双精度除法    double de = 9 % 4; // 双精度取余    System.out.println("整数的算术运算"); // 整数的加、减、乘、除和取余    System.out.printf("9+4=%d \n", 9 + 4);    System.out.printf("9-4=%d \n", 9 - 4);    System.out.printf("9*4=%d \n", 9 * 4);    System.out.printf("9/4=%d \n", 9 / 4);    System.out.printf("9%%4=%d \n", 9 % 4);    System.out.println("\n浮点数的算术运算"); // 浮点数的加、减、乘、除和取余    System.out.printf("9+4.5f=%f \n", 9 + 4.5f);    System.out.printf("9-3.0f=%f \n", 9 - 3.0f);    System.out.printf("9*2.5f=%f \n", 9 * 2.5f);    System.out.printf("9/3.0f=%f \n", 9 / 3.0f);    System.out.printf("9%%4=%f \n", f1);    System.out.println("\n双精度数的算术运算"); // 双精度数的加、减、乘、除和取余    System.out.printf("9+4.5=%4.16f \n", da);    System.out.printf("9-3.0=%4.16f \n", db);    System.out.printf("9*2.5=%4.16f \n", dc);    System.out.printf("9/3.0=%4.16f \n", dd);    System.out.printf("9%%4=%4.16f \n", de);    System.out.println("\n字符的算术运算"); // 对字符的加法和减法    System.out.printf("'A'+32=%d \n", 'A' + 32);    System.out.printf("'A'+32=%c \n", 'A' + 32);    System.out.printf("'a'-'B'=%d \n", 'a' - 'B');}

保存文件并运行,输出的结果如下所示。

Java中%指的是什么

本示例中使用了 4 种类型来执行算术运算。其中,整数类型的结果最容易理解,浮点型和双精度型返回的结果都带有小数,字符型将会把字符转换为 ASCII 码再运算。

从输出结果中可以看到,整数之间的运算结果只保留整数部分,浮点型运算时保留 6 位小数部分,双精度运算时则保留 16 位小数部分。

注意:Java 语言算术运算符的优先级是先乘除后加减。例如在表达式“a-b*c”中,b 的左侧为减号,右侧为乘号,而乘号优先级高于减号,因此该表达式可以转换为“a-(b*c)”。

如果在一个表达式中的多个算术运算符的优先级别相同,例如“a-b+c”,此时将按照运算符的结合方向决定顺序。算术运算符的结合方向都是“从左至右”,即先左后右。因此 b 先与减号结合,执行“a-b”的运算,再执行加 c 的运算。

到此,相信大家对“Java中%指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯