目录
活动地址:CSDN21天学习挑战赛
学习继续,每天进步一点点…
类型范围小的变量,可以直接赋值给类型范围大的变量。
byte → short → int(char) → long → float → double
存在不同类型的变量赋值给其他类型的变量
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
byte 、short、char → int → long → float → double
注意事项:
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char 是直接转换成int类型参与运算的。
类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
- // 数据类型 变量2 = (数据类型)变量1、数据
- int a = 20;
- byte b = (byte)a;
注意事项
强制类型转换可能造成数据(丢失)溢出;
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
运算符:对字面量或者变量进行操作的符号。
| 符号 | 作用 | 说明 |
| + | 加 | 参考小学一年级 |
| - | 减 | 参考小学一年级 |
| * | 乘 | 参考小学二年级,与“×”相同 |
| / | 除 | 与“÷”相同,注意:在Java中两个整数相除结果还是整数。 |
| % | 取余 | 获取的是两个数据做除法的余数 |
“+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。能算则算,不能算就在一起。
| 符号 | 作用 | 说明 |
| ++ | 自增 | 变量自身的值加1 |
| -- | 自减 | 变量自身的值减1 |
注意
++ 和 -- 既可以放在变量的后边,也可以放在变量的前边。++、--如果不是单独使用(如在表达式中、或者同时有其它操作),放在变量前后会存在明显区别。
非单独使用:放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
非单独使用:放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
++ 、-- 只能操作变量,不能操作字面量的。
int a = 10; // 先看“=”右边,把数据10赋值给左边的变量a存储。
| 符号 | 作用 | 说明 |
| += | 加后赋值 | a+=b 等价于 a = (a的数据类型)(a+b); 将a + b的值给a |
| -= | 减后赋值 | a-=b 等价于 a = (a的数据类型)(a-b); 将a - b的值给a |
| *= | 乘后赋值 | a*=b 等价于 a = (a的数据类型)(a*b); 将a * b的值给a |
| /= | 除后赋值 | a/=b 等价于 a = (a的数据类型)(a/b); 将a / b的商给a |
| %= | 取余后赋值 | a%=b 等价于 a = (a的数据类型)(a%b); 将a % b的商给a |
注意:扩展的赋值运算符隐含了强制类型转换。
是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)
| 符号 | 说明 |
| == | a==b,判断a和b的值是否相等,成立为true,不成立为false |
| != | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
| > | a>b,判断a是否大于b,成立为true,不成立为false |
| >= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
| < | a |
| <= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。
| 符号 | 介绍 | 说明 |
| & | 逻辑与 | 必须都是true,结果才是true; |
| | | 逻辑或 | 只要有一个为true、结果就是true |
| ! | 逻辑非 | 你真我假、你假我真。 |
| ^ | 逻辑异或 | 如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true |
| 符号 | 介绍 | 说明 |
| && | 短路与 | 判断结果与“&”一样。过程是左边为“&”一样。过程是左边为 false,右边则不执行。 |
| || | 短路或 | 判断结果与“|”一样。过程是左边为true, 右边则不执行。 |
格式:条件表达式 ? 值1 : 值2;
执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
在表达式中,哪个运算符先执行后执行是要看优先级的,例如 “*、/” 的优先级高于”+、-” 。
下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部。
| 类别 | 操作符 | 关联性 |
|---|---|---|
| 后缀 | () [] . (点操作符) | 左到右 |
| 一元 | expr++ expr-- | 从左到右 |
| 一元 | ++expr --expr + - ~ ! | 从右到左 |
| 乘性 | * /% | 左到右 |
| 加性 | + - | 左到右 |
| 移位 | >> >>> << | 左到右 |
| 关系 | > >= < <= | 左到右 |
| 相等 | == != | 左到右 |
| 按位与 | & | 左到右 |
| 按位异或 | ^ | 左到右 |
| 按位或 | | | 左到右 |
| 逻辑与 | && | 左到右 |
| 逻辑或 | | | | 左到右 |
| 条件 | ?: | 从右到左 |
| 赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 从右到左 |
| 逗号 | , | 左到右 |