[Android-Java]1.基本概念-5运算符使用

五、运算符使用

说到运算符,你肯定第一反应就是数学中的加、减、乘、除。没错想法很正确,但是呢这只是一少部分。今天呢,我们先讲的不是运算符,先讲一下类型转化的知识。

基本数据类型转化

在上节课呢,我们已经讲解了Java中的八大数据类型,在这八大数据类型中,就拿一个最简单的例子来说,byte类型和int类型,他们之间是有区别的,那么却别在哪里呢,我们上节课已经说过了。区别就在于他们的取值范围不同,但是,其实他们本质上类型都是一样的,都是整型。
那么问题来了,既然都是整型,他们之间是不是可以互相转化了呢?举个例子:

byte a = 100;
int b = a;

我们可以这样做吗?答案肯定是可以的,而且不需要任何操作,这种形式就叫做基本数据类型转化。

做一个很简单的比喻,我们的基本数据类型都是有范围的,byte类型的范围是一个100ml的饮料瓶的话,那么int类型的范围可能就是500ml的饮料瓶。我们当然可以把100ml的饮料瓶中的水全部倒进500ml的饮料瓶中啦,这是一个常识性问题。100ml的瓶子最多只能装下100ml的水,所以显而易见,全部倒入500ml的瓶子中,也不会使500ml的瓶子溢出来水。

而我们刚才做的就是这样的一个效果,所以程序允许这样的事情发生。那么问题来了,如果反过来呢?

int a = 100 ;
byte b = a ;

同学们可以自己试一下,这样会出现问题的,原因呢,举个例子,我们想把500ml的瓶子中的水,全部倒入100ml的瓶子中,那么很容易出现问题,就是容量的问题,100ml的瓶子可能就会溢出水来。那么我们真的遇到这种情况该怎么办呢?下面就来讲解一下。

强制数据类型转化

首先呢,先来考虑一下,如果我们真的把500ml的瓶子中的水,全部倒入100ml的瓶子中,会发生什么情况?
1.100ml的瓶子不会溢出水,因为500ml的瓶子中不足100ml的水。
2.100ml的瓶子中会溢出水,因为500ml的瓶子中的水超过100ml了。
这两种情况是显而易见的,那么我们应该怎么解决呢?这里我们说到了强制这种概念,对,碰到这种必须的情况,我们就不需要管100ml的瓶子会不会溢出水了,直接倒吧,溢出就溢出了,那么在代码中,我们怎么表示呢?下面我们就来看看。

int a = 100 ; 
byte b = (byte) a ;

看到这里,我们应该就能明白,如果进行强制数据类型转化了。将要转化的类型利用括号写在某一个变量的左边就可以了。

好了,那么讲到这里,我们应该理解了数据类型转化了两种形式了,这个在我们以后的讲解中,还会提到~所以希望大家能记住。

下面来讲解一下我们的运算符。

运算符

运算符按照功能分为很多类,不过呢,我们只来讲下面的三大类:算数运算符,条件运算符,逻辑运算符。

  • 算术运算符
    +:加
    -:减
    *:乘
    /:除
    前四个,就没有什么必要介绍了,下面我们来介绍一下剩下的几个运算符
    %:求余--求得余数
int a = 10;
int b = a%3;
// 打印a求余3的结果,为1
System.out.println(b);

++:自加--在本身之上加1

int a = 10;
// a++ 就相当于 a = a + 1 ;
a++;
// 打印a自加的结果,为11
System.out.println(a);

--:自减--在本身之上加1

int a = 10;
// a++ 就相当于 a = a - 1 ;
a--;
// 打印a自加的结果,为9
System.out.println(a);

=:等于--就是得到最后的结果,这个也不用说的太多了。
最基本的用法,就是这样。不过呢,这里面有两个比较特殊的,++和--。
我们先来看一个例子。

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

大家可以试一下,得到的打印结果是10。那么这是为什么呢?
这里我们要专门解释一下,由于其实++或者--其实是一个等式,也就是可以得到最终结果的式子,所以类似这样的式子:int b = a++;这样的式子,其实是有两个等式组成的,也就是,int b = a ; a = a + 1;这两个式子,所以呢,显而易见的,程序是先计算的int b = a ; 而不是a = a + 1;。
那么有些学生就会有问题了,我如果就想这么干,那么我有什么方式呢?对,我们就来看一下,如何让他先计算a的自加或者自减运算。

int a = 10 ; 
// 把++符号,放在a的前面,系统会强制先运算a的自加
int b = ++a;
System.out.println(b);

好的,大家应该看到了,其实++是可以放在变量的前面或者后面的,而放在前面或者后面,效果也是不一样的。
放在前面,先运算++;
放在后面,先运算a,之后再让a自加。

好了,这一节课就算是讲完了,至于条件运算符和逻辑运算符,之后的课会讲到,不要着急哦~
哈哈祝大家以后学习更加进步~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,113评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,644评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,340评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,449评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,445评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,166评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,442评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,105评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,601评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,066评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,161评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,792评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,351评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,352评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,584评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,618评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,916评论 2 344

推荐阅读更多精彩内容