| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> JAVA 数组 -> 正文阅读 |
|
[数据结构与算法]JAVA 数组 |
概述:???1, 一维数组入门 ????????①数组定义、特点、内存分配 ????????②使用一维数组存储数据 ???2.一维数组的应用 ????????①查询元素 ????????②数组类型做形参 ????????③查询最大值最小值 ????????④添加元素或删除元素 ? ? ? ? ⑤Arrays工具类 ? ? ? ? ⑥理解main(String args[]) 创建数组 ????????数组是相同类型数据的有序集合 ????????相同类型的若干个数据,按照一定先后次序排列组合而成。 ????????其中,每一个数据称作一个数组元素 ????????每个数组元素可以通过一个下标来访问它们. 数组特点: ????????其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 ? ? ? ? 其元素必须是相同类型,不允许出现混合类型。 ????????数组中的元素可以是任何数据类型,包括基本类型和引用类型。 数组属引用类型 ?????length,? elements? of? the? array 数组概述 ???????数组只有一个名称,即标识符 ???????元素下标标明了元素在数组中的位置,从0开始 ???????数组中的每个元素都可以通过下标来访问 ???????数组长度固定不变,避免数组越界 ???????声明一个变量就是在内存空间划出一块合适的空间 ???????声明一个变量就是在内存空间划出一块合适的空间 如何使用数组? ????????使用数组四步走: ????????1、声明数组? ? ? int[]a; ? ? ? ??2、分配空间? ? ? a=new int[5]; ? ? ? ??3、赋值? ? ? ? ? ? ?a[0]=8; ? ? ? ??4、处理数据? ? ?a [0] = a[0] * 10; 声明数组 ????????声明数组: 告诉计算机数据类型是什么 ????????int[ ] score1; ????????int score2[ ];? ? ?数据类型 数组名[ ] ; ????????String[ ] name;?数据类型[ ] 数组名? 分配空间 ????????分配空间: 告诉计算机分配几个连续的空间 ? ? ? ? ? ?int[]? score = new int[30]; ? ? ? ? ? ?int[]? avgAge = new int[6]; ? ? ? ? ? ?String[]? name = new String[30]; ????????声明数组并分配空间 ????????????????数据类型[ ] 数组名 = new 数据类型[大小] ; 数组赋值 ????????方法1: 边声明边赋值 ????????????????int[ ] score = {89, 79, 76}; ????????????????int[ ] score = new int[ ]{89, 79, 76}; ? ? ? ??方法2:动态地从键盘录入信息并赋值 ? ? ? ? ? ? ? ??Scanner input = new Scanner(System.in); ????????????????????????for(int i = 0; i < 30; i ++){ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?score[i] = input.nextInt(); ????????????????????????} 一维数组的声明????????一维数组的声明方式有两种: ? ? ? ? ? ? ? ?type[] arr_name; ? ? ? ? ? ? ? ??type arr_name[]; ? ? ??例如: ? ? ? ? ? ?int[] intArrays; ? ? ? ? ? ?int intArrays[]; ? ? ? ? ? ?double[] doubleArrays; ? ? ? ? ? ?Person[] pArrays; ? ? ? ? ? ?String[] strArrays; 数组初始化????????动态初始化 ? ? ? ??数组定义与为数组元素分配空间并赋值的操作分开进行 ? ? ? ? ? ? ? ? int a[] = null; ????????????????a = new int[3]; ????????????????a[0] = 3; ????????????????a[1] = 9; ????????????????a[2] = 8; ????????静态初始化: ????????????????除了用new关键字来产生数组以外,还可以直接在定义数组的同时 ????????????????就为数组元素分配空间并赋值。 ????????????????格式: 类型 [] 数组名 = {元素1[, 元素2 ……]}; ????????????????????????int [] a = {1, 2, 3, 4, 5}; 数组的界限 ????????定义并用运算符new为之分配空间后,才可以引用数组中的每个元素; ????????数组元素的引用方式:arrayName[index] ????????????????üindex为数组元素下标,可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]; ????????????????ü数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 ~ n-1; ?????????每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度 ????????????????(元素个数); ????????????????????????ü 数组的长度: 数组名.length ????????????????起点和终点 ????????????????????????ü起点: 数组名[0] ????????????????????????终点:?数组名[length-1] ???????????????????????? ???????? 二维数组????????二维数组举例: ????????????????int [][] a = {{1,2},{3,4,0,9},{5,6,7}}; ? ? ? ? ? ? ? ??Java中多维数组不必须是规则矩阵形式 ? ?? ???????? 二维数组????????二维数组可以看成以数组为元素的数组。例如: ????????????????int [][] a= {{1,2},{3,4,5,6},{7,8,9}}; ????????Java中多维数组的声明和初始化应按从高维到低维的顺序进行,例如: ???????? 二维数组初始化????????Declare, create and initiate in the same time : ????????????????int intA[][] = {{1,2},{2,3},{3,4,5}};//合法 ????????????????int intB[3][2] = {{1,2},{2,3},{4,5}};//非法 ????????Declare, create and initiate separately : ????????????????int a[][] = new int[3][5]; ????????????????int b[][] = new int[3][] ; ????????????????b[0] = new int[2]; ????????????????b[1] = new int[3]; ????????????????b[2] = new int[5]; 命令行参数????????JAVA应用程序的主方法(程序的入口) ????????????????public static void main (String args[]) {…} ????????????????public static void main (String[] args) {…} ????????命令行参数 ????????????????在启动Java应用程序时可以一次性地向应用程序中传递0~多个参数----命令行参数 ????????????????命令行参数使用格式: ????????????????????????java ClassName lisa "bily" "Mr Brown“ ????????????????由参数args接收 ????????????????空格将参数分开 ????????????????若参数包含空格,用双引号引起来 命令行参数用法举例????????public class Test { ????????????????public static void main(String[] args) { ????????????????????????????????for ( int i = 0; i < args.length; i++ ) { ????????????????????????????????System.out.println("args[" + i + "] = " + args[i]); ????????????????????????????????} ???????????????????????} ???????????????} //运行程序 ????????java Test lisa "bily" "Mr Brown" 输出结果: ????????args[0] = lisa ????????args[1] = bily ????????args[2] = Mr Brown 总结????????一维数组入门????????????????数组的特点:长度固定,连续空间,存储同一种类型数据 ????????????????数组内存分配图 ????????????????for-each循环:简单、主要用于遍历操作 ????????一维数组的应用 ????????????????数组优缺点 ????????????????????????优点:按照索引查询效率高 ????????????????????????缺点:添加删除元素效率低;按照内容查询效率低(无序) ????????冒泡排序:基本的排序算法,理解排序规则,实现并完善排序代码 ????????数组类型做形参 ????????二维数组:????????????????实质是每个元素是一维数组的一维数组;二维数组内存分配图 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/10 2:42:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |