java程序设计任务驱动教程学习笔记四
目录
一、一维数组
二、多维数组
三、数组常用系统方法
1、数组复制
2、工具类java.util.Arrays中提供的静态方法
四、字符串
1、String类
2、StringBuffer类
3、StringTokenizor类
五、数组的常见操作
1、数组遍历
2、数组最值
3、数组排序
一、一维数组
1、数组定义:数组是相同类型数据的有序集合;数组是对象。一个数组包含一组变量,这些变量通常被称为数组元素,数组元素的数目称为数组长度。
2、一维数组的创建和初始化
(1)格式定义数组:
数据类型 [ ] 数据名称;
(2)声明数组时并不为其匹配内存空间,必须使用new操作符为其分配内存空间,并为数组中的每个元素赋予其数据类型的初始值。
格式:数组名=new 数据类型[size];
示例:int[]x=new int[100];
上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为int[100],第二个变量的名称为x[1],以此类推,第100个变量的名称为x[99],这些变量的初始值都是0.
(3)在Java中,为了方便获取数组的长度,提供一个length属性,获取数组长度(元素个数):“数组名.length”。
【案例4-1】数组创建并赋值


(4)数组创建成功时,数组元素会被自动赋予一个默认值。(使用数组时,如果不想使用默认初始值,也可以显式地为数组元素赋值)
| 数据类型 | 默认初始化值 |
| bybe,short, int,long | 0 |
| float double | 0.0 |
| char | 一个空字符,即'/u0000' |
| boolean | flase |
| 引用数据类型 | null,表示变量不引用任何对象 |
(5)数组静态初始化,就是在定义数组的同时就为数组的每个元素赋值。
格式:数据类型[]数组名={v1,v2,v3,---,vn};
【案例4-2】数组静态初始化


(6)数组动态初始化
格式:数据类型[] 数组名 =new 数据类型[]{v1,v2,v3,---,vn};
3、数组的访问
(1)数组引用方式为:数组名[index]。
(2)下标index的取值从0开始,一直到数组的长度减1.(超出坐标,运行显示异常ArrayIndexOutOfBoundsException)
【案例4-3】数组越界异常


【案例4-4】空指针异常


二、多维数组
多维数组是指数组的嵌套,即数组的数组。
1、二维数组的定义
格式:数据类型 [ ] [ ] 数组名;
2、用new初始化二维数组
格式:数据类型 [ ] [ ] 数组名=new 数据类型 [行数] [列数];
3、通过赋初值所指定的下标决定二维数组的行数和每行元素的个数。type [ ] [ ] 数组名={ {list1},{list2},... ,{listn} };
三、数组常用系统方法
1、数组复制
(1)类java.lang.system提供了静态方法arraycopy()用于数组复制:
public static void arraycopy(Object src,int src_ position,Object dst_.int dst_position,int length)。
(2)从源数组src的src_ position处,复制到目标数组dst的dst_position处,复制长度为length。
【案例4-5】数组复制


2、工具类java.util.Arrays中提供的静态方法
(1)排序方法
public void sort(Object[ ] a)
(2)数组查找方法。
public int binarySearch(Object [ ] a,Object key)
(3)数组的比较方法。
public boolean equals(type [ ] a,type[ ] b)
四、字符串
Java中提供了String、StringBuilder、StringBuffer等类来创建和操作字符串对象。
1、String类
String类中的方法侧重于字符串的比较、字符定位、子串提取等查询操作。
(1)String类中的构造方法
public String( );
例如:
//创建空串
String s1 =new String ( );
//利用已经存在的字符串常量创建一个新的String对象
String s2 =new String ("Hello");
//通过给构造方法传递一个字符串数组可以创建一个字符串
char chars [ ]={'a','b','c'};
String s3=new String (chars);
//通过字符串常量赋值
String s4="中文";
(2)String类中的常用方法。
1、获取字符串长度的方法
public int length():获取字符串长度
例如:
String s="Java语言";
int len =s.length( );
2、数据提取方法。从字符串中取得某个字符或者某个子串。
public char charAt(int index):返回字符串中指定位置上的字符。
public String substring (interesting beginIndex,int endIndex):返回字符串中从beginIndex至endIndex-1上的子串。
public String substring (int beginIndex):返回字符串中从beginIndex至字符串结尾的子串
例如:
String s="Java语言";
char c=s.charAt(2);//c为字符'v'
String s1=s.substring(3,5);//s1为字符串"a语"
String s2=s.substring(3);//s2为字符串“a语言”
3、查找方法。指从字符串中搜索某个字符或者某个字串的位置。
public int indexOf(int ch),返回指定字符ch在字符串中第一次出现的位置。
public int indexOf(String str):返回指定子串str在字符串中第一次出现的位置,如果找不到指定子串,方法将返回-1.
public int lastIndexOf(int ch)与int lastIndexOf(String str):返回指定字符ch或子串str在字符串中最后一次出现的位置。
例如:
String s=“Java 语言”;
intpos1=s.indexOf('a');//pos1为1
int pos2 =s.indexOf("a语");//pos2为3
int pos3=s.lastIndexOf("a");//pos3为3
4、比较方法。
public boolean equals(Object obj)
public booean equalsIgnoreCase(Objest obj)
publicinterestingcompareTo(String str)
publicinterestingcompareToIgnoreCase(String str)
5、修改方法
6、分割方法
7、转换方法
2、StringBuffer类
3、StringTokenizor类
五、数组的常见操作
1、数组遍历
数组遍历:依次访问数组中的每个元素
【案例4-6】for循环遍历数组


2、数组最值
【案例4-7】获取数组中元素的最大值

3、数组排序
冒泡排序:比较数组中相邻的两个元素,小的往前走,大的往后去
【案例4-8】冒泡排序

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
