2016.08.03
上课内容:数组
首先,什么是数组?
数组是具有相同数据类型的一组数据的组合。列如:球类的集合——足球,羽毛球,网球。电器的集合——电视,电脑,洗衣机。数组中的每个数据具有相同的数据类型。
然后,数组是基本数据类型还是引用数据类型?
基本数据类型有byte int short char long boolean float double 八种基本数据类型
故数组是引用类型
数组有什么方法和属性?
属性:长度,方法:全部继承Object
另外,数组是具有连续的线性数据结构,数组的长度一旦定义就无法更改,列如要是我们开辟了一个长度为10的数组array,当我们引用array[10]时,就会报错说数组溢出,即出现ArrayIndexOutOfBoundsException(数据越界)
数组的应用很广泛,一般来说数组使用来存储数据,也可以利用数组来来对数据进行排序。 数组可以存储的数据类型有很多比如说图片、旦整数、字符串等,虽然可以存很多的数据类型,但是 每一个数组都只能存同一个数据类型的数据。这就像是商店里买的饼干一样,饼干盒里装的只能是 饼干,不可能给你装个苹果或桔子,这是生产商定以好的,不能更改的。数组也是这样的一你定 义好了数据类型就不能在传别的数据类型的数据进去,否则会报错。
数组的定义
一维数组:数据类型 [] 数组名 = new 数据类型[长度]; 这种方式定义的数组,只有数据类型的默认值
int [] array = new int [10];
数据类型 [] 数组名 = {数据,...};
int [] array = {1,2,3,4,,5};
数据类型 [] 数组名 = new 数据类型[]{数据,...};
int [] array = new int []{1,2,3,4,,5};
数据类型 [] 数组名;
int [] array;
数组名 = new 数据类型[]{数据,...};
array[] = new int[]{1,2,3,4,,5};
数组名 = new 数据类型[长度];
二维数组:
数据类型 [][] 数组名 = new 数据类型[行][列]; 这种方式定义的数组,只有数据类型的默认值
int [][]array = new int [][];
数据类型 [][] 数组名 = {{数据,...},...};
int [][] array = {{1,2,3,},{2,3,4}};
数据类型 [][] 数组名 = new 数据类型[][]{{数据,...},...};
int [][] array = new array[][]{{1,2,3,},{2,3,4}};
数据类型 [][] 数组名;
int array [][] array;
数组名 = new 数据类型[][]{{数据,...},...};
array[][] = new int[][]{{1,2,3,},{2,3,4}};
数组名 = new 数据类型[行][列];
数组的使用,要想知道数组中能存储多少个元素,数组名.length length是数组唯一的一个属性,用来获取数组能存储多少元素的属性。
如果想给数组的某一个位置的赋值,则使用 数组名[下标] = 值;
如果要想获取某个位置的值,则使用 数据类型 变量名 = 数组名[下标];
二维数组的使用:
想知道二维数组中能存储多少个元素:
使用行数和列数的方式定义的数组:数组名.length ,数组名[行下标].length
使用值定义的数组: 数组名[行下标].length+......获取二维数组中的总行数:数组名.length
获取二维数组中某一行的总列数:数组名[行下标].length
想给数组某一个位置赋值:数组名[行下标][列下标] = 值;
获取某一个位置的值:数据类型 变量名 = 数组名[行下标][列下标];
练习
1.对一位数组排序
//冒泡法 public class MaoPaoSort{ public static void main(String[] args){ int array[] = {87,23,9,10,23,45,109};//定义一组数组 maopaoSort(array); } private static void maopaoSort(int[] array) { int temp = 0;//定义已给临时变量 for(int i=0;i<array.length;i++){ for(int j=0;j<array.length-i-1;j++){ if(array[j]<array[j+1]){ temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } maopaoPrint(array); } private static void maopaoPrint(int[] before) { for(int k=0;k<before.length;k++){ System.out.print(before[k]+" "); } } }
//插入排序法 public class InsertSort { public static void main(String[] args) { int[] arr = {4,6,13,67,2,89,24,16};//定义数组 doInsertSort(arr); } private static void doInsertSort(int[] scr) { int len = scr.length;//获取数组的长度 for(int i=1;i<len;i++){//遍历数组,从1开始 int j; //定义变量j int temp = scr[i];//临时存储当前的数字 for(j=i;j>0;j--){//遍历1之前的数字 if(scr[j-1]>temp){ scr[j]=scr[j-1]; }else break; } scr[j] = temp;//把空缺位置赋值为原有的值 } print(scr); } private static void print(int[] before) { for(int i=0;i<before.length;i++){//遍历 System.out.print(before[i]+" ");//打印,以空格隔开 } System.out.println();//换行 } }
//直接选择排序 public class SelectSort { public static void main(String[] args){ int array[] = {89,23,45,18,60,108}; //创建数组排序类的对象 SelectSort ss = new SelectSort(); ss.sort(array); } /* * 直接选择排序法 */ private void sort(int[] array) { int index; for(int i=1;i<array.length;i++){ index = 0; for(int j=1;j<=array.length-i;j++){ if(array[j]>array[index]){ index = j; } } //交换在位置array.length-i和index(最大值)上的两个值 int temp = array[array.length-i]; //把第一个元素值保存到临时变量中 array[array.length-i] = array[index];//把第二个元素值保存到第一个元素单元中 array[index] = temp;//把临时变量也就是第一个元素原值保存到第二个元素中 } PrintArray(array); } /* * 显示数组中的所有元素 */ private void PrintArray(int[] array) { for(int i:array){ System.out.print(" " +i); } } }
2.找出二维数组中最大的值,所有最大值所在的行和列
相关推荐
便捷外卖点餐-便捷外卖点餐网站-便捷外卖点餐网站源码-便捷外卖点餐网站java代码-便捷外卖点餐网站设计与实现-基于ssm的便捷外卖点餐网站-基于Web的便捷外卖点餐网站设计与实现-便捷外卖点餐项目-便捷外卖点餐项目...
2019全球未来科技大会--5G卡号升级 让互联网生活更便捷更安全--中国互联网有限公司
便捷PDF阅读器。使用方便,只须简单安装便可使用!
皮皮播放器便捷功能一览-“简单、快捷”.docx
超便捷好用的-圆形花瓣加载滚动图片插件spin.js 对应文件
在行为研究和设计层面如何解决大型综合体换乘便捷性问题-薛美根-2015.12-中国城市交通论坛-word资料.pdf
Vineyard是一款便捷工具,它能够使您更易于使用Wine的配置程序和库。Wine兼容工具能够使您在Ubuntu桌面上自由运行Windows程序。特性:Improved Prefix creation (see image above):You can now choose between ...
c语言数组 在 C 语言中,数组是一种存储相同类型元素的数据结构。数组提供了一种便捷的方式来存储和访问一组相似的数据。
2019全球未来科技大会--5G卡号升级 让互联网生活更便捷更安全--中国互联网有限公司.pdf
互联网%2b便捷交通-word资料.pdf
电气设备行业充电设施:新基建赋能,便捷性之梦-20200602-中信建投-33页.pdf
电气设备行业:充电设施新基建赋能,便捷性之梦-20200602-中信建投-33页.pdf
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
使用apt等工具,只要您的服务不在容器中运行,Linux发行版就会提供或多或少的便捷机制来应用这些更新。 容器化服务使检查需要更新的内容变得更加困难,并且需要不同的工作流程来更新软件包。 该软件包为Ubuntu提供...
- 提供安全索引访问,避免数组越界引发的崩溃。 3. **Dictionary 扩展**: - 提供合并、过滤、键值映射等操作,增强字典处理能力。 - 支持JSON序列化和反序列化,简化数据交换。 ### 3. UI组件扩展 1. **UIView...
用android编写的便捷备忘录,能实现增,删,改,查的功能。有时间提示,里面有apk文件可以down到手机上面直接运行,还有就是android studio项目,直接导入可以使用
大批处理数组的便捷方法
php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 <?php function shuffle_assoc($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle...
AnyMap,一种用于每种类型的值的安全便捷存储如果您熟悉Go和Go Web框架,则可能遇到了常见的“ AnyMap,一种针对每种类型的值的安全便捷存储。熟悉Go和Go Web框架后,您可能会遇到用于存储与请求相关的数据的通用...
Android-ScaleLayout一个适用于Android的简单便捷的MultiScreen-Support-Library本质是缩放比例。 与android-percent-support-lib的不同之处更可靠的android-percent-support-li Android-ScaleLayout适用于Android的...