Java 的算数运算符

本文详细介绍了Java的各类运算符。包括按操作数数目分为单目、双目和三目运算符;按功能分为算术、赋值、关系、逻辑、位和其他运算符。文中对每种运算符的作用、使用方法及示例结果都进行了说明,如算术运算符的加、减、乘、除等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:陈小白

Java的算数运算符

    运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符赋值运算符关系运算符逻辑运算符位运算符和其他运算符

算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。

     算数运算符有:+ 、- 、* 、/ 、% 、++ 、--   

举例:+,-,*

//算术运算符

// + - * / % ++(自增)--(自减)

int a=23;

int b=5;

//+,相加运算符两侧的值

       //+,同时也是字符串的连接运算符

int c=a+b;

System.out.println("a+b="+c);

//-,左操作数减去右操作数

int d=a-b;

System.out.println("a-b="+d);

//*,相乘操作符两侧的值

int e=a*b;

System.out.println("a*b="+e);

       //零乘以任何数都为零

int f=a*0;

结果:

/(除)

//除(整型不能除零,)

 

int f=a/b;//整数/整数=整数,是截断取整,而不是四舍五入取整

//int g=a/0;整数不能除零

//当除数或者被除数中有一个为浮点型的,那么结果就是自然除法的结果

//如果此时除数为0或者0.0那么结果为正无穷或者负无穷

//0.0除0结果为NaN非数;

System.out.println("Infinity 正无穷"+10/0.0);

System.out.println("没有四舍五入,直接截断  :a/b="+f);

System.out.println("0.0/0.0="+(0.0/0.0));

// System.out.println("除零异常"+10/0);

//java.lang.ArithmeticException除零异常

结果:

取余

取余运算符既可用于两个操作数都是整数的情况,也可用于两个操作数都是浮点数(或一个操作数是浮点)的情况。

int a=19;

int b=4;

float c = 3.8f;

float d = 1.8f;

//% 求余

/*两个整数时第二个数不能为零

* 一个或者2个为浮点数,第二个数为0或者0.0时,结果NaN,第一个数为0或0.0时,

* 结果为0.0*/

int h=a%b;

System.out.println("a % b="+h);

System.out.println("a % 0.0="+(a % 0.0));

System.out.println("0.0 % b="+(0.0 % b));

System.out.println("c % d="+(c % d));

结果:

++自加,--自减

自增(++)自减(--),运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数

//++自增

//定义变量

int A=20;

int B=20;

int C=20;

int D=C++ + B;

//前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

//后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

System.out.println("++A="+(++A));

 System.out.println("B++="+(B++));

 System.out.println("D="+D);

 //--自减

 D=20;

 int E=20;

 System.out.println("--D="+(--D));

System.out.println("E--="+(E--));

//int b = ++A; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4

//int d = --C; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2

结果

比较运算符

>、 >= 、<、 <=、 == 、!=

//比较运算符

System.out.println("5>4 ="+(5>4));

System.out.println("5>=4 ="+(5>=4));

System.out.println("5<4 ="+(5<4));

System.out.println("5<=4 ="+(5<=4));

System.out.println("5==4 ="+(5==4));

System.out.println("5!=4 ="+(5!=4));

结果:

成立则为true,不成立则为false。

逻辑运算符

//逻辑运算符

//&&:短路与,前后两个操作数必须都是true才返回true,否则返回false。

//&:不短路与,作用于&&相同,但不会短路

//||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。

//|:不短路或,作用与||相同,但不会短路。

//!:非,只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true。

//^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false

        boolean a = true;

    boolean b = false;

     System.out.println("a && b = " + (a&&b));

     System.out.println("a || b = " + (a||b) );

System.out.println("!(a && b) = " + !(a && b));

//  短路逻辑运算符
     int a = 5;//定义一个变量;

     boolean b = (a<4)&&(a++<10);

     System.out.println("使用短路逻辑运算符的结果为"+b);

     System.out.println("a的结果为"+a);

结果:

赋值运算符:

操作符

描述

=

简单的赋值运算符,将右操作数的值赋给左侧操作数

+=

加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数

-=

减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数

*=

乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数

/=

除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数

//赋值运算符

//= += -= /=

int intZ=1;

System.out.println(intZ+=1);

System.out.println(intZ-=1);

System.out.println(intZ*=1);

System.out.println(intZ/=1);

位运算符:

位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。  位与'&',位或'|',位非'~',位异或'^',右移'>>',左移'<<',0填充的右移'>>>'  位运算的位与'&',位或'|',位非'~',位异或'^'与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值boolean型。

int a = 60; /* 60 = 0011 1100 */ 

     int b = 13; /* 13 = 0000 1101 */

     int c = 0;

   c = a & b;       /* 12 = 0000 1100 */

     System.out.println("a & b = " + c );

     c = a | b;       /* 61 = 0011 1101 */

     System.out.println("a | b = " + c );

     c = a ^ b;       /* 49 = 0011 0001 */

     System.out.println("a ^ b = " + c );

   c = ~a;          /*-61 = 1100 0011 */

     System.out.println("~a = " + c );

  c = a << 2;     /* 240 = 1111 0000 */

     System.out.println("a << 2 = " + c );

  c = a >> 2;     /* 15 = 1111 */

     System.out.println("a >> 2  = " + c );

    c = a >>> 2;     /* 15 = 0000 1111 */

     System.out.println("a >>> 2 = " + c );

结果:

其他运算符:

三目运算符(?:)

三目运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

//三目运算符?:

System.out.println((5>4)?"5>4":"5<4");

结果:

instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

//instanceof

String str1="Name";

boolean bool=str1 instanceof String;

System.out.println(bool);

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值