第2章 Java编程基础 - 补充案例 下载本文

博学谷——让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

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

案例2-11 if条件语句

一、案例描述

1、 考核知识点

编号:00102014 名称:if条件语句

2、 练习目标

? 掌握if条件语句的语法格式 ? 了解if条件语句的执行流程

3、 需求分析

if…else if…else语句用于对多个条件进行判断,进行多种不同的处理。为了让初学者掌握if…else if…else语句的用法,本案例将使用if…else if…else语句实现判断某月是哪个季节的功能。 设计思路(实现原理) 1)编写一个类Example11

2)定义一个变量month用于存储月份。

3)用if条件语句,判断这个月份在哪一个季节并输出结果,如:春季是3、4、5月,夏季是6、7、8月,秋季是9、10、11月,冬季是12、1、2月

4)由于一年只有12个月,所以要过滤除1-12以外的月份值

二、案例实现

定义Example11类,其代码如下:

class Example11 {

public static void main(String[] args) {

int month = 3;

if(month == 3 || month == 4 || month == 5) { }

else if(month == 6 || month == 7 || month ==8) { }

else if(month == 9 || month == 10 || month ==11) { }

else if(month == 1 || month == 2 || month ==12) {

16

System.out.println(month+\月是秋季\System.out.println(month+\月是夏季\System.out.println(month+\月是春季\