基本运算符
算术运算符:%是取余运算,称为模运算
赋值运算符:=,可用于计算,也用于为变量或常量赋值,例如int a = 10,正规的说法是:将10赋值给a
关系运算符:
-
==,用于比较,判断两个数字是否相等;
-
!=,不等于,也是用于判断;
-
instance of,面向对象使用的运算符
逻辑运算符:
-
&&:与运算,表示同时成立,相当于and的意思
-
||:或运算,表示对立关系,只能有一个成立,相当于or的意思。
-
!:非运算,也叫取反运算,表示非你即我的意思。
以上是必须掌握的4类运算符,下面的是作为了解的三类运算符,知道就行
位运算符:位就是二进制里的0101这样的位,位运算符就是和这个位相关的
条件运算符与扩展运算符:偷懒的运算符
2、包机制
-
包就是文件夹,这里只介绍创建包的方法,不深入讲解
-
创建包的方法如图:依次选择src—New—Package
然后在弹出的窗口输入包的名字,这里起名叫:base(基础的意思)
然后就会创建一个base目录
-
创建好包之后,将之前练习的class类都移动到base包里,就做到了分类,这就是包的作用
-
然后再创建一个operator目录,存放基本运算符的class类Demo1
-
可以看到,在把class放进包里之后,新建的class,会在最上面自动多出一行package 包名的代码,这一行不能删,否则会报错
3、四则运算实际运用(二元运算符)
-
首先定义4个变量a、b、c、d,并进行赋值,然后输出a和b两个变量的加减乘除(也成为二元运算符),如下图
输出的结果如上图,可以看到:加、减、乘的运算结果都没有问题,但是a/b出现了问题,a的值为10,b的值为20,相除的结果应该是0.5,但是输出的结果却是0
这是因为a和b都是int类型,计算之后的结果也是int型,但是计算的结果是0.5,必须是浮点数类型才能正常输出,整数类型优先级低于浮点数类型,低转高无法自动转换,因此int类型会对结果进行取整,即省略小数点后的部分,所以得出的结果是0
所以,需要在计算之前,根据之前讲的强制转换的方法,至少将a或者b其中一个强制转换为double类型,这样计算的结果就是double类型的数据,可以正常的输出了
-
在定义四个不同类型的变量a1、b1、c1、d1,数据类型分别为long、int、short、byte,分别赋值为a1 = 123123123123L、b1 = 123、c1 = 10、d1 = 8,如下图
同样是做四则运算,相加输出的结果如下
对计算的结果进行数据类型的强制转换时,必须转换为合理的类型,例如int类型可以转换为double类型,但是无法转换为string类型的,强制转换会报错,如下图
图里可看到,c1和d1的数据类型分别为short和byte,但c1+d1的数据类型是int,正好印证了上面的结论,除了long数据以外,任何其他整数类型的运算,都会输出int类型的数据
造成以上情况的原理是数据类型的优先级,因为int类型的优先级在整数类型中除了long之外,是最高优先级,所以除了long以外的其他整数类型,在计算时,都会被低转高自动转换为int类型,哪怕参与计算的两个变量,数据类型都是short,但是计算时,依旧会被转化为int类型
-
但是这个规则只适用于整数类型,浮点数类型则没有这个限制,如下图,两个同样为float类型的变量a2和b2,分别赋值为10.1和10.2,double类型的优先级高于float类型,但是a2+b2在参与计算时,并没有自动转换为double类型,依然是保持float类型
4、关系运算符
-
关系运算符只会返回两个结果:正确(true)、错误(false),所以关系运算符的数据类型一定时布尔值(boolean)
-
关系运算符实际运用如下图
定义两个变量a3和b3,分别赋值为10和20,然后两个数相互之间进行比较,如果系统判断比较的结果是对的,就会返回true,反之则会返回false,如下图
关系运算符,通常用于判断,即通常和if判断语句一起使用
-
模运算(取余):当除法没有除尽,有余数时,用%可以忽略相除的结果,只输出余数,如下图
定义3个变量a4、b4、c4,分别赋值为10、21、22
当b4除以a4时,21 / 10 = 2......................1,余数为1,所以b4%a4输出为1
当c4除以a4时,22 / 10 = 2......................2,余数为2,所以c4%a4输出为2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现