课题名称
项目2:购物清单打印
计划学时
12课时
内容分析
学做任何事情,都要打好基础。同样地,要掌握并熟练使用Java语言,必须充分了解Java语言中的基础知识。本项目将针对Java的基本语法、Java中的变量、运算符进行详细地讲解。
教学目标及基本要求
要求学生掌握Java的基本语法、掌握Java中常量和变量的使用、掌握变量的作用域、掌握变量的类型转换。
重点及措施
教学重点:变量的作用域。
难点及措施
教学难点:短路与和与运算的区别,短路或和或运算的区别。
教学方式
“做,学,教” 三位一体教学。
第一,二,三课时
(Java代码的基本格式、注释、标识符、关键字和常量)
Java代码的基本格式
Java中的代码分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。
Java语言是严格区分大小写的。
在编写程序代码时,尽量做到整齐、美观、层次清晰,使用代码保持一种良好的格式,提高可读性。
Java中的注释
单行注释
单行注释是对程序中的某一行代码进行解释,用符号“//”表示。“//”后面为被注释的内容,具体示例如下:
    int c = 10;      // 定义一个整型变量
多行注释
多行注释以符号“/*”开头,以符号“*/”结尾,具体示例如下:
/*  int c = 10;
    int x = 5; */
文档注释
以“/**”开头,并在注释内容末尾以“*/”结束。文档注释是对代码的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。
Java中的标识符
什么是标识符
在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如,包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
定义标识符的规则
包名所有字母一律小写。例如:st。
类名和接口名每个单词的首字母都要大写。
例如:ArrayList、Iterator
常量名字母都大写,单词之间用下划线连接。
例如:DAY_OF_MONTH
变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。
例如:lineNumber、getLineNumber
在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。
例如:使用userName表示用户名,passWord表示密码
Java中的关键字
关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留
字。下列是Java中所有的关键字。
Java中的常量
整型常量
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式,具体表示形式如下:
二进制:由数字0 和1 组成的数字序列。例如:0001101100
八进制:以0开头并且其后由0 ~7范围的整数组成的数字序列。
十进制:由数字0~9范围的整数组成的数字序列。如:198。
十六进制:以0x或0X开头并其后由0~9、A~F组成的数字序列。
浮点数常量
浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。单精度浮点数后面以F或f结尾,双精度浮点数则以D或d结尾。具体示例如下:
    2e3f  3.6d  0f  3.84d  5.022e+23f
字符常量
字符常量用于表示一个字符,字符常量要用一对英文半角格式的单引号(' ')引起来,具体示例如下:
    'a'  '1'  '&'  '\r' '\u0000'
注意:'\u0000'表示一个空白字符,即在单引号之间没有任何字符。
字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(" ")引起来,具体示例如下:
    "HelloWorld"  "123"  "Welcome \n XXX" ""
布尔常量
布尔常量即布尔型的两个值true和false,用于区分一个事物的真与假。
null常量
null常量只有一个值null,表示对象的引用为空。
第四、五、六课时
(变量的定义、变量的数据类型、变量的类型转换、变量的作用域)
变量的定义
在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元我们称之为变量,具体示例如下:
int x = 0,y;
y = x+3;
第一行代码的作用是定义了两个变量x和y,相当于分配了两块内存单元,变量x和y在内存中的状态如图:
第二行代码的作用是为变量赋值,在执行第二行代码时,程序首先取出变量x的值,与3相加后,将结果赋值给变量y,此时变量x和y在内存中的状态如图:
                 
变量的数据类型
数据类型分类
   
整数类型变量
整数类型变量用来存储整数数值,即没有小数部分的值。整数类型分
为4种不同的类型,所占存储空间的大小以及取值范围如下表所示:
类型名
占用空间
  取值范围
byte
8位(1个字节)
-227-1
short
16位(2个字节)
-215  215-1
int
32位(4个字节)
-231  231-1
long
64位(8个字节)
-263  263-1
浮点数类型变量
浮点数类型分为两种:单精度浮点数(float)、双精度浮点数(double),
两种浮点数所占存储空间的大小以及取值范围如下表所示:
类型名
占用空间
  取值范围
float
32位(4个字节)
1.4E-45 ~ 3.4E+38,-1.4E-45  ~ -3.4E+38
double
64位(8个字节)
4.9E-324 ~1.7E+308, -4.9E-324  ~ -1.7E+308
字符类型变量
字符类型变量用于存储一个单一字符,在Java中用char表示。为字符类型变量赋值,具体代码如下:
char c = 'a'; // 为一个char类型的变量赋值字符'a'
char ch = 97; // 为一个char类型的变量赋值整数97,相当于赋值字符'a'
布尔类型变量
布尔类型变量用来存储布尔值,在Java中用boolean表示,该类型的变量只有两个值,即true和false。具体示例如下:
boolean flag = false;    // 声明一个boolean类型的变量,初始值为false
flag = true;              // 改变flag变量的值为true
变量的类型转换
自动类型转换
自动类型转换是两种数据类型在转换的过程中不需要显式地进行声明。实现自动类型转换,必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。例如:
byte b = 3;
int x = b;  // 程序把byte类型的变量b转换成了int类型,无需特殊声明
强制类型转换
当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时,需要进行强制类型转换,具体格式如下:
目标类型  变量 = (目标类型)值
变量的作用域
变量需要在它的作用范围内才可以被使用,作用范围称为变量的作用域。接下来通过一个代码片段来分析变量的作用域,具体如下:
上面的代码中,有两层大括号。其中,外层大括号所标识的代码区域就是变量x的作用域,内层大括号所标识的代码区域就是变量y的作用域。
第七、八、九课时
(算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符及优先级)
算术运算符
Java中的算术运算符就是用来处理四则运算的符号,下表列出Java中的算术运算符及其用法。
运算符
运算
范例
结果
+
正号
+3
3
-
负号
b=4;-b;
-4
+
5+5
10
-
6-4
2
3*4
12
/
5/5
1
%
求余数
7%5
2
++
自增(前)
a=2;b=++a;
a=3;b=3;
++
自增(后)
a=2;b=a++;
a=3;b=2;
--
自减(前)
a=2;b=--a
a=1;b=1;
--
自减(后)
a=2;b=a--
a=1;b=2;
赋值运算符
赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。下表列出了Java中的赋值运算符及其用法。
运算符
运算
范例
结果
=
赋值
a=3;b=2;
a=3;b=2;
+=
加等于
a=3;b=2;a+=b;
a=5;b=2;
-=
减等于
a=3;b=2;a-=b;
a=1;b=2;
*
乘等于
a=3;b=2;a*=b;
a=6;b=2;
/=
除等于
java arraylist用法
a=3;b=2;a/=b;
a=1;b=2;
%=
模等于
a=3;b=2;a%=b;
a=1;b=2;
比较运算符
比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值。下表列出了Java中的比较运算符及其用法。
运算符
运算
范例
结果
==
相等于
4 == 3
false
!=
不等于
4 != 3
true
<
小于
4 < 3
false
>
大于
4 > 3
true
<=
小于等于
4 <=
false
>=
大于等于
4 >= 3
true
逻辑运算符
逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型。下表列出了Java中的逻辑运算符及其用法。
运算符
运算
范例
结果
&
按位与
0 & 0
0
0 & 1
0
1 & 1
1
1 & 0
0
|
按位或
0 | 0
0
0 | 1
1
1 | 1
1
1 | 0
1
~
取反
~0
1
~1
0
^
按位异或
0 ^ 0
0
0 ^ 1
1
1 ^ 1
1 ^ 0
1
<<
左移
00000010<<2
00001000
10010011<<2
01001100
>>
右移
01100010>>2
00011000
11100010>>2
11111000
>>>
无符号右移
01100010>>>2
00011000
1111100010>>>2
0011…111000
运算符的优先级
在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参
与运算的先后顺序,我们把这种顺序称作运算符的优先级。下表列出了Java中运算符的优先级,数字越小优先级越高。
优先级
运算符
1
.  []  ()
2
++  --  ~  !  (数据类型)
3
*  /  %
4
+  -
5
<<  >>  >>>
6
<  > <=  >=
7
==  !=
8
&
9
^
10
|
11
&&
12
||
13
?:
14
*=  /=  %=  +=  -=  <<= >>= >>>= &= ^= |=
第十、十一、十二课时
(综合实训:商场购物清单打印)
1、总结本章内容
2、通过题库发放相关测试题,检查学生掌握情况。
3、上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。
综合实训:商场购物清单打印
实训目的:
掌握标识符和注释的使用
掌握不同类型变量的赋值
掌握JAVA输出语句的使用
商场中有多种水果售卖,种类不同的水果单价不同。
假设客户从商场买了重量不同的苹果,橙子和香蕉三种水果,要求打印的购物清单中列出商品名称,单价,数量和价格明细,并计算总价和最终的会员折扣价(会员打九折)。具体清单如下图所示。
    请编程实现上述功能。
思考题和讨论
见资源库课程

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