JAVA运算符练习题答案
1A
char类型的值可以赋值给int类型的变量。隐含的宽转换会把该值转换位一个int值。
2D
赋值语句是一个表达式语句。右边的表达式的值是表达是语句的值。由于赋值运算 符是右结合的,因此a=b=c=20语句的计算方式如下:(a = ( b = ( c = 2 0 )))。其 结果是2 0被赋值给变量c ,然后同样的值被赋值给变量b ,并最终赋值给变量a o
3C
字符串是对象。变量ab、和c是可以表示这样的对象的引用。给引用赋值将只 改变引用的值。他不会创建源对象的副本,也不会改变目的引用的旧引用值所指示的对 象。换句话说,给引用赋值只会对引用表示哪个对象产生影响。
4A复合赋值运算符的含义、DE
带有任何浮点操作数的二元表达式将利用浮点算法來计算。像2 / 3这样两个操作 数都是整型的表达式,将利用整点算法计算得出整数值。
5B
/运算符的优先级比+运算符更高。这意味着该表达式是以((1/2) + (3/2) +0.1) 的方式计算的。对于给定的((1/2) + (3/2) +0.1),二元运算符是从左到右结合的。整 数除法得到(0+1+0.1),最终得出的值为1.1
6^ As C^ D
+运算符的左结合性使得(1+2+”歹)的计算以如下方式进行:(1+2) + “3” 一〉3+ “3” —) “33”。而(“1” +2+3)是以下面的方式进行计算的:(“1” +2) +3—“12”
+3—“123”(4+1.Of)计算得到4.0f+1.0f—50f(10/9)执行整数除法,得到值1。 表达式(S' +1)中的操作数'a'会转换成int,而最终得到的值也是int类型的。
7D
Charint类型都是整数的。Char值可以赋值给int变量,因为int类型比char类 型更宽,并且会进行隐含的宽化转换。Int类型不能赋值给char变量,因为char类型比 int类型更窄。在标记(4)的行中,编译器会报告可能损失精确度的错误。
8C
Byte类型的变量可以存储・128~127范围的值。
9A
首先计算表达式++i得到值,此吋变量i的值也是2 o这样赋值的目标就确定为元 素arrayI2jo计算右边的表达式一i,得到值1。现在变量i的值为1。然后走遍表达式的 值1被赋值给元素array[2],使得数组的内容变成{4, 8, 1}。程序求这些值的和,并打 印出13
10AC
逻辑或(|)是有一个是真结果就为真。逻辑与(&)是有一个是假结果就为假。 Null字符可以比较,因此(null! =null)为假。
11BCE
求余运算符不只限于整数值,他还可以在浮点操作数上应用。Java中的标识符是区 分大小写的。运算符*、/及%具有相同的优先级。Short类型所包插的范围是 ■3276832767( + 15)是一个使用一元+运算符的合法表达式。
12ACE
逻辑异或(八)是两个相同的boolean值的比较的结果是false,两个不同的boolean 值得比较结果是trueo
13B
A[i]所引用的元素是由当前i的值决定的,当前i值为0,所引用的元素也就是a[0]o 计算表达式匸9得到值9,该值将被赋值给变量i。数组元素劭0]也被赋予值9。执行了 该语句的时候,变量i包含的值就是9,而数组a将包含值96
14CD
和&以及|运算符比一样,当运算的结果可以由第一个操作i数来确定时,&&和|| 运算符会绕过其操作数的计算。由于计算绕过,因此程序中||运算符的第二个操作数根 本不用计算。其它运算符的所有操作数都要进行计算。
15、    BF
如果针对第一个参数进行有符号和无符号右移一位的结果不同,那么test ()方法 会打印其笫二个参数。这些运算的唯一差别在于,当进行有符号位移时,最左边的位将 保持不变,而不会被赋予0值。因此,只有当最左边的位的值为1时,运算的差别才会 比较明显。对于传递给test ()方法的值而言,只有表达式1«31 (即000)的 结果和-1 (111)的值的最左边的位被设置了。
Java的运算符>>和>>〉用于有符号和无符号的右移运算。对于左移而言,有符号和 无符号值得位移是没有差别的。因此,java只有一个左移运算符,即在java中vvv 不是运算符。Java有布尔复合赋值运算符&二,不过在java中&&二不是运算符。
17BCDE
所有的表达式都会返回同样的结果。所有的表达式都是用于负值,并且x可以是任 意int类型的值。不过,表达式A不会将结果赋值回给变量X
18B
实际参数i++的计算得到0,并且在此过程中i增加1。在方法调用期间,0值被 复制到addTwo ()方法的形式参数i中。不过,对于该方法而言,形式参数是局部的, 改变其值不会影响实际参数的值。Main()方法中变量i的值仍然为1
19B
本题考察的重点是java语言中规定的对字符串重载的操作。+和+二这两个操作对字 符串对象进行重载。用于支持两个字符串的串联操作。
20CDE
本题考察的重点是赋值语句的正确使用,其核心是类型的合法转换。&为按为运算 符的与操作,对两个整数变量中对应的位执行布尔与预算。由于可以将布尔类型值当作 一个单比特值
对待,所以可以将布尔型值按位运算,因此选项AB正确。选项C中 不能将一个布尔型值(0>3)赋予一个整形变量。选项D40.0默认类型为double,因 此不能赋予比它小的float型变量,而选项E不能把一个整数型转化成一个布尔型值。
21A
本题考察的重点是对象之间的比较。关系运算符二二也适用于所有的对象,但含义 不同于基本类型的数值比较。其比较的是两个对彖的句柄(内存地址),而不是两个对 象的内容。本题中尽管变量blb2引用的对象内容相同,但由于句柄(内存地址)不 同,所以选项A的表达式返冋的是false,而不是trueo要想比较两个对象的内容是否 一致,应采用适合所有对象的特殊方法equals (),但此方法不适用于基础类型,基础 类型直接使用关系运算符二二即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。