《Java-4数组和字符串.ppt》由会员分享,可在线阅读,更多相关《Java-4数组和字符串.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数组与字符串 2.8 数组数组的定义数组的内存分配及特点数组操作常见问题数组常见操作数组中的数组 2.8.1 数组的定义概念同一种类型数据的集合。其实数组就是一个容器。数组的好处可以自动给数组中的元素从0开始编号,方便操作这些元素。格式1:元素类型 数组名=new 元素类型元素个数或数组长度;示例:int arr=new int5;格式2:元素类型 数组名=new 元素类型元素,元素,;int arr=new int3,5,1,7;int arr=3,5,1,7;arr0 x0012 2.8.2 数组内存结构int arr=new int4;栈内存new int40 x0012堆内存arr0a
2、rr1arr2arr32.8.2 内存结构Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。栈内存用于存储局部变量,当数据使用完,所占空间会自动释放。堆内存数组和对象,通过new建立的实例都存放在堆内存中。每一个实体都有内存地址值 实体中的变量都有默认初始化值 实体不在被使用,会在不确定的时间内被垃圾回收器回收方法区,本地方法区,寄存器 2.8.3 数组操作常见问题数组脚标越界异常(ArrayIndexOutOfBoundsException)int arr=new int2;System.out.
3、println(arr3);访问到了数组中的不存在的脚标时发生。空指针异常(NullPointerException)int arr=null;System.out.println(arr0);arr引用没有指向实体,却在操作实体中的元素时。2.8.4 数组常见操作获取最值(最大值,最小值)排序(选择排序,冒泡排序)折半查找(二分查找)2.8.5 数组中的数组二维数组格式1:intarr=newint34;定义了名称为arr的二维数组 二维数组中有3个一维数组 每一个一维数组中有4个元素 一维数组的名称分别为arr0,arr1,arr2 给第一个一维数组1脚标位赋值为78写法是:arr01=7
4、8;格式2:intarr=newint3;二维数组中有3个一维数组 每个一维数组都是默认初始化值null 可以对这个三个一维数组分别进行初始化arr0=new int3;arr1=new int1;arr2=new int2;2.8.5 数组中的数组格式3:intarr=3,8,2,2,7,9,0,1,6;定义一个名称为arr的二维数组 二维数组中的有三个一维数组 每一个一维数组中具体元素也都已初始化 第一个一维数组 arr0=3,8,2;第二个一维数组 arr1=2,7;第三个一维数组 arr2=9,0,1,6;第三个一维数组的长度表示方式:arr2.length;练习:获取arr数组中所有
5、元素的和。使用for的嵌套循环即可。注意特殊写法情况:intx,y;x是一维数组,y是二维数组。练习基础练习题进制转换幸运儿 String类字符串是一个特殊的对象。字符串一旦初始化就不可以被改变。String str=“abc”;String str1=new String(“abc”);有什么区别?String类部分方法char charAt(int index)int length()char toCharArray();int indexOf(String str);boolean endsWith(String str);String split(String reg);String
6、substring(int index);String(char arr);练习子串在整串中出现的次数。两个字符串的最大相同子串。对字符串中字符进行自然顺序排序。StringBuffer字符串的组成原理就是通过该类实现的。StringBuffer可以对字符串内容进行增删。StringBuffer是一个容器。很多方法与String相同。StingBuffer是可变长度的。StringBuffer特有方法StringBuffer append(int x);StringBuffer delete(int start,int end);StringBuffer insert(int index,String str);StringBuffer reverse();JDK1.5出现一个StringBuilder,区别是StringBuffer是同步的,StringBuilder是非同步的。