java4数组字符串向量.ppt
《java4数组字符串向量.ppt》由会员分享,可在线阅读,更多相关《java4数组字符串向量.ppt(64页珍藏版)》请在三一办公上搜索。
1、第4章 数组、字符串、向量与哈希表,本章总体纲要,数组字符串字符串缓冲区向量哈希表,数组,由相同类型的若干项数据组成例如:public static void main(String args)其中args是String类型的数组占用连续的内存地址数组的静态性一旦创建就不能修改数组的长度类似于动态数组的类型类Vector长度可以变大或缩小,数组声明,一维数组变量的声明格式有如下两种:(1)数组元素的数据类型 变量名;(2)数组元素的数据类型 变量名;示例:int c;String names;int c;String names;,内存分配,Java数组实际上也是对象,所以可通过new 关键字
2、来创建示例:int c;/声明c=new int12;/创建对象,并分配内存声明时不必指定数组的大小上面的两个语句可以简化成一个语句int c=new int12;,声明和初始化数组,声明数组 type arrayName;或 type arrayName;给数组分配内存(也叫初始化)arrayName=new typesize;可以在同一条语句中对数组声明并初始化 type arrayname=new typesize;如何获得数组的长度?数组名.length,数组元素的初始化,基本数据类型的元素初始化为0值或false非基本数据类型的元素初始化为null 可以采用循环结构初始化数组示例:d
3、ouble squares;squares=new double100;for(int i=0;i squares.length;i+)squaresi=i*i;,示例,使用数组可以通过数组名与下标每个数组元素类似于普通的变量c 0=3;c 0+=5;,下标,有时也称为索引必须是整数或整数表达式,例如:c11注:表达式可以是常数、变量、以及由常数、变量和运算符组成的式子,通过初始化语句创建数组,Java语言允许通过数组的初始化语句创建数组示例:int n=10,20,30,40,50;上面语句创建了一个含有五个元素的数组下标值分别为0,1,2,3,4这时不需要运算符new,注意事项,当通过循环
4、遍历数组时下标永远不要低于0下标永远要比数组元素个数小当数组下标出错,Java 产生 ArrayIndexOutOfBoundsException,数组作为输入参数,数组可以作为方法的输入变量(形式参数)和返回值,在声明它们时必须用空括号,而且不能指定其大小。数组是引用类型,将其作为输入参数(即形参),在方法内对它的数据元素所作的改变将影响到方法外,public class AaaryParameters public static void changeOrNot(int i,double x)i=-1;x0=-2.0;double y=x;y1=-3.0;double z=-4,-4,-4
5、;x=z;public static void main(String args)int k=1;double A=1.0,2.0,3.0;changeOrNot(k,A);System.out.println(“k:+k);System.out.println(“A0:+A0);System.out.println(“A1:+A1);System.out.println(“A2:+A2);,运行结果:A0:-2.0A1:-3.0A3:3.0,多维数组,最常用的多维数组是二维数组 int a=new int34;二维数组可以理解成如下图示的表格,行的下标值,列的下标值,示例 1,类似于一维数组
6、进行二维数组的声明、创建(内存分配)与初始化示例:class J_FillArray public static void main(String args)int matrix=new int45;for(int row=0;row 4;row+)for(int col=0;col 5;col+)matrixrowcol=row+col;/内部for循环结束/外部for循环结束/方法main结束/类J_FillArray结束,示例 2,通过初始化语句创建数组示例:double c=1.0,2.0,3.0,4.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0;,注意事项,Ja
7、va的多维数组实际上是数组的数组即创建以数组为元素的数组意味着:二维数组的每一行可以具有不同的列数示例:int a;a=new int 3;/allocate rowsa 0=new int 3;/allocate row 0a 1=new int 2;/allocate row 1a.length 行数a i.length 第i行列数,三维数组,思维的扩展:一维数组二维数组三维数组示例:class J_Fill3DArray public static void main(String args)int M=new int453;for(int row=0;row 4;row+)for(in
8、t col=0;col 5;col+)for(int ver=0;ver 3;ver+)Mrowcolver=row+col+ver;/内部for循环结束/for循环结束/外部for循环结束/方法main结束/类J_Fill3DArray结束,注意事项,Java允许数组的维数为:三、四、或更大但是,慎用高维数组甚至三维数组在实际的应用中也比较少出现,本章总体纲要,数组字符串字符串缓冲区向量哈希表,String的基本知识,String与C语言不同:字符(char)数组不是字符串(String)String数值不必以u0000结束,String 直接量,String 直接量双引号括起来的字符序列示
9、例:“Hello”或“您好字符串赋值可以在声明时赋值String c=blue;c是String类型的变量blue是String直接量,String 构造,类 String共有11个构造方法,其中两个不被赞成使用(deprecated)参见docsindex.html,创建String对象常用的三种方法,String():初始化一个新的String对象 String s1=new String();s1=“您好”;String(String value):初始化一个新的String对象,使其包含与参数字符串相同的字符序列 String s2;s2=“您好”;以上两句常合并为一句:String
10、s2=“您好”;String(char value):分配一个新的String对象,使它代表字符数组参数包含的字符序列 char c=您,好;String s3=new String(c);,示例,/J_StringConstructors.java;开发者:雍俊海/字符串构造方法例程public class J_StringConstructors public static void main(String args)String s1=null;String s2=new String();String s3=您好!;String s4=new String(s3);System.out
11、.println(s1:+s1);System.out.println(s2:+s2);System.out.println(s3:+s3);System.out.println(s4:+s4);/方法main结束/类J_StringConstructors结束,练习:使用数组存储一个英文句子:“Java is an objected oriented programming language”,显示该句子,并算出每个单词的平均字母数。,问题分析:为了算出每个单词的平均字母数,需要把字符总数除以单词数,public class AverageCharacters public static v
12、oid main(String args)String s=“Java”,“is”,“an”,“object”,“oriented”,“programming”,“language”;int numChars=0;for(int i=0;is.length;i+)System.out.print(si);numChars+=si.length();();System.out.println(“Total chars:+numChars);(“Total words:+s.length);System.out.println(“Avg.chars:+(double)numChars/s.leng
13、th);,String 方法:length(),charAt()和 getChars(),方法 length()返回 String 的长度与数组不同之处:Strings不含有 length成员域方法charAt(int index)获得字符串指定位置的字符方法getChars(int srcBegin,int srcEnd,char dst,int dstBegin)拷贝字符串的部分字符序列到指定的字符数组的指定位置,字符串比较,字符串(String)比较字符类型的数据也是数值类型数据比较字符串大小,实际上就是依次比较其所包含的字符的数值大小小写字母与大小字母是不相同的,=运算符,当用于基本数
14、据类型时,用于判别是否相等当用于引用数据类型时,用来判别引用是否指向相同的对象Java虚拟机中含有字符串池(直接量在此池内),相同内容的字符串直接量相同的对象s1=“hello”;/字符串直接量s2=new String(hello);s1=hello;/trues2=hello;/false,字符串(String)比较方法,boolean equals(Object anObject)比较当前的字符串与指定的对象比较结果为真当且仅当给定的参数不为空,并且具有完全相同的字符序列 例如:s1.equals(Hi);boolean equalsIgnoreCase(String anotherSt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java4 数组 字符串 向量

链接地址:https://www.31ppt.com/p-6509257.html