首页IT科技java中的运算符有哪几类(java中的运算符)

java中的运算符有哪几类(java中的运算符)

时间2025-09-06 01:42:00分类IT科技浏览5435
导读:算术运算符...

算术运算符

+(加) -(减) *(乘) /(除) %(取余) ++(自增)--(自减)

注意:/(除):两个整数相除               ,其结果一定是整数                        ,小数位计算机自动略去

例:

%: 取模运算

被模数 % 模数 = 结果

注意:结果正负与被模数正负相同

例如:

int m1 = -15; int n1 =4; System.out.println(m1%n1); //-3 int m2 = 15; int n2 =-4; System.out.println(m2%n2); //3

++(自增) --(自减)

自增        ,自减的运算原理是一样的这边以++为例

注意:++(自增1)--(自减1)不会改变原数据类型           ,后续开发中                        ,这种方式效率更高            ,不然进行+1操作       ,还得进行数据类型强转

先看例子:

1. ++在前 int num = 4; int num1 =++num; System.out.println(num); System.out.println(num1); // num: 5 num1: 5 2. ++在后 int num2 = 4; int num3 =num2++; System.out.println(num2); System.out.println(num3); // num2: 5 num3: 4

解析:

等号在这边为赋值                       ,将等式右边的值赋值给左边

来看++在前                ,首先num的值先进行了+1运算    ,将num的值改变成5                       ,然后将结果赋值给num1所以                    ,例子++在前的 num 与 num1的值都为5

然后++在后,首先num2的值赋值给num3                   ,由于num2还未执行++操作                        ,因此num3的值为num2的初始值4    ,随后num自己进行+1操作               ,将num2的值改变成5

结论:

++在前                        ,先自增1在进行运算        ,例如例子中的赋值运算

++在后           ,先运算                        ,后自增1

--在前            ,先自减1在进行运算

--在后       ,先运算                       ,后自减1

赋值运算符

运算符号:=                 ,+=    ,-=                       ,*=                    , /=,%=

+= :

number+=2 等价于:number=number+2

-=                   ,*=                        ,/=    ,%=类似

比较运算符

== , !=, > , < ,<= ,>=, instanceof

比较运算符只有一种结果:true 或者 false

例如:

int num = 4; int num4 =5; System.out.println(num==num4); //false System.out.println(num>num4); //false System.out.println(num<num4); // true System.out.println(num>=num4); // false System.out.println(num<=num4); //true System.out.println(num!=num4); //true

instanceof:用来测试一个对象是否为一个类的实例,后续在面向对象模块会涉及到

逻辑运算符

&(与)|(或) !(非)^(异或)&& ||

&(与)               、&&:两边都为true               ,结果才为true

|(或)                        、||:两边都为false                        ,结果才为false

!(非):取反

^(异或):两边相同为false

重点:

&(与)        、&& 的区别:

&:会对所有条件进行判断&&:不会对所有条件进行判断        ,只要当条件出现false的情况           ,就不会继续判断                        ,直接输出为false

|(或)           、|| 的区别

|:会对所有条件进行判断

|| :不会对所有条件进行判断            ,只要当条件出现true的情况       ,就不会继续判断                       ,直接输出true

在开发中                ,使用&& 跟 ||    ,好处就是提高代码执行效率

位移运算符

位移运算符是对整数的二进制进行运算                       ,无符号右移(>>>)和 有符号右移左移(>>,<<)                     ,在一些原码中经常可以看到一个数进行位移运算,其实有个巧妙的方法:

<< 左移: 左移几位就乘以2的几次方>>, >>>右移: 右移几位就除以2的几次方

计算小技巧:

左移不用说                   ,左移几位乘以2的几次方                        ,结果正负取决于要操作数的正负

例如:

int num2 = -22; int num3 = 22; System.out.println(num2 << 2); //-22*2^2= -88 System.out.println(num3 << 2); //22*2^2= 88

右移 (这边先不看无符号右移) :

当右移时    ,右移几位除以2的几次方               ,刚好能整除                        ,商就是最终值若不能整除        ,这边得考虑想要位移的数是正数还是负数

若为正数:结果向下取整           ,也就是取小数点前的数字若为负数:结果向上取整                        ,小数点前的数字+1

结果的正负也取决于要操作数的正负

例如:
int num2 = -22; int num3 = 22; System.out.println(num2 >> 2); // -6 System.out.println(num3 >> 2); // 5

解析:

-22 右移两位            ,-22*(2^2) =-5.5向上取整       ,结果符号与-22相同                       ,所以结果为-6

22 右移两位                ,22*(2^2)=5.5向下取整    ,结果符号与22相同                       ,所以结果为5

现在来看无符号右移:(>>>)

无符号:最终位移操作结果都为正数

首先当要操作的数为正数时                    ,跟>>(右移)一样向下取整

若要操作的数为负数时,这边的计算方法对无符号右移就不适用了                   ,就有一个新的概念                        ,原码    ,反码               ,补吗

原码:原始二进制表示                        ,最高位为符号位        ,对于正数来说最高位为0           ,负数为1

反码:正数的反码就是原码                        ,负数的反码            ,符号位不变       ,其余位取反(0变1,1变0)

补码:正数的补码就是原码                       ,负数的补码为反码+1

无符号右移:最高位补0

看个例子:

-10无符号位移4位

三元运算符

结构:(条件表达式)?表达式1:表达式2

当条件表达式为true时                ,则执行表达式1 否则表达式2

例如:

int x= 10; int y =5; System.out.println(x>y?"大于":"小于"); //大于
声明:本站所有文章    ,如无特殊说明或标注                       ,均为本站原创发布                。任何个人或组织                    ,在未征得本站同意时,禁止复制                        、盗用            、采集       、发布本站内容到任何网站                       、书籍等各类媒体平台                       。如若本站内容侵犯了原著者的合法权益                   ,可联系我们进行处理        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
自定义网页在线制作系统(自动生成网页的网站推荐) 数据监控软件都有哪些软件可以用(数据监控软件都有哪些软件好用)