代码改变世界

Java中的运算符 - 实践

2025-12-25 09:36  tlnshuju  阅读(0)  评论(0)    收藏  举报

运算符
①算术运算符:加+ 减- 乘× 除/ 取余%

注意:

整数商,小数点后面的数不显示;就是计算(整数与整数运算)——除法中除出来的结果一定是整数,余数会自动省略掉,获取的
小数计算(小数与小数运算)——小数直接参与计算,但结果可能不精确。

问题:那如果整数与小数之间进行运算咋办

拓展:不同数据类型之间应该如何运算

算术运算符的三种情况:

数字运算——核心:类型不一样不能运算,需要转换成同类型的才能计算。

注意:

类型转换:这里面需要我们用到整数以及小数的范围比较

Ⅰ.小→大:

隐式转换:核心:前面补0,目的是为了凑齐位数(比特位);

隐式转换规则:触发时机:不同类型的内容进行计算,默认采取隐式转换,Java自动转换,无需我们写代码。

转换步骤1:如有byte、short类型的数据,不管三七二十一,先提升为int类型,这对数值没有任何影响;

转换步骤2:再把取值范围小的提升为取值范围大的,再进行运算;

Ⅱ.大→小:

强制转换:核心:去掉不要的,目的是为了在不影响数值大小的情况下补齐位数(比特位),但,有很多时候无法做到这样,因此,强制转换的弊端就是有可能导致精度丢失,说白了,就是有可能会改变原本的数值;

强制转换规则:触发时机:强制转换不会自动触发,需要我们手写代码。

书写格式:目标数据类型+变量名 =(目标数据类型)被强制转换的信息;

注意:

目标数据类型是表示我们想转换为某种数据类型的数据类型;
如果被强制转换的数据只有一个变量名则不需要加小括号,若被强制转换的数据类型有两个及以上的变量名则得用小括号将它们括起来。

示例:

int a = 10;

将 int 类型的变量 a 强制转换为 byte 类型,并赋值给 byte 类型的变量 b 。就是byte b = (byte) a; // 这里

字符运算:

注意:字符与数字是可以相互转换的(前提是只要数字没有超过最大字符的取值范围),参考ASCII码表。

字符串运算:

字符串只有+操控,没有其他操作;
任意数据+字符串都是拼接操作,并产生一个新的字符串。

注意:字符串前面数字会相加,字符串后边数字就会拼接,并不会相加了,由于发现有字符串参与。

②自增自减运算符:

符号 说明
++ 变量的值加一

-- 变量的值减一

注意:

符号在前,先变值,再赋值;
符号在后,先赋值,再变值。

③赋值运算符:

符号 说明 举例

= 直接赋值 int a = 10,将10赋值给a

+= 加后赋值 a+=b,将a+b的值给a

-= 减后赋值 a-=b,将a-b的值给a

*= 乘后赋值 a*=b,将a×b的值给a

/= 除后赋值 a/=b,将a÷b的商给a

%= 取余赋值 a%=b,将a÷b的余数给a

④关系运算符(也叫做比较运算符):

符号 说明 结果

否等于b就是== a==b 判断a

!= a!=b 判断a是否不等于b

> a>b 判断a是否大于b
成立(true) 不成立(false)
>= a>=b 判断a是否大于等于b

否小于b就是< a<b 判断a

<= a<=b 判断a是否小于等于b

⑤逻辑运算符:

符号 作用 说明

true)就是& 与(而且) 同时成立才是符合要求的(同时满足,结果才

| 或(或者) 只要有一个符合要求即可(二选一)

! 非(取反) 取反(取反)


⑥短路逻辑运算符:

符号 作用 案例 说明

&& 短路与 a>1 && a<10 左边为false,右边不执行

|| 短路或 a<1 || a>10 左边为true,右边不执行

⑦三元运算符:

格式:关系表达式?表达式1:表达式2;

计算规则:
成立(true) 表达式1
先计算关系表达式的值
不成立(false) 表达式2

⑧运算符的优先级:

记住一点:小括号优先于所有。