[高中教育]02-java语言基础 - 数组向量字符串 2

上传人:油条 文档编号:49551910 上传时间:2018-07-30 格式:PPT 页数:120 大小:1.09MB
返回 下载 相关 举报
[高中教育]02-java语言基础 - 数组向量字符串 2_第1页
第1页 / 共120页
[高中教育]02-java语言基础 - 数组向量字符串 2_第2页
第2页 / 共120页
[高中教育]02-java语言基础 - 数组向量字符串 2_第3页
第3页 / 共120页
[高中教育]02-java语言基础 - 数组向量字符串 2_第4页
第4页 / 共120页
[高中教育]02-java语言基础 - 数组向量字符串 2_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《[高中教育]02-java语言基础 - 数组向量字符串 2》由会员分享,可在线阅读,更多相关《[高中教育]02-java语言基础 - 数组向量字符串 2(120页珍藏版)》请在金锄头文库上搜索。

1、NCEPU第二章Java 语言基础*Contents1.数组 3.向量 2.字符串NCEPU复合数据类型 *复合数据类型早期的程序设计语言把变量看作是孤立的东西,例如我们往往用三个整数变量day,month和year来表示日期int day, month, year; 虽然这种方法容易理解,但是有两个明显的缺点: *复合数据类型v 程序若要处理多个日期,则需要更多的说明,例如要保存两个生日,则需要:birthday1, birthmonth1, birthyear1birthday2, birthmonth2, birthyear2该程序因使用了多个变量而变得混乱,并且占用了过多的命名空间。

2、v 每个变量都是独立的,而其实它们应当是某一个日期的组成部分,这样定义无法体现整体的联系。 *复合数据类型v复合数据类型由程序员在源程序中定义,把描述整个对象各个不同方面的变量放到一个定义中,建立该模型。一旦有了定义,就可以使用该类型名来创建变量。 vJava是面向对象的程序设计语言,它为用户提供的复合数据类型即类 和 接口。*复合数据类型v引用类型(reference type即复合类型)n引用型变量的值与基本类型(简单类型)变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保存着变量所表示的一个值或一组值。引用在其他语言中称为指针或内存地址。Java不支持显式使用内存地址,而必须

3、通过变量名对某个内存空间地址进行访问。*两种类型变量的不同处理int a;a=12;MyDate today;today.day=14;引用型变量在声明后必须通过实例化实例化开辟数据空间,才能对变量所指向的对象进行访问.MyDate today;today=new MyDate ();today.day=14;*关于对象和对象的“引用”vString s=new String(“a String”); An object of String is created The object is initialized w/”a String” A variable as handle to Str

4、ing is created The value of the handle variable is assign to the objectString s;sa StringNCEPU数组和字符串 *第一节 数组 v 数组概述 v 一维数组 v 二维数组*数组概述 v数组,是由数目固定的、相同类型的元素组成的有序集合,每个元素相当于一个变量。 v在Java中,数组是最简单的复合数据类型*数组概述 v数组元素可以是任意类型,可以是简单类型,也可以是引用类型。 v访问数组中的某个元素,可以通过数组名加下标的形式,例如:a4。 v数组下标的个数就是数组的维数: 有一个下标就是一维数组,有两个下标

5、就是二维数组,依次类推。 *一维数组 一个一维数组实际上是一列相同类型的变量 v 一维数组的声明v 一维数组的创建v 一维数组初始化v 数组边界*a null 一维数组的声明声明一维数组的格式是: ;或 ;例如:int a 或:Date d 例如:int a 或:Date dint a 5 是不正确的要声明成:int a 或:int a 此时的数组a中的元素个数没有确定,系统没有创建具体的数组对象,而是声明了一个指向数组的引用 *一维数组的声明v将表示数组的跟随在数组类型之后java特有 这种格式中,在数组标志”后出现的所有变量都是数组类型的引用。如:char s,m,n; /声明了三个字符数

6、组的引用*所有的引用类型都需要用所有的引用类型都需要用newnew来初始化来初始化一维数组的创建创建一维数组的格式为:= new ;Java中没有静态定义的数组,数组的内存都是通过new动态分配的。 例如:a = new int 5;此时系统创建了具体的数组对象,为每个数组元素分配了具体的内存单元,并进行了默认的初始化0x03456789a0a0 0a1 0a2 0a3 0a4a = new int 5; *一维数组的创建数组的声明和创建可以同时进行: = new ;或 = new ; 例如: int a = new int 5;或:int a = new int 5;*public clas

7、s Testpublic static void main(String args)int s;s=new int 5;for (int i=0;imax) max = num i ;if (num i b) t=a; a=b; b=t; if (bc) t=b; b=c; c=t; if (ab) t=a; a=b; b=t; System.out.println(“The order is“+a+“,“+b+“,“+c);The order is 21,27,34*class Orderpublic static void main (String args )int a=34, b=21

8、, c=27, t;if (ab) t=a; a=b; b=t; if (bc) t=b; b=c; c=t; if (ab) t=a; a=b; b=t; System.out.println (a + b + c);The order is 82*class Orderpublic static void main (String args )int a=34, b=21, c=27, t;if (ab) t=a; a=b; b=t; if (bc) t=b; b=c; c=t; if (ab) t=a; a=b; b=t; System.out.println(“The order is

9、“ + a + b + c);The order is 212734*String构造方法的使用举例public static void main(String args) String s,s1,s2,s3,s4,s5,s6,s7;byte byteArray =(byte)J,(byte)a,(byte)v,(byte)a;char charArray = 程,序,设,计,课,程;StringBuffer sb = new StringBuffer(“欢迎“);s = new String(“Hello!“);s1 = new String(); s2 = new String(s); s

10、3 = new String(sb); s4 = new String(charArray); s5 = new String(charArray,2,4); s6 = new String(byteArray); s7 = new String(byteArray,0,1); Hello!Hello! 欢迎 程序设计课程 设计课程 Java J*String类 - 2String类的常用方法 vJava为String类定义了许多方法,可以通过下述格式调用Java定义的方法: .; *常用方法-字符串比较方法方法说明 boolean equalsIgnoreCase (String value

11、)比较两个字符串,忽略大小写int compareTo(String value)比较两个字符串,返回两者之间的差值。 如果两个字符串相等,则返回 0。boolean startsWith(String value)检查 一个字符串是否以另一个字符串开 始boolean endsWith(String value)检查 一个字符串是否以另一个字符串结 束*方法说明int indexOf ( int ch)返回字符ch在字符串中出现的第一个位置int lastIndexOf ( int ch)返回字符ch在字符串中出现的最后一个位置int indexOf(String str)返回子串str首字

12、符在字符串中第一次出现的位置int lastindexOf(String str)返回子串str首字符在字符串中最后出现的位置常用方法-搜索字符和字符串*常用方法-字符串提取、连接、替换等方法方法说明public char charAt(int index) 从指定位置提取单个字符,该位置由索引指定, 索引中的值必须为 非负public String substring(int index) 提取从位置索引开始的字符串部分public String substring(int beginindex, int endindex) 提取 beginindex 和 endindex 位置之间的字符串

13、 部分public String concat(String str) 连接两个字符串,并新建一个包含调用字符串的 字符串对象public String replace(char old, char new) 将调用字符串中出现某个字符的所有位置都替换 为另一个字符public String trim() 将调用字符串的前后空格删掉public String toLowerCase()把串中的所有字符转换 成小写。public String toUpperCase()把串中的所有字符转换 成大写。String split(String regex) 根据给定正则表达式的匹配拆分此字符串。*St

14、ring类 - 2String类的常用方法 vint length ( ) 返回字符串的长度 System.out.println (s1.length();例如: String s1 = “Hello“;5char charAt ( int index ) 返回字符串中index位置的字符System.out.println ( s1.charAt (1) ); e*String类 - 2String类的常用方法 vString toLowerCase ( ) 将当前字符串中所有字符转换成小写形式 System.out.println(s1.toLowerCase (); 例如: Strin

15、g s1 = “Hello“;hello String toUpperCase ( ) 将当前字符串中所有字符转换成大写形式 System.out.println(s1.toUpperCase (); HELLO *String类 - 2String类的常用方法 vString substring (int beginIndex ) 返回从beginIndex开始的子串 System.out.println ( s1.substring ( 2 ) ); 例如: String s1 = “Hello“;llo String substring (int beginIndex, int endIndex) 返回从beginIndex开始到endIndex之前的子串 System.out.println ( s1.substring(2, 4) ); ll *String类 - 2String类的常用方法 vString replace ( char oldChar, char newChar ) 将字符串中所有的oldChar转换为newChar System.out.println ( s1.replace ( l

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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