前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.3 java中的运算符(一)

2.3 java中的运算符(一)

作者头像
一缕82年的清风
发布2022-01-10 10:13:57
3680
发布2022-01-10 10:13:57
举报
文章被收录于专栏:lsqingfeng

上篇文章我们刚刚研究了java中的变量和数据类型,这节课我们来介绍一下java中的运算符。java中的运算符主要分为:

算数运算符,赋值运算符,关系运算符,逻辑运算符,位运算符和三目运算符。我们分别来看。

1. 算数运算符

算数运算符主要包括:+、-、*、/、%、++和--

+:代表加法运算

-:代表减法运算

* :代表乘法运算

/: 代表求商的运算

%:代表取余数的运算

这几个里边要注意,整数和整数相运算得到的还是整数,如果想要的到小数,那么需要让小数参与运算。详见如下的代码

代码语言:javascript
复制
System.out.println(15/2);//7,得到的结果还是整数
System.out.println(15%2);//1,取余数
System.out.println(1.0*15/2);//7.5,让小数参与运算
System.out.println(15/2*1.0);//7.0,注意运算顺序,第一步得到7,7*1.0=7.0

接下来我来看一下++ 这个运算符,这个++ 运算符是分为前++和后++两种运算,而--的运算规则和++一样。

前++和后++ 在单独使用的时候,运算规则是一样的,就是单纯的加1操作。

代码语言:javascript
复制
int a= 0;
int b= 0;
a++;
b++;
System.out.println(a);//1
System.out.println(b);//1

但是在和其他运算符放到一起的时候,使用起来就是有区别的。前加加的运算规则是先加1在运算(包括赋值,打印等),后加加的运算规则是先运算后加1;

代码语言:javascript
复制
int a = 0;
int b = 0;
int c = a++;
int d = ++b;
System.out.println(a);//1,做了+1操作
System.out.println(b);//1,做了+1操作
System.out.println(c);//0,后加加,先做运算,这里的运算指的就是赋值,所以先赋值,c变成0,赋值后,a+1变成1;
System.out.println(d);//1,前加加,先+1,b变成1,再运算,即赋值运算,把1赋值给d

同时要注意,这个打印语句,也属于运算。

代码语言:javascript
复制
int a = 0;
int b = 0;
System.out.println(a++);//0,后加加,先运算,即打印,打印完了以后,a+1变成1
System.out.println(++b);//1,前加加,先加1,b变成1,在打印。

ok,减减的用法和加加一样。

2. 赋值运算符

赋值运算符中,最常见的就是“=”,a=4;实际就是把等号右边的4赋值给等号左边的变量a,所以a的值变成了4.

在赋值运算符中,除了等号以外,还有这么几种,

分别是:+=,-=,*=,/=,%=

这几个也是比较常见的,需要注意的是,赋值运算符的左边必须是变量,不能是常量。

而这个+=的运算规则是这样的,

a+=b;就相当于a=a+b;

只不过在+=中实际上包含了一个强制的类型转换。这个我们通过一道经典的面试题来了解一下。

short s = 1;

s=s+1;和s+=1;哪句代码编译成功,哪句代码编译失败

s=s+1;这句代码是有问题的,为什么呢,因为等号的右边是一个short类型的s和int类型(整数的默认类型是int)的1相运算,我们上节课提到过,byte,short,char不能直接运算,需要转换成int才能运算,所以,等号右边的结果实际上是int类型的,把一个int类型的变量赋值给一个short类型的s是会有问题的。

s+=1;这句代码是没有问题的,因为我们说过+=运算符中包含了一个强制类型转换,所以也就相当于:

s= (short)(s+1);

ok,本篇文章我们先介绍着两种运算符,剩下的运算符我们在后续的文章中继续讲解

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/04/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档