java教材课件04

上传人:xh****66 文档编号:61934605 上传时间:2018-12-15 格式:PPT 页数:61 大小:1.17MB
返回 下载 相关 举报
java教材课件04_第1页
第1页 / 共61页
java教材课件04_第2页
第2页 / 共61页
java教材课件04_第3页
第3页 / 共61页
java教材课件04_第4页
第4页 / 共61页
java教材课件04_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《java教材课件04》由会员分享,可在线阅读,更多相关《java教材课件04(61页珍藏版)》请在金锄头文库上搜索。

1、1,第4章 数组和字符串,掌握 Java 中的 数组概念、 声明、 创建、初始化 与 使用; 熟练掌握 Java 的数组编程方法; 掌握 Java 中字符串的概念; 熟练掌握 Java 中 String 类、StringBuffer 类中的有关方法应用; 了解向量的声明、添加、修改、删除等操作。,教学目的要求,2,常见编程错误 与在其他编程语言(例如C或C+)中声明数组不同, Java 数组的元素个数不能在数组名后的方括号中定义, 否则将导致语法错误。如, 声明“int c12;”,会产生语法错误。,Common Programming Error 5.2 Unlike C or C+ the

2、 number of elements in the array is never specified in the square brackets after the array name in a declaration. The declaration int c12; causes a syntax error.,3,数组 array,是一组连续的存储单元, 且每个成员均有相同的名称和类型。 An array is a group of contiguous memory locations that all have the same name and the same type.

3、带下标的数组名是一个左值,可放在赋值语句的左边,以便将一个新值放入数组元素中。 A subscripted array name is an lvalue it can be used on the left side of an assignment to place a new value into an array element.,4,声明数组和给数组分配空间 Declaring and Allocating Arrays,int c = new int12; int c; C = new int12; String b = new String100, x=new String27;

4、 double array1 = new double10, array2 = new double20;,5,int a = new int50; / a 数组创建之后的内存模式,a0= 25;,存入数值25,25,6,String student = new String52; / student 数组创建之后的内存模式,student0= new String(“张倩倩”);,7,4.1 数组,一维数组 声明一维数组有两种格式: 格式一:数组元素类型 数组名 格式二:数组元素类型 数组名 为数组分配内存空间的格式如下: 数组名 = new 数组元素的类型数组的长度; 数组的初始化 创建数

5、组后,系统会给每个元素一个默认的值,也可以在声明数组的同时给数组一个初始值,称之为初始化。例如: int num = 2, 5, 4, 1 ;,8,4.1 数组,一维数组 数组的使用 数组的访问,比如:student 0=18 数组的复制,例如: int num = 9, 8, 3, 0, 2; int numCopy =num; numCopy2 = 9; 一维数组中元素的个数:数组名.length,9,一维数组应用举例,例4.1逐个输入并计算10个学生的平均成绩。,import java.io.*; public class Li4_01 public static void main(S

6、tring args) throws IOException int k, count=10; /count为学生的个数 float score=new floatcount; /学生的成绩数组 float floatSum=0.0f, floatAver=0.0f; /学生的总成绩和平均成绩 String str; BufferedReader buf=new BufferedReader(new InputStreamReader( System.in) ); for(k=0;kcount;k+) System.out.print(“请输入第“+(k+1)+“个学生的成绩:“); str=

7、buf.readLine(); scorek=Float.parseFloat(str); floatSum+=scorek; floatAver=floatSum/count; System.out.println(“这“+count+“个同学的平均成绩是:“+floatAver); ,10,The Pascaline The first calculating machine, invented by Blaise Pascal in 1640.,Yves Serra Copyright, 1997,11,Solution by 2-Dimension Array,a06=1; for (

8、 For(,aij=ai-1j-1+ai-1j+1;,12,遍历一维数组,public class T public static void main(String args) int a = 1,2,3,4,5,6,7,8,9,10; int sum = 0; for (int i =0; ia.length;i+) sum += ai; System.out.println(“数组a中所有元素数值的总和: “ + sum); ,数组a中所有元素数值的总和: 55,13,遍历一维数组,public class T public static void main(String args) in

9、t a = 1,2,3,4,5,6,7,8,9,10; int sum = 0; for (int i =0; ia.length;i+) sum += ai; System.out.println(“数组a中所有元素数值的总和: “ + sum); ,for(int aa:a) 读作: 数组 a 里的整形变量 aa,自JDK1.5,可改写为:,数组a中所有元素数值的总和: 55,14,The for-each and equivalent for statements have these forms. The two basic equivalent forms are given, de

10、pending one whether it is an array or an Iterable that is being traversed. In both cases an extra variable is required, an index for the array and an iterator for the collection.,When you see the colon (:) read it as “in.” The loop above reads as “for each type var in c.”,15,public class Foreach0 pu

11、blic static void main(String args) String b = “西施“,“王昭君“,“貂禅“,“杨贵妃“; for (int i=0; i4; i+) System.out.println(“曾经青史留名:“ + bi); ,曾经青史留名:西施 曾经青史留名:王昭君 曾经青史留名:貂禅 曾经青史留名:杨贵妃,16,public class Foreach1 public static void main(String args) String belle = new String4; belle0 = “西施“; belle1 = “王昭君“; belle2 =

12、“貂禅“; belle3 = “杨贵妃“; for (String b : belle) System.out.println(“曾经青史留名:“ + b); ,曾经青史留名:西施 曾经青史留名:王昭君 曾经青史留名:貂禅 曾经青史留名:杨贵妃,17,public class ForTest2 public static void main(String args) String arr = “伦理“, “创新“, “品质“, “绩效“, “成功“,“学院“,“成功“,“学园“, “河南“,“巩义“,“洛河“,“文化“, “Ethics“,“Creation“,“Quality“,“Perfo

13、rmance“,; for(String a : arr) for(String b : a) System.out.println(b); System.out.println(); ,伦理 创新 品质 绩效 成功 学院 成功 学园 河南 巩义 洛河 文化 Ethics Creation Quality Performance,18,4.1 数组,多维数组 声明二维数组有两种格式: 数组元素类型 数组名; 数组元素类型 数组名; 二维数组的初始化 数组名 = new 数组元素的类型 数组的行数数组的列数; int a = new int2040; 类型 数组名=初值表1,初值表2, 初值表n

14、,; int b = 1,2,3,4,5,6,7,8,9,19, 二维数组的初始化方法 数组名.length 或 数组名行号.length 例: int a; a = new int5; for (i=0;i5;i+) ai= new int10;,20,public class T public static void main(String args) int a= 1,2,3,4,5,6,7,8,9,10; int sum=0; System.out.println(“第一行的长度: “ + a0.length); System.out.println(“第二行的长度: “ + a1.l

15、ength); System.out.println(“第三行的长度: “ + a2.length); for (int i=0;ia.length;i+) for (int j=0; jai.length;j+) sum += aij; System.out.println(“二维数组a中所有元素数值的总和:“ + sum); sum =0; ,第一行的长度: 5 第二行的长度: 2 第三行的长度: 3 二维数组a中所有元素数值的总和:55,/在Java的二维数组,允许各行有不同的元素个数,21,4.1 数组: 多维数组,教材例4.3 : 任意二维数组转置,public class Li4_03 public static void main(String args) int j,k,temp, aH=3, aL=4, bH, bL; bH=aL;/b数组的行数,应该等于a数组的列数 bL=aH;/b数组的列数,应该等于a数组的行数 int a=new intaHaL; int b=ne

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号