专题一 Java语言概述及开发基础(三)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)

2024-09-18
| 12页
| 186人阅读
| 1人下载
精品

内容正文:

Java语言概述及开发基础(三) [考纲要求] 考试内容: 运算符与表达式。 知识点要求: 5.掌握赋值运算符、算术运算符、自增/自减运算符、关系运算符、逻辑运算符等的运用。 6.掌握表达式的组成规则、表达式运算中的类型转换、优先级和结合性。 [课时安排] 2课时 [知识梳理] 一.运算符 Java的运算符代表着特定的运算指令,在程序运行时连接的操作数进行相应的运算。 Java 中提供了丰富的运算符,按照功能划分主要有赋值运算符、算术运算符、关系运算符、逻辑 运算符、条件运算符、位运算符等; 按照操作数的多少可划分为一元运算符、二元运算符和 三元运算符。 二.赋值运算符 赋值运算符属于双目运算符,用于将一个表达式的值赋给一个变量。赋值运算符的右侧是表达式,左侧是变量。 赋值运算符的优先级较低,是14级,结合方向自右到左。 1. 简单赋值运算符 (=): 将右侧表达式的值赋给左侧的变量。 示例:int a = 10; 2. 扩展赋值运算符: 将右侧表达式的值与左侧变量的当前值进行某种运算,然后将结果赋给左侧变量。 示例: int a = 10; a += 5; // a 现在是 15 int a = 10; a -= 5; // a 现在是 5 int a = 10; a *= 5; // a 现在是 50 int a = 10; a /= 5; // a 现在是 2 int a = 10; a %= 5; // a 现在是 0 三.算术运算符 算术运算符是数学中最常用的一类运算符,Java 中算术运算符包括+、一、*、/、%。 其中加减运算符优先级别要低于乘、除、求余运算,正、负值运算符优先级别要高于乘、 除、求余、加、减。 1. 加法运算符 (+): 加法运算符用于将两个操作数相加。 示例:int a = 10 + 5; // a 现在是 15 2. 减法运算符 (-): 减法运算符用于从第一个操作数中减去第二个操作数。 示例:int a = 10 - 5; // a 现在是 5 3. 乘法运算符 (*): 乘法运算符用于将两个操作数相乘。 示例:int a = 10 * 5; // a 现在是 50 4. 除法运算符 (/): 除法运算符用于将第一个操作数除以第二个操作数。 示例:double a = 10 / 5; // a 现在是 2.0 5. 取模运算符 (%): 取模运算符用于计算两个操作数的余数。 示例:int a = 10 % 5; // a 现在是 0 6. 正号(+): 在数学运算中,正号表示正数。 实例:+10; 7. 负号(-): 在数学运算中,负号表示负数。 在算术运算中,负号可以用于取反操作,即将一个数的符号反转。 实例:+10; 示例:int a = 10; a = -a; // a 现在是 -10 四.自增、自减运算符 在Java中,自增(++)和自减(--)运算符用于自动增加或减少变量的值。这些运算符有两种形式:前缀形式和后缀形式。 1. 自增运算符(++): 前缀形式:在执行表达式之前增加变量的值。 示例:int a = 10; int b = a++; // b 现在是 10, a 现在是 11 在这个例子中,a 先被赋予 10,然后 a 的值增加 1,但是 b 使用的 a 的原始值。 后缀形式:在执行表达式之后增加变量的值。 示例:int a = 10; int b = ++a; // b 和 a 现在都是 11 在这个例子中,a 的值先增加 1,然后 b 使用新的 a 值。 2. 自减运算符(--): 前缀形式:在执行表达式之前减少变量的值。 示例:int a = 10; int b = a--; // b 现在是 10, a 现在是 9 在这个例子中,a 先被赋予 10,然后 a 的值减少 1,但是 b 使用的 a 的原始值。 后缀形式:在执行表达式之后减少变量的值。 示例:int a = 10; int b = --a; // b 和 a 现在都是 9 在这个例子中,a 的值先减少 1,然后 b 使用新的 a 值。 五.关系运算符 在Java中,关系运算符用于比较两个值,并返回一个布尔值(true 或 false)。这些运算符通常用于条件语句(如if、while和do-while)中,以根据比较结果决定执行路径。 六.逻辑运算符 在Java中,逻辑运算符用于组合多个布尔表达式,以生成新的布尔表达式。 七.位运算符 位运算符用于对二进制位进行操作,只能对整数和字符型数据进行操作(这些数据类型在底层都是以二进制形式存储的,可以进行位级别的操作),所得结果一定是整数。 八.表达式 在Java中,表达式是由运算符、变量、常量等组成的,用于计算结果并生成新的值。表达式可以是简单的,也可以是复杂的,是程序中执行计算的基础。 // 算术表达式 int a = 5; int b = 3; int sum = a + b; // 结果是 8 int product = a * b; // 结果是 15 // 赋值表达式 int value = 10; value += 5; // 赋值表达式,将 15 赋给 value // 关系表达式 int x = 10; int y = 20; boolean isGreater = x > y; // 结果是 false // 逻辑表达式 boolean isEqual = (x == y) || (x != y); // 结果是 true // 条件表达式 int max = (x > y) ? x : y; // 结果是 20 // 位运算表达式 int bitwiseAnd = x & y; // 结果是 0 int bitwiseOr = x | y; // 结果是 30 九.优先级和结合性 在Java中,运算符的优先级和结合性决定了表达式中运算符的执行顺序。运算符的优先级定义了当一个表达式中包含多个运算符时,它们被计算的顺序。结合性定义了具有相同优先级的运算符之间的结合顺序。 [限时练习] 1.下列选项中,不属于Java中赋值运算符的是( ) A. = B. += C. * D. %= 【答案】C 【解析】选项C * 是乘法运算符,不属于赋值运算符。 2. 在Java中,以下关于自增运算符的说法,错误的是( ) A. 自增运算符有两种形式:前缀形式和后缀形式 B. 前缀形式会在使用变量值之前增加变量的值 C. 后缀形式会在使用变量值之后增加变量的值 D. 自增运算符只能用于变量,不能用于表达式 【答案】D 【解析】 自增运算符可以用于变量,也可以用于表达式,例如 (a++) * 2。 3. 在Java中,下列表达式中,结果为true的是( ) A. 10 > 20 && 20 < 10 B. 10 > 20 || 20 < 10 C. !(10 == 20) D. 10 != 10 && 20 < 10 【答案】C 【解析】选项C表示10不等于20,结果为true。 4在Java中,以下关于位运算符的说法,正确的是( ) A. 位运算符只能用于整数和字符型数据 B. 位运算符运算的结果一定是整数 C. 位运算符运算的结果一定是布尔值 D. 位运算符运算的结果一定是浮点数 【答案】B 【解析】 位运算符运算的结果一定是整数,因为它们是对二进制位进行操作。 5. 在Java中,以下关于运算符优先级的说法,正确的是( ) A. 逻辑或运算符的优先级高于逻辑与运算符 B. 逻辑运算符的优先级高于关系运算符 C. 关系运算符的优先级高于赋值运算符 D. 赋值运算符的优先级最高 【答案】C 【解析】 A 选项中,逻辑与运算符 && 的优先级高于逻辑或运算符 ||。B 选项中,逻辑运算符的优先级低于关系运算符。D 选项中,赋值运算符的优先级较低。 6.自增运算符的前缀形式和后缀形式功能完全相同,只是执行顺序不同。( ) 【答案】错误 【解析】自增运算符的前缀形式和后缀形式虽然都会使变量的值增加 1,但它们的执行顺序不同,导致最终结果可能不同。前缀形式 ++a; 先增加 a 的值,再进行后续操作;后缀形式 a++; 先进行后续操作,再增加 a 的值。 7.逻辑运算符 && 和 & 都表示逻辑与运算,可以互相替换使用。( ) 【答案】错误 【解析】逻辑运算符 && 表示短路逻辑与,只有当左侧表达式为 true 时才会计算右侧表达式。而 & 运算符会计算两边表达式的值,不管左侧表达式的结果如何。。 8.位运算符不可以对浮点数进行操作。( ) 【答案】正确 【解析】位运算符只能对整数和字符型数据进行操作,不能对浮点数进行操作。因为浮点数在内存中是以指数形式存储的,不能直接进行位运算。 9.Java 中的算术运算符中,乘法运算符的优先级高于加法运算符。( ) 【答案】正确 【解析】 在 Java 中,算术运算符的优先级从高到低依次为:单目运算符(++,–)、乘法运算符(*)、除法运算符(/)、求余运算符(%)、加法运算符(+)、减法运算符(-)。因此,乘法运算符的优先级确实高于加法运算符。 10.阅读以下代码, int a = 10; int b = 20; int result = a + b * 2 - a % b; result的值为( )。 【答案】 40 11.阅读以下代码, int a = 10; int b = 20; int result = (a++ + ++b) * 2; result的值为( )。 【答案】 62 12.阅读以下代码, int a = 10; int b = 20; boolean result = (a > b) && (a < b * 2); result的值为( )。 【答案】false 13.阅读以下代码, int a = 10; int b = 20; boolean result = (a++ == b--) || (a < b); result的值为( )。 【答案】true 14.阅读以下代码, int a = 0b1010; // 二进制 1010 int b = 0b1100; // 二进制 1100 int result = a & b; result的值为( )。 【答案】8 15.阅读以下代码, int a = 0b1010; // 二进制 1010 int result = a << 2; result的值为( )。 【答案】40 16阅读以下代码, int a = 10; int b = 5; int result = a / b; result的值为( )。 【答案】2 17阅读以下代码, int a = 10; int b = 3; int result = a % b; result的值为( )。 【答案】1 [归纳小结] 学科网(北京)股份有限公司 $$

资源预览图

专题一 Java语言概述及开发基础(三)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
1
专题一 Java语言概述及开发基础(三)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
2
专题一 Java语言概述及开发基础(三)(讲义)-《计算机程序设计》(电工版第二版)高考备考讲练测(吉林省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。