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,long0
float  double0.0

char

一个空字符,即'/u0000'
booleanflase
引用数据类型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】冒泡排序

 

 


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部