黑马程序员------数组学习(数组基础)
来源:互联网 发布:xp sp2驱动软件 编辑:程序博客网 时间:2024/05/06 22:42
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
数组的定义、特点及常见问题:
- 同一种数据的集合,其实就是一种容器。
- 存储数据的一种形式。就是“装东西”,装的“东西”被称为“元素”。
- 元素类型可以是任意的,但定义一个数组,依次装入的只能同一类型的数据。
- 数组自动对存入的元素进行编号(从0开始),方便操作。
- 格式:元素类型[ ] 数组名 = new 元素类型(元素的个数或数组的长度);
int[] x = new int[3];//默认初始化值为0. //数据明确的情况下//int[] arr = new int[]{2,3,1};//不建议使用下面的方式,当然用了也不会出错。//int x[] = new int [3];
//System.out.println(arr[2]); //结果是1 //System.out.println(arr[3]); //ArrayIndexOutOfBoundsException;操作数组时,访问到了数组不存在的脚标,数组越界
数组的内存分配:
数组的常见操作:
- 数组的基本操作
- 数组常遇到的遍历(使用for循环,逐一进行遍历,此处要注意数组的两个端点,防止出错。)
class ArrayDemo{public static void main(String[] args){//数组的操作//获取数组中的元素,常遇到的遍历。//int[] arr = new int[3];int[] arr = {3,6,5,1,8,9,7};//数组中有一个属性可以获取到数组元素的个数,length。切记不是方法。System.out.println("length:"+arr.length);int sum = 0;for(int x = 0; x<arr.length;x++){sum +=arr[x];}System.out.println(sum);//调用打印方法,打印arr数组printArray(arr);}//定义功能,用于打印数组中的元素public static void printArray(int[] arr){for(int x = 0; x<arr.length;x++){//不是最后一个元素都加“,”if(x!=arr.length-1)System.out.print(arr[x]+",");elseSystem.out.print(arr[x]);}}}
- 获取最大值
思路:
1.获取最值需要比较,每一次比较都会有一个较大的值,因为该值不确定,通过一个变量存储。
2.让每个数组中的每一个元素都和这个变量中的值进行比较。如果大于变量中的值,就用该变量记录较大值。
3.当所有的元素都比较完成,那么变量中存储的就是数组中的最大值了。
程序
如下:
class ArrayDemo{public static void main(String[] args){int[] arr = {3,6,5,1,8,9,7};//调用findMax()方法,打印最大值System.out.println("max: "+findMax(arr));//调用findMax_2()方法,打印最大值System.out.println("max: "+findMax_2(arr));}//定义查找最大值功能findMax(),用于查找数组中的最大值元素//提高了复用性public static int findMax(int[] arr){//?为什么不用int max=0;//因为假如数组中的值都为负数,则0成了干扰,导致结果错误。int max=arr[0];for(int x = 0; x<arr.length;x++){if(arr[x]>max)max=arr[x];}return max;}//可不可以使用 int max=0?,答案是可以的,看下面程序public static int findMax_2(int[] arr){//若用int max=0,可以把max当作脚标使用,最大值是记录脚标。int max=0;for(int x = 0; x<arr.length;x++){if(arr[x]>arr[max])max=x;}return arr[max];}}
数组中的数组:
- 二维数组:
把数组当作一个元素存入数组;相当于于大箱子中放入小箱子。。。
class Array2Demo{public static void main(String[] args){//一维数组。//int[] arr = new int[3];//定义了一个arr二维数组,二维数组中有三个一维数组,//每个一维数组中有四个元素。//int[][] arr = new int[3][4];//System.out.println(arr[0][1]);/*int[][] arr = new int[3][];arr[0] = new int[3];arr[1] = new int[1];arr[2] = new int[2];//打印是二维数组的长度3;System.out.println(arr.length);//二维数组中第一个一维数组的长度。System.out.println(arr[0].length);*/int[][] arr = {{3,5,7,1},{6,2,4,8},{3,5,4,8}};int sum = 0;for(int i = 0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){sum+=arr[i][j];}}System.out.println("sum="+sum);}}
附加:
/*int[] x,y[];//方便理解,一般写成://int[] x;//int[] y[];a. x[0]=y; errorb. y[0]=x; yesc. y[0][0]=x; errord. x[0][0]=y; errore. y[0][0]=x[0]; yesf. x=y; error*/
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详情请查看:http://edu.csdn.net
- 黑马程序员------数组学习(数组基础)
- 黑马程序员-数组基础
- 黑马程序员--- java基础学习之数组
- 黑马程序员-Java基础学习(数组)
- 黑马程序员_java基础--数组
- 黑马程序员-->Java基础-->数组
- 黑马程序员---java基础----数组
- 黑马程序员—数组基础
- 黑马程序员-Java基础-数组
- 黑马程序员--C基础--数组
- 黑马程序员-----Java基础-----数组!
- 黑马程序员---java基础--数组
- 黑马程序员---Java基础---数组
- 黑马程序员-C#编程基础之数组-学习笔记
- 黑马程序员------java学习笔记之数组基础
- 黑马程序员 Java基础学习笔记3 循环和数组
- 【黑马程序员】Java基础学习博客——数组
- 黑马程序员------Java基础学习------方法和数组
- C# 原型模式小试牛刀
- 列表之间内容相互移动,列表添加元素
- 委托学习笔记
- 内核中的 likely() 与 unlikely()
- ubuntu下给firefox安装flash插件
- 黑马程序员------数组学习(数组基础)
- 状态压缩dp--UVa11825
- 解决Hibernate延迟加载出现session过期的问题(hibernate操作3次后无反应)
- ZOJ 1095 Humble Numbers
- 详解Android中AsyncTask的使用
- multimap
- Java-Collection Framework学习要点
- Android中使用其他格式的字体
- 使用distcc进行分布式编译来提高编译速度。