第2章 Java编程基础_补充案例(3)

2019-06-11 12:56

博学谷——让IT教学更简单,让IT学习更有效

逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型。为了加深初学者对逻辑运算符的印象,本案例定义一个变量x,使用逻辑运算符连接表达式x>1和x<5,通过运行结果分析逻辑运算符的运算规则。

4、 设计思路(实现原理)

1) 编写一个类Example08

2) 在main方法下定义变量x,其初始值为3

2)使用逻辑运算符连接两个布尔型的表达式x>1和x<5 3)使用println语句输出运算结果

二、案例实现

定义Example08类,其代码如下:

class Example08 { }

public static void main(String[] args) { }

int x = 3;

System.out.println(x>1 & x<5); System.out.println(x<1 | x<5); System.out.println(x>1 ^ x>5); System.out.println(!(x<1));

运行结果如图2-9所示。

图2-9 运行结果

三、案例总结

在使用逻辑运算符的过程中,需要注意以下几个细节:

1、逻辑运算符可以针对结果为布尔值的表达式进行运算。如:x > 3 && y != 0。

2、运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。当运算符“&”和“&&”的右边为表达式时,两者在使用上还有一定的区别。在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。

3、运算符“|”和“||”都表示或操作,当运算符两边的操作数任何一边的值为true时,其结果为true,当两边的值都为false时,其结果才为false。同与操作类似,“||”表示短路或,当运算符“||”的左边为true时,右边的表达式不会进行运算。

4、运算符“^”表示异或操作,当运算符两边的布尔值相同时(都为true或都为false),其结果为false。

11

博学谷——让IT教学更简单,让IT学习更有效 当两边布尔值不相同时,其结果为true。

案例2-9 位运算符

一、案例描述

1、 考核知识点

编 号:00102012 名 称:位运算符

2、 练习目标

? 了解位运算符的运算规则

? 掌握使用位运算符进行逻辑运算

3、 需求分析

位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。请使用不同的位运算符对十进制的3和4进行运算。

4、 设计思路(实现原理)

1) 将十进制3和4换算成二进制数

2) 使用不同的位运算符对3和4进行位运算 3) 编写一个类Example09

4) 在main方法下输出3和4进行不同的位运算后的结果 5)对比运算结果,判断运算是否正确

二、案例实现

1、将3和4换算成二进制数:3的二进制为00000011;4的二进制为00000100 2、&:位与运算:

00000100

&

00000011

————————— 00000000 所以,4&3=0

3、|:位或运算符

00000100

|

00000011

————————— 00000111 所以,4 | 3=7

4、^:异或运算符

00000100

^

00000011

—————————

00000111 所以,4 ^ 3=7

12

博学谷——让IT教学更简单,让IT学习更有效 5、~:按位取反

00000011 ~:11111100 原码:1 1111100 反码:1 0000011 补码:1 0000100 所以:~3=-4

6、<<:左移

00000011 <<2 ————————— 00001100

所以:3<<2=12

7、定义Example07类,其代码如下:

class Example09 { }

public static void main(String[] args) { }

System.out.println(4&3); System.out.println(4|3); System.out.println(4^3); System.out.println(~3);

System.out.println(3<<2);

运行结果如图2-10所示。

图2-10 运行结果

由此可见,二进制位运算与程序运算的结果一致。

三、案例总结

Java中的位运算符以及其范例如下错误!未找到引用源。所示。 运算符 运算 范例 0 & 0 0 & 1 1 & 1 1 & 0 0 | 0 0 | 1 结果 0 0 1 0 0 1 13

& 按位与 | 按位或 博学谷——让IT教学更简单,让IT学习更有效

1 | 1 1 | 0 ~ 取反 ~0 ~1 0 ^ 0 ^ 按位异或 0 ^ 1 1 ^ 1 1 ^ 0 << >> >>>

左移 右移 无符号右移 00000010<<2 10010011<<2 01100010>>2 11100010>>2 01100010>>>2 11…11100010>>>2 1 1 1 0 0 1 0 1 00001000 01001100 00011000 11111000 00011000 0011…111000 案例2-10 运算符的优先级

一、案例描述

1、 考核知识点

编号:00102013

名称:运算符的优先级

2、 练习目标

? 掌握运算符之间的优先级

3、 需求分析

当使用不同的运算符进行运算时,应该按照一定的顺序进行运算,即根据运算符的优先级进行运算。为了让初学者掌握运算符的优先级,本案例将通过表达式的运算,讲解运算符的优先级。

4、 设计思路(实现原理)

1) 编写一个类Example10

2) 在main方法中定义两个int型变量x和y 3) 将表达式3>2*x?x++:--x赋值给y 4) 用输出语句分别输出变量x和y的值

二、案例实现

定义Example10类,其代码如下:

class Example10 {

public static void main(String[] args) {

int x=1;

14

博学谷——让IT教学更简单,让IT学习更有效

int y=0;

y=3>2*x?x++:--x;

System.out.println(x); System.out.println(y); } }

运行结果如图2-11所示。

图2-11 运行结果

三、案例总结

1、本案例中表达式的运算过程如下所示:

1) 在表达式y=3>2*x?x++:--x;中赋值运算符=的优先级最低,所以要先运算=右侧的表达式; 2) ?:为三元运算符,该运算符的优先级较低,要先运算?前面的表达式。

3) *的优先级比>的高,所以3>2*1为true。按照三元运算符的运算规则表达式等价于y=x++ 4) x++的++在后面,所以要先进行其它运算再自增,最后结果为x=2,y=1

2、下表列举了Java中运算符的优先级,数字越小优先级越高。 优先级 1 2 3 4 5 6 7 8 9 10 11 12 13 14 运算符 . [] () ++ -- ~ ! (数据类型) * / % + - << >> >>> < > <= >= == != & ^ | && || ?: = *= /= %= += -= <<= >>= >>>= &= ^= |= 2、其实没有必要去刻意记忆运算符的优先级。由于运算符“()”的优先级最高,编写程序时,尽量使用括号“()”来实现想要的运算顺序,以免产生歧义。

15


第2章 Java编程基础_补充案例(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新高考生物一轮复习第十单元生物技术实践第35讲生物技术在食品加

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: