------- android培训、java培训、期待与您交流! ----------
数组 : 是一种数据结构,用来存储同一类型的集合.简单来说,就是一个存放同种类型的容器。
使用数据的好处 : 数组可将其中的没一个值自动添加对象的编号,没一个值为一个元素,元素从0开始编号,方便对每个元素的管理
课后思维拓展以及资料查阅:
在结合当中,ArrayList其低层也是使用数组作为容器的.当其将要超过容器大小时,会使用System.copy方法将原有的数据拷贝到一份扩大数倍(1.5倍)的的数组里.同时,其长度有有个length的属性记录其的真实大小.
格式:
数据元素类型[] 变量名 = new 元素类型[参数]; 说明:参数表示数组中元素的个数.
如:int[] a = new int[10];
数组中的常见操作: 获取数组中的元素(通常会用到遍历)
数组中用到数组名.length来获取数组中元素个数
给定一个数组{5,1,6,4,2,8,9}
获取max,min
思路:1.获取最只需要比较,每一次比较都会有一个较大的值,因为该值不确定。通过一个变量进行存储。
2.让数组中每一个元素都和这个变量中的值进行比较。如果大于变量中的值,就用该变量记录较大值。
3.当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值。
public static int getMax(int[] arr) { int max =arr[0]; for(int x=1;x<arr.length;x++) { if(arr[x]>max) max=arr[x]; return max; } } public static void main(String[] args) { int[] arr={5,1,6,4,2,8,9}; int max=getMax(arr); System.out.println("max="+max); }
思考:当学习到集合后,将会有Collections提供获取最大值
public class MytestMax { public static void main(String[] args) { Integer[] arr={5,1,6,4,2,8,9}; Integer max = Collections.max(Arrays.asList(arr)); System.out.println("最大值为:"+max); } }
同时也可以:
数据元素类型[] 变量名 = new 元素类型[]{元素1,元素2....}
如 int[] a = new int[10]{0,1,2,3,4,5,6,7,8,9};
数组的赋值:
1.数组的初始化:
第一种是隐式初始化,每个元素的值都为相应的各类型的初始值,具体看数据类型的总结.
第二种是显示初始化,每个元素都已经被赋予初值.
2.还可以定义匿名数组
new int[]{3,5,6,9,0};
3.同事也可以将一个数组变量引用另一个数组变量
String[] a = new String[10]; String[] b = a;
多维数组:也称数组中的数组
格式:
int[][] arr = new int[2][3];
定义了一个名为arr的数组,数组中有2个一维数组,每个一维数组中含3个元素.
注意:java数组一旦初始化完成,该数组长度不可改变
排序:
选择排序:选择一个位置和其他位置比较
特点:内循环结束一次,最值出现头角标的位置。两个for 循环一个if语句。换值时用第三方变量
冒泡排序:相邻的两个元素进行比较如果符合条件换位。
第一圈:最值出现在最后位。
中间的for循环为for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少。-1:避免角标越界
Arrays.sort(arr);//JAVA中定义的一种排序方式,开发中用它。
查找:遍历中判断
折半查找:提高效率,必须保证该数组是有序的。
角标
min=0;
max=arr.length-1;
mid=(min+max)/2;
查表法:将所有元素临时存储起来,建立对应关系。
------------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! -------------
详情请查看:http://edu.csdn.net/heima/
相关推荐
黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip
黑马程序员__移动商城项目实战 包括黑马程序员乐淘商城实战和慕课React+Antd
《黑马程序员_hibernate框架开发2016版讲义和笔记资料_day02》 本文将深入探讨2016年黑马程序员发布的Hibernate框架开发课程的第二天内容。Hibernate,一个强大的Java持久化框架,简化了数据库操作,为开发者提供了...
马程序员_黎活明__Spring如何装配各种集合类型的属性.ppt )
《Hibernate框架深度解析——基于黑马程序员2016版教学资料》 Hibernate,作为一个强大的对象关系映射(ORM)框架,极大地简化了Java开发者在数据库操作中的工作。它通过提供数据持久化的对象模型,使得开发者可以...
黑马程序员_iOS基础视频_最适合初学者入门video,百度云链接。
黑马程序员_android实例教程,网上找的的安卓教材,真心不错。
传智播客_javaWEB讲义和笔记资料_day09 黑马程序员_javaWEB教程讲义和笔记资料_day09
黑马程序员_JDBC视频教程,仅供参考学习,有需要的可以下载,本人有全栈开发工程师各种学习技术视频教程及本档,有需要的可以留言或到本人账号下载
【标题】"Pinyougou_html_css_黑马程序员_" 指的是一个关于HTML和CSS的实战项目,这个项目可能是由“黑马程序员”这个知名的在线教育平台提供的。"品优购"可能是该项目的一个虚构的电商网站名称,目的是为了让学生...
黑马程序员_2小时教你写一个android程序[第06天]课件源码
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
黑马程序员_张孝祥_Java多线程与并发库,老师讲的非常仔细,老师很有耐心.欢迎大家下载学习.
在"黑马程序员_javaWEB讲义和笔记资料_day08"中,我们可以预见到这一天的学习内容将深入到Java Web开发的核心概念和技术。"传智播客"作为知名的技术教育机构,其课程通常涵盖全面且深入的IT知识,因此这些讲义和笔记...
"黑马程序员_(适合初学者入门的Java基础视频)"是一套专为初学者设计的Java基础教学课程,旨在帮助零基础的学习者逐步掌握Java编程的基本概念和技能。 该视频教程涵盖了Java的基础知识,包括: 1. **环境搭建**:...
黑马程序员_2小时教你写一个android程序[第08天]课件源码 Android软件安全和逆向分析 案例:破解小软件案例与保护自己的android程序
### 黑马程序员_超全面的JavaWeb教程-视频+源码笔记 #### JavaWeb基础知识概览 在深入了解本教程之前,我们先来简要回顾一下JavaWeb的基础知识。JavaWeb是利用Java语言开发Web应用的技术集合。它主要包括Servlet、...
安卓开发视频教程,文档内含有下载链接。 黑马程序员_精通android4.0开发视频(工124集)
黑马程序员_ibatis视频教程,仅供参考学习,有需要的可以下载,本人有全栈开发工程师各种学习技术视频教程及本档,有需要的可以留言或到本人账号下载
【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...