Java_04数组字符串与异常处理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:需要引入包 注意:需要引入包java.util.Arrays
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 16
数组类
同类集合
异类集合
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
// 结果为“abcdefgh” // 结果为“ABCDEFGH”
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
24
查找字符串
indexOf()方法用于搜索字符或字符串首次出 现的位置。 lastIndexOf()方法用于搜索字符或字符串最后 一次出现的位置。 注:这两种方法均有多个重载方法,它们的 这两种方法均有多个重载方法, 多个重载方法 索引位置, 返回值均为字符或字符串被发现的索引位置 返回值均为字符或字符串被发现的索引位置,如 果未搜索到字符串则返回-1。 果未搜索到字符串则返回 。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
11
二维数组
获得二维数组的长度 (1)获得二维数组的行数
System.out.println(days.length); System.out.println(holidays.length); // 输出值为2 // 输出值为2
Version No: 1.0
13
数组拷贝
System.arraycopy
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
14
数组拷贝
例:数组拷贝 public class ArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e','i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } }
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
8
多维数组
如何理解多维数组,类 似我们的棋盘。 java 中并没有真正的多 维数组,只有数组的数 组, Java中多维数组不 一定是规则矩阵形式。 定义一个多维数组 int[][] xx; xx=new int[3][]; xx[0]=new int[3]; xx[1]=new int[2];
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
12
与数组操作相关的函数
使用System.arraycopy()函数拷贝数组 用Arrays.sort 来排序数组
Copyright@2006 College of ITSoft (HZIEE)
注意: 注意:int a[5];
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
3
一维数组
数组初始化
实质上就是在内存中为数组分配相应的存储空间。 (1)静态初始化:通过“{ }”创建 int[] x = { 1,2,3,4}; //x的长度为4,每个单元有初始值
运行结果:caffein 运行结果:
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 15
数组排序
例:数组排序 public class ArrSort { public static void main(String[] args) { int ia[] = new int[]{1,2,4,8,3}; Arrays.sort(ia); //对数组 进行排序 对数组ia进行排序 对数组 for(int i = 0; i < ia.length; i++) System.out.print(ia[i]); } }
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
22
获取字符串的长度
字符串是一个对象,在这个对象中包含length 属性,它是该字符串的长度,使用String类中的 length()方法可以获取该属性值。 例如获取字符串“MingRiSoft”长度的代码如 下:
int[] x; x = { 1,2,3,4};
×
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 4
注:只能在声明数组的同时进行静态初始化。 只能在声明数组的同时进行静态初始化。
一维数组
数组初始化
(2)动态初始化:通过new关键字创建 int[] months = new int[12]; //months的长度为12 每个单元的值默认为0 注:动态初始化只专注 于为数组申请对应长度 的空间。 的空间。
Version No: 1.0
2
一维数组
声明一维数组的方式如下:
数组类型[] 数组标识符; 数组类型 数组标识符 数组标识符[]; 数组类型 数组标识符
例如:
char s[]; int x[]; char [] s; int [] x; //声明数组时,不能指定其 声明数组时, 声明数组时 长度, 长度,编译时将出错
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
21
比较字符串
String s1 = “hello”; String s1 = new String(“hello”); String s2 = “hello”; String s2 = new String(“hello”); if(s1==s2) System.out.println("s1==s2"); else System.out.println("s1<>s2"); if(s1.equals(s2)) System.out.println("s1 equals s2"); else System.out.println("s1 not equals s2");
Version No: 1.0
1
数
组
数组是一种最为常见的数据结构,通过数组可 以保存一组相同数据类型的数据,数组一旦创建 ,它的长度就固定了。 数组的类型可以为基本数据类型,也可以为引 用数据类型,可以是一维数据,二维数据,甚至 是多维数据。
Copyright@2006 College of ITSoft (HZIEE)
String aStr = null; String bStr = “”; String cStr = “MWQ”; // 初始化为空值 // 初始化为空字符串 // 初始化为“MWQ”
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
19
Copyright@2006 College of ITSoft (HZIEE)
Ver二维数组
创建数组 (1)通过new关键字创建 (2)通过“{ }”创建
int[][] days = new int[2][3]; boolean holidays[][] = { { true, false, true }, { false, true} };
字符串操作
常用的字符串操作包括:
比较字符串 获取字符串的长度 字符串的大小写转换 查找字符串 截取子字符串 去掉字符串的首尾空格 替换字符串中的字符或子串 分割字符串
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
20
比较字符串
String类定义了几个用于比较字符串的方法 ,这些方法包括: • • • • equals()方法 equalsIgnoreCase()方法 startsWith()方法和endsWith()方法 compareTo()方法
int[] x; x = new int[5];
默认值的规定如下: a) boolean类型的默认值是false。 b) 其它7种基本数据类型是0。其中char的默认值是编码为 0的字符,而不是字符0。 c) 复合数据类型的初始值是null。
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 5
int [] x; x = new int[100]; x=null; 内存状态变化情况 如图所示。 如图所示。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
6
一维数组
数组初始化
静态:int x[] = {1,2,3}; 动态:int x[] = new int[3]; int x[] = new int[3]{1,2,3}; int x[] = new int[]{1,2,3};
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 9
二维数组
声明二维数组的方式:
数组类型[][] 数组标识符; 数组类型 数组标识符[][];
例如分别声明一个int型和boolean型二维数组 ,具体代码如下:
int[][] days; boolean holidays[][];
×
使用数组时要注意的问题 空指针异常 如何得到数组长度 数组越界异常
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 7
一维数组
如果需要获得一维数组的长度,可以通过下面 的方式:
System.out.println(months.length); // 输出值为12 System.out.println(members.length); // 输出值为4
17
字 符 串
在Java语言中,提供了一个专门用来操 作字符串的类ng.String,在本节将学 习该类的使用方法。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
18
创建字符串对象
在初始化字符串对象时,可以将字符串对象 初始化为空值,也可以初始化为具体的字符串。 例如下面的代码:
第一类是java虚拟机由于某些内部错误产生的异常这类异常不在用户程序的控制之内用户不需要处理这类异常第二类是标准异常这类异常通常是由程序代码中的错误产生的例如被0除数组下标越界等
数字、 第四章 数字、字符串与异常处理
数组 字符串 异常处理
Copyright@2006 College of ITSoft (HZIEE)
(2)获得二维数组的列数
System.out.println(days[0].length); System.out.println(holidays[0].length); System.out.println(holidays[1].length); // 输出值为3 // 输出值为3 // 输出值为2
String nameStr = "MingRiSoft"; int i = nameStr.length(); // 获得字符串的长度为10
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
23
字符串的大小写转换
toLowerCase()-将字符串中的所有大写字母改为小 写字母 toUpperCase()-将字符串中的小写字母改为大写字 母。 String str = "AbCDefGh"; String lStr = str.toLowerCase(); String uStr = str.toUpperCase();