day12.基本运算符

基本运算符

昨天已经学过了变量,常量和作用域,今天呢,我们接着学习:基本运算符

计算机为什么叫计算机呢,它最重要的东西是不是“计算”呀,在小学的时候我们就学过加减乘除这些最基本的运算了,它们这些运算都是要靠一些符号,什么加号减号 的这些符号来运算,

而java里,也有一套运算符:

在这里插入图片描述

大家一看到这图是不是被吓倒了,你别看他有这么多运算符,其实呢,真的有那么多,不过呢,不要放弃,坚持下来,你也会是一名程序猿的,

我们一条一条看,首先是

算数运算符有:加号+ ,减号- ,称号 ,除号/ ,模% ,加加好++ ,减减号-- ,*

前面的加减乘除都学过,没有任何问题,后面的百分比号%,在小学是取余(反正00后的我是没学过这东西),就是11除以5等于2…(余)1,(余我学过,取余就没听说过了,百分号也没在这用过),11/5=2…余1,这样的在java里被称作**“模”** ,取余运算叫做模运算,用法是一样的只是叫法不一样,后面这个加加减减我们到后面再看

附值运算符:=

这个等于号大家在写变量附值的时候是不是都见过呀,

int a = 10

就是这样用的,但很多人都读成 a 等于10,其实这是不对的,正确的呢,是把10附值给 a,就是把后面这个数,这个值附给 a 这个变量,这是附值运算符

关系运算符:> ,< ,>= ,<= ,== ,!= instanceof

前面的大于号小于号,大于等于,小于等于,等等于都没问题,就是要注意的是,java里的等于号一般是用两个等于号表示,不要写成一个了,要注意等于不能打错,那最后一个是不等于,大家不要写成 <>,或者是 等于号加个斜线,在java里是没有这些字符的,不等于的格式是 !=,感叹号加个等于,有人说:这不是运算符吗,怎么还有单词呢,这个等到学到面向对象的时候再给大家说

逻辑运算符:&& ,|| ,!

不知道在日常生活中大家有没有听过:与,或,非,呢?

这个呢就是“我和你”,什么和什么的意思,这个或呢就是“我或你”,什么或什么,选择其中一个,那这个非呢就是就是“非黑即白”,不是你就是我的意思,分别对应上面的:&&,||,!

到这里以上呢,我们要灵活运用,下面这些呢只要知道怎么用就行了,因为不经常出现,了解一下,知道怎么用就行

位运算:& ,|, ^ ,~ ,>> ,<< ,>>>,(了解)

位运算就是我们之前聊过,计算机单位的**“位”**,这个后面会学到,

条件运算:? :,这是有点偷懒的运算符,后面再学

扩展赋值运算符:+= ,-= ,*= ,/=,这也是偷懒的,后面会学到

说白了,条件运算和扩展符值运算都是偷懒,这么一说是不是觉得会轻松很多呢,

说了那么多还不如实际操作理解的更透彻,话不多少,直接进入IDEA,一进去是不是看到我们这几天创建的Demo很多,看起来很乱,

那么这里讲代码之前先讲一下我们后面要学的包机制,先右键src,new一个package,创建一个包,名称为base,这里先讲一下所谓的包,对于我们新手来说其实就是一个文件夹,专门放我们的文件的,

创建完成后我们就把文件一个一个拖进去,不要问我为什么不全选,一起放进去,因为我不会

在这里插入图片描述

全部demo文件放进去以后就先不管这个包了,我们再创建一个包,名字叫**“operator”运算符的意思**,然后在这个包里创建一个class文件,还是叫Demo01,

创建完以后,是不是看到上面会多一串代码,这个代码是不能删的,删了它就会报错,这个等到学包机制的时候再讲,这个就是当前的包

现在就开始讲代码,先写个main方法,我们先测试一下最简单的加减乘除运算符:二元运算符,先写个int,a等于10 ,再往下复制三行,把a改成“bcd”,b改成20,cd改成25

那有人就问了,怎么往下复制呢,这里教大家一个快捷键:Ctrl + D,复制当前行到下一行

int a = 10;
int b = 20;
int c = 25;
int d = 25;

写完以后我们来输出一下 ,a+b,a-b,a*b,a/b,乘号就是星号,除号就是右斜杠,输出这四个结果,看一下是否正确,

在这里插入图片描述

这时候我们看到得出来的结果,10加20等于30没错,10减20等于负10没错,10乘20等于200没错,但是10除20等于0这就有问题了,

10除20等于多少,等于0.5,那我们都学过int它是只能表示整数的,所以0.5它没办法表示,它只能表示0,这时候怎么办?

是不是要在前面转换成表示小数的关键字,在前面加个double,就可以了,我们来试一试

在这里插入图片描述

换成double是不是就可以输出小数 ,这样输出0.5就没问题了,这是加减乘除,是不是很简单,那我们接着往下学,创建一个Demo02,学其他的东西

创建好了以后写个main方法,首先来四个类型让大家熟悉熟悉,

先写个long类型123123123123,记住后面加个“L”表示他是long类型的,再一个int类型123,一个short类型10,byte类型8,

然后我们再输出一些好玩的,a+b+c+d,看看他是什么类型的,再来个b+c+d,和c+d,都输出一下看看是什么类型的,

那有人问为什么要这样输出,这四个类型是不是不一样的,我们看看这四个类型相加会是怎么样的,那我们来判断一下,输出的这三个答案会是什么答案

第一个毫无疑问肯定是long类型,毕竟那么长,再小的数是表达不了的

第二个是141,那他是不是int类型的,这是没有问题的吧

第三个18,想一想是什么类型,它默认出来的还是int类型,大家想一下为什么是int类型

在这里插入图片描述

如果是多个数字相加,有一个关键词是long,那么它的结果就一定是long,这个应该听得懂吧,

如果没有long的话,那么结果都为int,无论是否有int类型的存在,这结果都为int类型的

那有人就问了,你怎么知道这是int类型还是short类型呢,那我们可以给他强制转换一下,把它转换成string,

在这里插入图片描述

可以看到这里报红显示不能把int类型转化为string,说明这个是int类型的

那一次类推,里面有int没有long那他的结果就是int,有long结果就是long,那有double呢,之前我们就学过double是排在long后面的,所以有double的结果就是double,都是取最大值,

这些应该理解吧,不能理解的就多看看视频和博客,理解了我们继续,再创建一个Demo03写一个main方法,我们来看看关系运算符返回的结果,

我们都知道进行大小比较的结果它要么是正确要么是错误,在java的正确错误都是由布尔值表示的,所以它的结果一定是布尔值表示

我们可以做个测试,写个int,a等于10,在int,b等于20再输出他们,看看a是否,大于,小于,等于,不等于b,来输出一下

在这里插入图片描述

可以看到结果是没问题的,像这用比较的我们在后面会和if组合一起用得比较多

我们接下来再看看还有个百分号%,取余,设个int,c=21的值,再输出一下c取余a:(c%a) 相当于:21除以10,等于2…(余)1,取其中的余数,我们来输出一下

在这里插入图片描述

可以看到,得出的结果是1,是没问题的,把c改成22,那它的结果,取余也是2,一个逻辑,这个就叫取余,也叫做模运算,东西都是一样的,只是叫法不同

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值