第3章 运算符和表达式 Flashcards

1
Q

运算符和表达式概述

A
1、运算符
对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数。
按运算符的操作数的数目划分,可分为
(1)一元运算符;
(2)二元运算符;
(3)三元运算符。
按运算符的功能划分,可以分为
(1)算术运算符;
(2)关系运算符;
(3)布尔逻辑运算符;
(4)位运算符;
(5)赋值运算符;
(6)条件运算符;
(7)其他。
2、表达式
表达式是同操作数和运算符按一定的语法形式组成的符号序列。
表达式的类型指的是表达式运算结束后的值的类型,由运算符以及参与运算的操作数的类型决定。
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

算术运算符和算术表达式

A
1、一元算术运算符
一元算术符涉及的操作数只有一个,由一个操作数和一元算术运算符构成一个算术表达式。一元算术运算符共有4种,如下所示。 
运 算 符 名 称 表 达 式 功 能 
\+ 一元加 + op1 取正值 
- 一元减 - op1 取负值 
\++ 增量 ++op1,op1++ 加1 
-- 减量 --op1,op1-- 减1 
一元加和一元减运算符仅仅表示某个操作数的符号,其操作结果为该操作数的正值或负值。
增量运算符将操作数加1,如对浮点数进行增量操作,则结果为加10。
减量运算符将操作数减1,如对浮点数进行减量操作则结果为减10。
2、二元算术运算符
二元算术运算符共有5种,如下所示。
运 算 符 表 达 式 名称及功能 
\+ op1 + op2 加 
- op1 - op2 减 
* op1 * op2 乘 
/ op1 / op2 除 
% op1 % op2 模数除(求余) 
3、算术运算符的优先级
在稍微复杂一些的算术表达式中,算术运算符的优先级按下面次序排列:++和--的级别最高,然后是*和/以及%,而+和-的级别最低。此外,为了增强程序的可读性,通过括号可以明显地改变运算的顺序。
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

关系运算符和关系表达式

A
关系运算符都是二元运算符,共有6种,如下所示。
运 算 符 表 达 式 功 能 返回true值时的情况 
> op1>op2 比较op1是否大于op2 op1大于op2 
< op1 比较op1是否小于op2 op1小于op2 
>= op1>=op2 比较op1是否大于等于op2 op1大于等于op2 
<=op2 比较op1是否小于等于op2 op1小于等于op2 
== op2==op2 比较op1是否等于op2 op1等于op2 
!= op1!=op2 op1和op2不要等性测试 op1不等于op2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

布尔逻辑运算符和布尔逻辑表达式

A

布尔逻辑运算符共有3种,即逻辑与(&&)、逻辑或(||)和逻辑非(!),其操作结果也都是布尔型的。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

位运算符和位运算表达式

A
1、位逻辑运算符
  (1)按位取反运算符。
(2)按位与运算符&。
(3)按位或运算符|。
(4)按位异或运算符⌒。
(5)不同长度的数据进行位逻辑运算。
2、移位运算符
(1)算术右移运算符〉〉。
(2)算术左移运算符〈〈。
(3)逻辑右移运算符〉〉〉。
3、位运算符的优先级
在复杂一些的位运算表达式中,位运算符的优先级顺序排列如下:~的优先级最高,其次是〈〈、〉〉和〉〉〉,然后是&,再次是⌒,最后是|。
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

赋值运算符和赋值表达式

A
(1)赋值运算符。
赋值运算符(=)把一个表达式的值赋给一个变量,在赋值运算符两侧的类型不一致情况下,如果左侧变量类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型后赋给左侧变量:否则,需要使用强制类型转换运算符。
(2)扩展赋值运算符。
Java中扩展赋值运算符及等价的表达式。
运 算 符 表 达 式 等效表达式 
\+= op1+=op2 op1=op1+op2 
-= op1-+op2 op1+op1-op2 
*= op1*=op2 op1=op1*op2 
/= op1/op2 op1=op1/op2 
%= op1%=op2 op1=op1%op2 
&= op1&=op2 op1=op1&op2 
|= op1|=op2 op1=op1|op2 
⌒= op1⌒=op2 op1=op1⌒op2 
〉〉= op1〉〉=op2 op1=op1〉〉op2 
〈〈= op1〈〈op2 op1=op1〈〈op2 
〉〉〉= op1〉〉〉=op2 op1=op1〉〉〉op2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

条件运算符与条件表达式

A

条件运算符是三元运算符,用“?”和“:”表示。三元条件表达式的一般形式为:
expressionl? expression2:expression3
其中表达式expression1应该是关系或布尔逻辑表达式,其计算结果为布尔值。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

运算符的优先级和复杂表达式

A
Java中运算符的优先级顺序。如下:
优 先 次 序 运 算 符 优 先 次 序 运 算 符 
1 [ ]() 9 & 
2 ++ -- ! ~ instanceof 10 ^ 
3 new(type) 11 | 
4 * / % 12 && 
5 + - 13 ‖ 
6 〉〉 〉〉〉 〈〈 14 ?: 
7 〉 〈 〉= 〈= 15 = += -= *= /= %= ^= 
8 == != 16 &= |= 〈〈= 〉〉= 〉〉〉=
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

表达式语句

A

在由++和–运算符形成的一元算术表达式和赋值表达式后加上分号可直接作为语句来使用,这种由表达式直接构成的语句叫做表达式语句。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly