IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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.一维数组入门

①数组定义、特点、内存分配

②使用一维数组存储数据

③for-each循环

2.一维数组的应用

①查询元素

②数组类型做形参

③查询最大值最小值

④添加元素或删除元素

⑤冒泡排序

⑥Arrays工具类

⑦理解main(String args[])

⑧可变参数 ?

3.二维数组:

二维数组含义、特点、内存分配、举例

一维数组入门

数组是相同类型数据的有序合集。

相同类型的若干个数据,按照一定先后次序排列组合而成。其中,每个数据称作为一个数组元素,每个数组元素可以通过一个下标(length)来访问他们

特点

长度是固定的,数组一旦被创建,他的长度就不可以改变。

元素必须是相同类型,不允许出现混合类型。

数组里的元素可以是任何数据类型,包括基本类型和引用类型。

数组属引用类型

length --? e? l ements? --? of? ? --? the? --? ?array

数组内存分配

声明一个数组就是在内存中划出一窜连续空间,与变量的区别是变量,变量是划出一块空间数组是划出一串连续空间

数组声明

//数组一共有两种声明方式,第二中最常用
		第一种
		int[] a;
		a=new int[2];
		a[0]=8;
		System.out.println(a[0]);

---------------------------------

		int[] a;
		a=new int[5]; //简单声明    数据类型[] 数组名=new 数组名[大小(长度 ’分配空间‘)]	 
				// int[] a=new int[5];	
					
		a[0]=8;
		a[1]=9;
		a[0]*=10;
		a[0]=a[0]*10;
		
		
	
		System.out.println(a[0]);


----------------------------------------


		//第二种
		
		int[] b={8};
		System.out.println(b[0]);
		

元素查询

可通过length属性来查询

冒泡排序

冒泡排序:对一个先跟第二个比,如果第一个比第二个大,那么就交换位置,接着进行比较第二个第三个如果第二个没有第三个大或者相同那么就不交换位置,接着进行比较第三个和第四个

总结:

一次比较两,如果第第一个比第二个大就换位置,如果相等就不换,大的放在后面,执行一遍就能排好一个数据,第二遍能比第一遍小比较一次,因为执行一遍过后就有一个比较好的放在最后面了。

int[] array = {1,3,5,6,2,9,8,4,7};
		//冒泡排序
		for(int i = 0; i<array.length;i++){
			for(int j = 0;j<array.length - 1 - i; j++){
				//如果前面的数大于后面的数,需要交换位置
				if(array[j] > array[j+1]){
					int temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
		}

理解main(String args[])

这个java程序的入口,没有这个java程序无法运行

二维数组:

二维数组就是每个二维数组里面有个一维数组,可以理解维二维数组是用来放一维数组的,一维数组才是用来方数据的。

内存分配

声明一个二维数组就会划分一连串的内存空间 用来放一维数组,每一个内存空间里还有一串内存空间来放一维数组里的数据。

int[] array1 = new int[5];
		//定义二维数组
		int[][] array2 = new int[3][];
		
		array2[0] = new int[2];  //声明每个二维数组里面有几个一维数组
		array2[1] = new int[3];
		array2[2] = new int[4];
		
		//为每一个一维数组元素赋值
		array2[0][0] = 1;
		array2[0][1] = 2;
		
		array2[1][0] = 10;
		array2[1][1] = 20;
		array2[1][2] = 30;
		
		array2[2][0] = 100;
		array2[2][1] = 200;
		array2[2][2] = 300;
		array2[2][3] = 400;
		
		//遍历二维数组   需要两个for循环,第一个for,第一个for打印第一个二维数组,那么第二个for循环就是打印第一个二维数组里面的一维数组

		for(int i = 0; i<array2.length;i++){
			for(int j = 0; j<array2[i].length;j++){
				System.out.print(array2[i][j] + "\t");
			}

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:06:58  更:2021-12-13 13:09:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:36:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码