千家信息网

Java的五种运算符怎么使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"Java的五种运算符怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"Java的五种运算符怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2026年11月03日Java的五种运算符怎么使用

本文小编为大家详细介绍"Java的五种运算符怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"Java的五种运算符怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、算术运算符

算术运算符的符号通常为:加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减(--)。

使用int类型的变量和int类型的变量做除法,得到的结果还是int类型;

使用double类型的常量和 int类型的常量做除法,会得到double类型的结果;在使用强制类型double转换可以得到double类型

System.out.println(7 / 2);//3.0System.out.println((double)(7 / 2));  // 3.0System.out.println((double)7 / 2);    // 3.5

既然存在除法,那么对于除0这个特殊的数,Java的程序是怎么处理的呢,是否都是异常的报错呢?我们可以执行试一下

// 产生异常:java.lang.ArithmeticException: / by zero int i = 123 / 0; System.out.println(i);   // 产生异常:java.lang.ArithmeticException: / by zero int j = 0 / 0; System.out.println(j);   double k = 123.45 / 2; System.out.println(k); // 61.725   double x = 123.45 / 0; System.out.println(x); // Infinity(正无穷大)   double y = -123.45 / 0; System.out.println(y); // -Infinity(负无穷大)   double m = 0.0 / 0; System.out.println(m); // NaN(Not a number 不是一个数)   double n = -0.0 / 0; System.out.println(n); // NaN(Not a number 不是一个数)   float x = 123.45F / 0; System.out.println(x); // Infinity(正无穷大)   float y = -123.45F / 0; System.out.println(y); // -Infinity(负无穷大)   float m = 0.0F / 0; System.out.println(m); // NaN(Not a number 不是一个数)   float n = -0.0F / 0; System.out.println(n); // NaN(Not a number 不是一个数)   //产生异常:java.lang.ArithmeticException: / by zero int x = 11 % 0; System.out.println(x);   double y = 11.0 % 0; System.out.println(y); // NaN

自增运算符

单独使用自增运算符:不论++放在需要自增的变量的前面还是后面,都会在操作后让变量的值自增1

非单独使用自增运算符:int j = i++; // i: 3 j: 2(一上来先把i的值赋值给j,然后i自己做自增(先赋值再自增));int j = ++i; // i: 3 j: 3(上来先i自己做自增,然后把i的值(自增后的值)赋值给j(先自增再赋值));

这里附加一个练习题:

int i = 2; int j = 3; j = i++ + ++i+i*6;

最后j是多少?(结果是:30)

二、赋值运算符

赋值运算符:=、+=、-=、*=、/=、%=

这个没什么说的只是进行赋值的操作,只是要注意对于非默认数据类型的数据,使用带有算术运算符的赋值运算符时,会自动进行强制类型转换,例如:

byte j = 5;j += 6; // 下句等价于上句 j = (byte) (j + 6);

三、比较运算符

比较运算符:==、!=、>、<、>=、<=;Java中使用 == 表示相等(内容相等)

四、逻辑运算符

逻辑运算符:&、|、!、^、&&、||

&:逻辑与,有一个是false得到的结果就是false

|:逻辑或,有一个是true得到的结果就是true

!:逻辑非,颠倒黑白

^:逻辑异或,类似吸铁石(真假为真,真真为假,假假为假)

&&:逻辑与,如果参与运算的第一个变量或表达式为false,得到的结果就是false,其他的变量或表达式就不去执行;如果多个逻辑与参与运算,以此类推; ||:逻辑或,如果参与运算的第一个变量或表达式为true,得到的结果就是true,其他的变量或表达式就不去执行;如果多个逻辑与参与运算,以此类推;

&和&&区别:&&具有短路的操作,比如第一个表达式是false时,是不会执行第二个表达式(if(s!=null&&s.equal(""))),如果s是null的话使用&就会报错;&可以可以用在位运算符中。

练习题:

int i = 2; int j = 3; System.out.println((++i == 2) && (j++ == 3));

问:最终i 和 j 的值是多少?(i为3,j为3)

int i = 2; int j = 3; System.out.println((++i == 2) & (j++ == 3));

问:最终i 和 j 的值是多少?(i为3,j为4)

五、位运算符

位运算符:&、|、~、^、>>、>>>、<<

规则:(在二进制中)操作的是补码

&:位与,进行操作的两个数的同一位上,有一个是0,该位运算的结果就是0

|:位或,进行操作的两个数的同一位上,有一个是1,该位运算的结果就是1

~:位非,进行操作的数按位取反

^:位异或,进行操作的两个数的同一位上,两个相同为0,两个不同为1(规律:一个数连续两次和另一个数做位异或运算,得到其本身的值)

System.out.println(2 & 3); // 2   System.out.println(2 | 3); // 3   System.out.println(~2); // -3   System.out.println(2 ^ 3); // 1   System.out.println(2 ^ 3 ^ 3); // 2   /** 2:0000 0010* 3:0000 0011** 2* 原码:0000 0000 0000 0000 0000 0000 0000 0010* 反码:0000 0000 0000 0000 0000 0000 0000 0010* 补码:0000 0000 0000 0000 0000 0000 0000 0010** ~2* 补码:1111 1111 1111 1111 1111 1111 1111 1101* 反码:1111 1111 1111 1111 1111 1111 1111 1100* 原码:1000 0000 0000 0000 0000 0000 0000 0011*/

<<:左移,左边的高位删除,右边的低位补0

>>:右移,因为左侧的最高位是符号位,所以要区分是0还是1;左侧的最高位是0,左侧补0;左侧的最高位是1,左侧补1 >>>:无符号右移,不论左侧的最高位是0还是1,左侧补0

System.out.println(2 << 1); // 4   System.out.println(2 >> 1); // 1   System.out.println(-2 >> 1); // -1   System.out.println(-2 >>> 1); // 2147483647   /** -2:* 原码:1000 0000 0000 0000 0000 0000 0000 0010* 反码:1111 1111 1111 1111 1111 1111 1111 1101* 补码:1111 1111 1111 1111 1111 1111 1111 1110** 右移1位操作(操作补码)** 补码:1111 1111 1111 1111 1111 1111 1111 1111* 反码:1111 1111 1111 1111 1111 1111 1111 1110* 原码:1000 0000 0000 0000 0000 0000 0000 0001** 无符号右移1位操作(操作补码)** 补码:0111 1111 1111 1111 1111 1111 1111 1111* 反码:0111 1111 1111 1111 1111 1111 1111 1111* 原码:0111 1111 1111 1111 1111 1111 1111 1111*/

读到这里,这篇"Java的五种运算符怎么使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

运算 运算符 类型 逻辑 结果 变量 补码 个数 就是 表达式 两个 反码 最高 无穷大 符号 还是 内容 文章 算术 除法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技公司简介 深圳互联网科技公司 智网互联网科技 上海亿帐通互联网科技 互联网科技股午盘股票涨跌 衡水科技产业互联网平台 湖南诚度互联网科技有限公司 湖北码尼互联网科技有限公司电话 速维有品互联网信息科技(苏州)有限公司 洛阳昕诺飞互联网科技有限公司 开一家科技互联网公司需要多少钱 互联网科技扶贫时间 群盈汇互联网科技有限公司 黑云互联网科技有限公司 广州燕处互联网科技有限公司 美国五大互联网科技公司市值多少 互联网科技品牌 利用互联网等科技手段 互联网 科技节活动 微视频大赛 互联网科技名片 广州互联网络科技有限公司 汉立互联网科技有限公司联系电话 阿里互联网科技公司 互联网科技创新服务 互联网与数字科技关系 济南小医互联网科技有限公司招聘 安徽零酒互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 伍佰万互联网科技是干嘛的
0