Java基础系列之:你了解Java运算符吗?

Java面向对象中,属性和方法。属性是对数据的一种定义,方法中则是对数据进行各种处理,这里就有了数据运算。

在数据运算中,会使用到相应的运算符。下面介绍几种Java的运算符

算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。也就是我们生活中的加减乘除。

操作符含义
+加法 - 相加运算符两侧的值
-减法 - 左操作数减去右操作数
*乘法 - 相乘操作符两侧的值
/除法 - 左操作数除以右操作数
取余 - 左操作数除以右操作数的余数
++自增: 操作数的值增加1
--自减: 操作数的值减少1
  • 加法运算符(+)

这个运算符有两种情况:一种是数字之间的加,一种是带字符的加。

/**
 * 定义一个整形,并赋值2
 */
int a = 2;
int b = 5;

/**
 * 整形a 加上 整形b,并赋值给c
 */
int c = a + b;

String d = "——小强哥";
String g = "哈哈";

/**
 * 字符串拼接
 */
String e = d + c;
String f = c + d;
String h = g + d;

System.out.println("c:" + c);
System.out.println("e:" + e);
System.out.println("f:" + f);
System.out.println("h:" + h);

打印结果:
c:7
e:——小强哥7
f:7——小强哥
h:哈哈——小强哥      
  • 加法运算符(-)

这个是计算两个数的加法操作

/**
 * 定义一个整形,并赋值2
 */
int a = 2;
int b = 5;

/**
 * 整形a 减去 整形b,并赋值给c
 */
int c = a - b;

System.out.println("c:" + c);

打印结果:
c:-3
  • 乘法运算符(*)

计算两个数的乘积

/**
 * 定义一个整形,并赋值2
 */
int a = 2;
int b = 5;

/**
 * 整形a 乘以去 整形b,并赋值给c
 */
int c = a * b;

System.out.println("c:" + c);

打印结果:
c:10
  • 除法运算符(/)

计算两个数相除

/**
 * 定义一个整形,并赋值5
 */
int a = 5;
int b = 2;

/**
 * 整形a 乘以去 整形b,并赋值给c
 */
int c = a / b;

System.out.println("c:" + c);

打印结果:
c:2 因为c是int,所以结果不是我们想的2.5 而是2

  • 求余运算符(%)

左操作数除以右操作数的余数

/**
 * 定义一个整形,并赋值5
 */
int a = 5;
int b = 2;

/**
 * 整形a 求余 整形b,并赋值给c
 */
int c = a % b;

System.out.println("c:" + c);

打印结果:
c:1
  • 自加/自减运算符(++, --) 相当于一个数的本身加1或者减一并赋值给自己的变量

/**
 * 定义一个整形,并赋值5
 */
int a = 5;

a++;(等价于a = a + 1)

System.out.println("a:" + a);

打印结果:
a:6

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

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

关系运算符

两个变量之间的比较运算

运算符描述
==检查如果两个操作数的值是否相等,如果相等则条件为真
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。为真。
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

说明:比较后的值是boolean类型

int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );


打印结果:
a == b = false

位运算符

位运算主要直观的对位进行运算,所有最直观的数据就是二进制,每位的运算。

操作符描述
如果相对应位都是1,则结果为1,否则为0(位与)
|如果相对应位都是 0,则结果为 0,否则为 1(位或)
^如果相对应位值相同,则结果为0,否则为1 (异或)
按位取反运算符翻转操作数的每一位,即0变成1,1变成0(非运算)
<<按位左移运算符。左操作数按位左移右操作数指定的位数 (左移)
>>按位右移运算符。左操作数按位右移右操作数指定的位数 (右移)
>>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充

逻辑运算符

操作符描述
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。
&& 逻辑与,只有当同时为真的时候,才能为真。就是说,只要有一个假就为假
|| 逻辑或,两个中只要有一个为真,结果就为真
! 非运算,boolean量的取反,和我们说的反义词相似,真的非运算结果为假

&&和||中有个短路现象,什么是短路现象呢?就是判断条件一旦为true,就不对后面的判断了。

比如:
int a = 10;
int b = 20;
boolean c = (a == 10) && (b == 40);

a == 10已经为ture,不再对b == 40 进行判断

赋值运算符

java中用“=”把某个值赋值给某个变量。

/**
 * 定义一个整形,并赋值5
 */
int a = 5;

条件运算符(?:)

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。

三目运算符的写法为:布尔值:表达式1?表达式2

当布尔值为真的时候,执行表达式1,反之执行表达式2

int a = 10;
int c = a ==10 ? 9 : 0 ;
上面的表达式,如果 a==10为真,把9赋值给c,如果为假,把0赋值给c。结果是c = 9

总结,运算符可以算是程序的一个单位了,通过数据之间的运算达到我们想要的程序效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值