java学习笔记20210928

一、运算符

1.算数运算符:++i/i++(重点)

1)无论是++在变量前还是后,运算结果都是自加1;

2)++i:++在变量i 前,先运算再赋值;

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. 赋值运算符

+有两层意思:一是算术求和;二是字符串拼接

凡是+任意一边是字符串或者字符字面量,则为拼接,结果也是一个新的字符串或者字符。

 

 

 

 

 

 

 

 

posted @ 2021-09-28 23:48  robert_s  阅读(50)  评论(0)    收藏  举报