2022.8.30 记录学习java的第5天,主要学习了java中基本数据类型的转换和运算符的认识使用。
1.数据类型转换
基本数据类型转换有两种:自动类型转换、强制类型转换。
1.1 自动类型转换
小范围类型的数据可以直接存储到大范围类型的变量中。
1.2 强制类型转换
大范围类型的数据存储到小范围类型的变量中时,会出现两种情况,即:能存储得下,输出原来的值;不能存储得下,输出错误的值,称之为数据精度丢失。大范围转小范围时,在变量值前面加上需要转换的数据类型。
2.运算符
2.1 赋值运算符:=
结构:变量名=表达式;//将表达式的结果通过赋值运算符存储到变量中。
案例:使用“=”和变量实现数据的交换
2.2 算术运算符
基本运算符 | + | 和运算,a+b |
- | 减运算,a-b | |
* | 乘运算,a*b | |
/ | 除运算,a/b,结果取商 | |
% | 取模运算/取余运算,a%b | |
++ | 自增1运算 | |
-- | 自减1运算 | |
复合运算符 | += | 自加运算,a+=b的含义是:a=a+b。如a+=10;//a+10后再赋值给a |
-= | 自减运算,a-=b的含义是:a=a-b | |
*= | 自乘运算,a*=b;//a=a*b | |
/= | 自除运算,a/=b;//a=a/b,a/b的商赋值给a | |
%= | 自取余运算,a%=b;//a=a%b,a%b的余数赋值给a |
2.2.1 ++、--运算符
1.对于单独的变量来说,++、--在变量前,变量后的意义都是一样的,都表示自+1,自-1。
2.++和--修饰的变量参与运算时,位置不同,意义也不同。++在变量前时,变量先+1,再参与运算;++在变量后时,变量先参与运算,再+1。
2.2.2 +=、-=运算符
a+=10;//a=a+10,将a增加10后,再赋值给a。即:将变量增加一定值后再赋值给a
2.3 关系运算符
关系运算符有:>、<、>=、<=、==、!=(不等于)
关系运算符的输出结果类型是Boolean,要么是true,要么是false。
规则:1. >、<、>=、<=的优先级要高于==、!=
2.>、<、>=、<=只支持数值型的关系比较
2.4 逻辑运算符
逻辑运算符有:&(与)、|(或)、!(非)、&&(双与/短路与)、||(双或/短路或)
规则:
1.参与逻辑运算的表达式结果必须是布尔值;
2.逻辑运算符的输出结果是布尔值,要么为true,要么为false;
3.&、|是双目运算符,&、|左右两边参与运算的表达式结果都得是布尔值,!是单目运算符,只需要!右边是布尔值
2.4.1 运算规律
1.&和&&的运算规律:只有当&或者&&的左右两边结果都是true时,输出结果才是true;
2.|和||的运算规律:只要|和||左右两边有一边结果是true,输出结果就是true;
3.!的运算规律:!true的结果是false,!false的结果是true。
2.4.2 &和&&、|和||的区别
1.&和&&区别:&&具有短路功能,只有当&&左边的表达式结果为true时,&&右边的表达式才参与运算,进而得到最终输出结果;&不具有短路功能,不论&的左边表达式结果如何,右边都参与运算。
2.|和||区别:||具有短路功能,当||左边表达式的结果为true时,||右边不再参与运算,最终输出结果为true;|不具有短路功能,无论|左边表达式结果如何,右边都参与运算。
2.5 条件运算符(三目运算符/三元运算符)
2.5.1基本概念
语法结构:条件?表达式1:表达式2;
注:问号、冒号都是英文状态。
执行规律:条件为true,执行表达式1;条件为false,执行表达式2。
2.5.2案例展示
2.5.3扩展
条件运算符可以嵌套使用,条件运算符中的表达式还可以是条件运算符。