资源简介 (共25张PPT)单元五 包、数组和字符串授课学时:8学时主讲:教学目标教学重点与难点新课导入与项目展示项目1-学生成绩管理系统项目2- String及StringBuffer项目3-定义包和导入包主要内容教学目标知识目标Java包的概念、作用;关键字import和package ;一维数组、二维数组的声明、创建和初始化方式;String类;StrnigBuffer类;技能目标掌握包的创建方式、导入方式;可以熟练使用一维和二维数组;能在程序中熟练使用String类;能在程序中熟练使用StringBuffer类;能熟练使用常见API类解决实际编程问题;教学重点及难点教学重点包的创建和使用一维和二维数组的应用教学难点具体程序中包的嵌套应用String和StringBuffer的区别新课导入与项目展示项目1:学生成绩管理系统。项目2:String及StringBuffer项目3:定义包和导入包项目描述项目展示任务1-1:学生成绩计算任务分析定义长度为5的数组,给数组元素赋值,通过循环完成累加求和,输出总分,测试运行,计算出平均分,求出高于平均分的成绩信息并打印。任务1-1:学生成绩计算相关知识点一维数组的声明:格式1:数组元素类型 数组名[];格式2:数组元素类型[]数组名;例如:int a[];float b[];一维数组的创建:步骤为:数组元素类型 数组名字[];数组名字=new 数组元素类型 [数组元素的个数];将声明与创建两步合并为一步来完成数组创建格式为:数组元素类型 数组名字[]=new 数组元素的类型[数组元素的个数];如:int array[] = new int[10];// 创建一个长度为10的int型数组array任务1-1:学生成绩计算相关知识点一维数组的使用及初始化:创建好一维数组之后,引用一维数组元素格式 如下:数组名[下标]如:int a[]=new int[4];a[0]=78;a[1]=98;a[2]=87;a[3]=9;任务1-1:学生成绩计算实例5-2、5-3:一维数组的应用【学习目标】熟悉一维数组的声明、创建和初始化。【知识要点】掌握一维数组的创建语法。【完成步骤】1.编写程序;2.编译并运行程序。任务1-1:学生成绩计算任务实施代码实现:【程序文件:S.java】技能拓展任务在使用new运算符创建数组后,系统会给数组的每个元素赋默认值,对于整形数据,数组元素的默认值为0,对于浮点型数据,数组元素的默认值为0.0,对于布尔型数据,数组元素的默认值为false,对于字符型数据,数组元素的默认值为’\u0000’,而对于所有的对象类型(包括字符串类型)数据,数组元素的默认值为null。任务1-2:实现学生成绩管理系统任务分析存储学生的名字用字符串数组name表示,数据如下:{"李明","王凡","陈欢","李琳","史光"};存储学生各科成绩使用二维整数数组grade,数据如下:{{28,70,58,78,76,88},{89,76,56,90,78,65},{50,80,79,67,65,93},{67,89,68,80,70,75},{80,76,86,69,87,92}};任务1-2:实现学生成绩管理系统相关知识点二维数组的声明及使用:二维数组与一维数组类似。二维数组初始化步骤如下:数组元素类型 数组名[][];数组名=new 数组元素的类型[行下标][列下标];数组名 [行下标][列下标]=初值;二维数组的简化定义格式如下:数组元素类型 数组名字[][]={{值1,值2,…值m},{值1,值2,…值n }…,{ 值1,值2,…值p }};任务1-2:实现学生成绩管理系统实例5-8、5-9:二维数组的应用【学习目标】熟悉二维数组的声明、创建和初始化。【知识要点】掌握二维数组的创建语法。【完成步骤】1.编写程序;2.编译并运行程序。任务1-2:实现学生成绩管理系统任务实施代码实现:【程序文件:ArraySortComparehen.java】技能拓展任务在创建二维数组时至少要为第一维分配空间,即不能以如下方式创建:数组名=new 数据类型[][];任务2-1:字符串连接操作任务分析在程序中使用append()方法可以进行字符串的连接,而且此方法返回了一个StringBuffer类的实例,这样就可以采用代码链的形式一直调用append()方法。任务2-1:字符串连接操作相关知识点字符串常量:与整型等基本数据类型的数据有常量和变量之分一样,字符串也分为常量与变量。字符串常量是指其值保持不变的量,是位于一对双引号之间的字符序列,如“hello”。字符串变量:定义格式:String 字符串变量;字符串变量=new String();或String 字符串变量=new String();字符串赋值::String s1=“hello”;String s1=new String(“hello”);任务2-1:字符串连接操作相关知识点String类常见方法:length():返回字符串的长度;charAt(int index):获取指定位置的字符;indexOf(String str):返回第一次出现的指定子字符串在此字符串中的索引;subString(int index1,int index2):返回在此字符串中,从第index1个位置开始,到第index2-1个位置结束的子字符串,返回值的数据类型为String。equal(Object obj):比较字符串与指定的对象,当且仅当参数不为null,且与此对象相同的字符序列的String对象时,结果才为true。compareTo(String str)功能:将此字符串与Str表示的字符串进行大小比较,返回值为int型。如果大,返回正值;如果小,返回负值;如果两者相等,返回0。任务2-1:字符串连接操作实例5-11:String类的应用【学习目标】熟悉String类对象的创建和初始化。【知识要点】掌握String类方法的使用。【完成步骤】1.编写程序;2.编译并运行程序。任务2-1:字符串连接操作相关知识点StringBuffer类:StringBuffer类和String类一样,也可用于代表字符串,但对于StringBuffer对象的每次修改都会改变对象自身,这是和String类最大的区别。StringBuffer类位于java.lang基础包中,使用StringBuffer类不需要特殊的导入语句。StringBuffer类常见方法:append(String str):用于将指字的字符串追加到此字符序列;insert(int offset,String str):用于将字符串插入字符序列中;replace(int start,String str):用于将字符串中的从start开始到end-1结束的字符串替换为子字符串str;substring(int start,int end):返回一个新的String,String包含此字符序列当前所包含的字符子序列;delete(int start,int end):用于移除此字符序列的子字符串。任务2-1:字符串连接操作任务实施代码实现:【程序文件:StringBufferDemo01.java】技能拓展任务编写程序将从键盘输入的文本中的子字符串“you”替换为“your”,并将所有出现的子字符串“are”删除;任务3-1:多个类放入同一包中任务分析定义X1类,将此类放入bag包中;定义X2类,将此类放入bag包中;任务3-1:多个类放入同一包中相关知识点import(导入包):用于选择哪个包下的Java类;格式:import 包名.类名/接口名;package(定义包):用于声明一个Java包;格式:package 包名1[.包名2.[包名3…]];注意:package关键在一定要在整个类定义的第一行;在定义package的时候,包名全部要小写;任务3-1:多个类放入同一包中实例:import和package的应用【学习目标】熟悉import和package关键字。【知识要点】掌握导入包和创建包的语法格式。【完成步骤】1.编写程序;2.编译并运行程序。任务3-1:多个类放入同一包中任务实施代码实现:【程序文件:X1.java】【程序文件:X2.java】【程序文件:Pack.java】任务3-1:多个类放入同一包中技能拓展任务Java修饰符:public 修饰符:表示公有,可以修饰类、属性和方法。如果定义变量或方法时,使用了public修饰符,则可以被包内其他类、对象以及包外的类和对象方法使用。private修饰符:只能修饰成员变量和成员方法。使用private声明的变量和方法只能由其所在的类使用,其他的类和对象不能使用,封装就是利用这一特性使属性私有化。protected修饰符:protected修饰符表示受保护,只能用于修饰成员变量和成员方法,不能修饰类。受保护的变量和方法的访问权限被限制在类本身、包内的所有类和其所在的类派生出的子类(可以在同一个包中,也可以在不同包中)范围内。default修饰符:如果一个类、方法或变量名前没有使用任何访问控制符,则该成员拥有的是默认的访问控制符。默认的访问控制成员可以被其所在包中的其他类访问,故称为包访问特性。 展开更多...... 收起↑ 资源预览