java学习笔记20210928
一、运算符
1.算数运算符:++i/i++(重点)
1)无论是++在变量前还是后,运算结果都是自加1;
3)i++:++在变量i 后,先赋值再运算;
4)赋值概念有传值的含义,结合赋值的本质是先运行等号的右边,再传给等号左边的变量;
例子1:int i =100;
++i;
System.out.println(++i); //102
System.out.println(i); //102
例子2:int i =100;
i++;或者++i;
System.out.println(i++); //101
System.out.println(i); //102
2. 关系运算符:>、 >=、<、<=、==、!=
1)关系运算符的结果都是Boolean;
2)>=、<=、==、!= 中间不能有空格
3) = 为赋值运算符,==为等于运算符
3. 逻辑运算符
&----逻辑与(并且之意)
|----逻辑或(或者之意)
!----逻辑非(取反之意)
&&----短路与
||---短路或
写法: 100 > 99 &100 > 90;
1)逻辑运算符要求两边都是Boolean,并且运算的结果也是Boolean;
2)与或非的概念;与--同时为真才为真;或---只要一个为真则为真;非--取反即可;
3)&&---短路与
短路与和与运算的结果没有任何区别
什么是短路现象?什么时候会发生短路?
当时用&时,第一个表达式(左边的表达式)为false,原则上右边的表达式无需执行,即可判断该表达式整体运算结果为false,这时候直接使用&&即可;从计算机角度节省空间,提高效率来讲,短路与在于提高运算效率。
建议以后开发中大部分情况下使用&&,但是在左边表达式执行且右边表达式也需要执行是用&;
短路或类似短路与,第一个表达式为true时,直接使用||;因为只要一个为true,则运算结果为true。
什么时候使用&?
什么时候使用&&?
4.赋值运算符
基本赋值运算符=,扩展运算符有+=、-=、/=、*=、%=
等号右边的优先级高于左侧边;
+= : int k = 10;
k += 20; 理解为给k追加20, k = k +20;
System.out.println(k); //30
研究: i += 10 与 i= i +10 真的完全相等吗?
只能说近似相等,其实本质上不是完全相同;
原因是:算术运算的类型问题; byte x = 10; x = x+1;(1是int类型)
语法机制:使用扩展运算符的时候,永远都不会改变运算结果类型;
byte x = 10; x += 1;x += 1可以视为 x= (byte)(x +1);
5. 条件运算符--三目运算
语法格式: 布尔表达式?表达式1:表达式2
执行原理:布尔表达式的结果为true时,表达式1的执行结果作为整个表达式的结果;布尔表达式的结果为false时,表达式2的执行结果作为整个表达式的结果。
注意:三目运算仅是表达式,并非Java语句,需要以变量的形式赋值给变量接收,不然会报错。不是java语句!
6. 赋值运算符
+有两层意思:一是算术求和;二是字符串拼接
凡是+任意一边是字符串或者字符字面量,则为拼接,结果也是一个新的字符串或者字符。

浙公网安备 33010602011771号