`
felixour
  • 浏览: 33245 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Netjava Lesson9 便捷的存储容器——数组

阅读更多

2013.07.27

 

这节课我们要讲的是数组,数组我在学C的时候就接触过,但是java的数组和C还是有所区别的,我们还是一点点的进行介绍。


1、连续空间
首先要定义一个数组,我们这里定义一个int类型数组:int[] array = new int[10];
定义数组时,会在内存中开辟一个空间,大小由4*8*10=320个0 1组成。而且这段空间是连续的,array代表一个首地址,也是array[0]的地址,后面的会根据下表计算其地址。

 

2、类型固定
定义了一种类型后,就不能再更改,比如我们int[] array = new int[10];

这样就定义了整型数组,那么以后我们使用array[0]时,就要以他为整型去用,而且不能把字符串赋给他。

 

3、空间固定大小
一旦定义了一个数组,就在内存中开辟了一块固定的空间,其大小不允许再被改变。要是我们开辟了一个长度为10的数组array,当我们引用array[10]时,就会报错说数组溢出。

 

4、定义方式
数组有多种定义方式,除了我们上面所说的int[] array = new int[10];
还有就是:int[] array = {1,2,3,4,5};
int[] array2 ;array2 = array;
int[] array = new int[]{1,2,3,4,5};

 

5、数组只有一个唯一的属性:length
数组是一个容器,但是没有方法,而且只有一个属性,那就是数组的长度。知道数组的长度和数据类型,就可以去使用这个数组了。

 

作业:1、数组排序:我们这里直接调用Arrays类下的sort方法,对数组进行快速排序。

我们这里介绍4种方法:

	//希尔排序
	private void shellsort() {
		int[] array = { 123, 42, 12, 58, 29, 56 };
		for (int in = array.length / 2; in > 0; in /= 2) {
			for (int i = in; i < array.length; i++) {
				int t = array[i];
				int j = 0;
				for (j = i; j >= in; j = j - in) {
					if (t < array[j - in]) {
						array[j] = array[j - in];
					} else {
						break;
					}
				}
				array[j] = t;
			}
		}
	}

	//插入排序
	private void insort() {
		int[] array = { 123, 42, 12, 58, 29, 56 };
		for (int i = 1; i < array.length; i++) {
			for (int j = i; j > 0; j--) {
				if (array[j] < array[j - 1]) {
					int t = array[j];
					array[j] = array[j - 1];
					array[j - 1] = t;
				}
			}
		}
	}

	//选择排序
	private void selectsort() {
		int[] array = { 123, 42, 12, 58, 29, 56 };
		for (int i = 0; i < array.length; i++) {
			int min = i;
			for (int j = i + 1; j < array.length; j++) {
				if (array[min] > array[j])
					min = j;
			}
			int t = array[i];
			array[i] = array[min];
			array[min] = t;
		}
	}

	//快速排序
	public void arraysort() {
		int[] array = { 123, 42, 12, 58, 29, 56 };
		//调用Array类中的sort方法
		Arrays.sort(array);
	}

 

2、二维数组:随机赋值,找出最大值,输出值,行,列

	public void sort() {
		//初始化一个数组对象
		int[][] array = new int[5][5];
		//实例化一个随机数对象
		Random r = new Random();
		//定义一个整型对象记录最大值
		int max = 0;
		//循环进行随机赋值
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				array[i][j] = r.nextInt(10);
			}
		}
		//循环找到最大值
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				if (max < array[i][j])
					max = array[i][j];
			}
		}
		System.out.println("最大值为"+max);
		//循环遍历找到最大值所在的行和列
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				if(array[i][j]==max){
					System.out.println("第"+i+"行,第"+j+"列");
				}
			}
		}
	}

 

分享到:
评论

相关推荐

    java——数组.xmind

    一维数组概念:一组连续的存储空间,存储多个相同数据类型的值。数组的创建。数组的组成。数组的遍历。数组的默认值。

    第10章成绩统计——数组与字符串.ppt

    在编程领域,数组是一种基础且重要的数据结构,用于存储同类型的数据集合。在Java中,数组具有固定大小,一旦创建,长度便不可更改。本章主要讲解了如何使用数组进行成绩统计,涉及到了一维数组、多维数组、数组操作...

    《Java数据结构和算法》学习笔记(1)——数组 二分法 大O表示法

    **数组**是编程中最基本的数据结构之一,它在内存中连续存储相同类型的数据元素。在Java中,数组的声明和初始化通常如下所示: ```java int[] array = new int[5]; // 声明并创建一个包含5个整数元素的数组 ``` ...

    Java编程实现中英混合字符串数组按首字母排序的方法

    在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...

    Java数组练习题(带答案).doc

    Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...

    java中把对象转化为byte数组的方法.doc

    Java 中将对象转化为 byte 数组的方法是指将 Java 对象序列化为二进制数据流,以便在网络上传输或存储。这种方法可以应用于各种领域,如分布式计算、网络通信、数据存储等。 在 Java 中,对象转化为 byte 数组通常...

    JAVA基础知识学习——方法与数组

    自我学习的总结

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf

    java代码-使用java解决输出数组中加起来最大两个元素的值的源代码

    java代码-使用java解决输出数组中加起来最大两个元素的值的源代码 ——学习参考资料:仅用于个人学习使用!

    Java SE程序 接口用对象数组实现

    Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用对象数组实现Java SE程序 接口用...

    JAVA语言实现随机数的输入以及数组的排序

    JAVA\数组排序,JAVA语言实现随机数的输入以及数组的排序。JAVA 随机数 数组排序

    Java语言编程 在方法中使用数组

    在这个示例中,我们首先定义了一个 `GetValue` 方法,该方法接受一个 `int` 数组作为参数,然后在方法中计算该数组中的最大值、最小值和平均值,并将其存储在一个 float 数组中,并将该数组作为方法的返回值。...

    学习Java,你需要知道这些——Java数组

    目录数组的概念数组的创建数组的引用数组的创建数组元素的初始化数组的使用使用数组数组的复制多维数组 数组的概念 数组由同一类型的对象或者基本数据组成,并封装在同一一个标识符(数组名称)下。 数组是对象 动态...

    json转对象数组与对象数组转json --Java

    ### JSON转对象数组与对象数组转JSON(Java) 在Java编程语言中,处理JSON数据时经常需要进行JSON字符串与Java对象之间的转换。特别是在涉及到数组或集合的场景下,这种转换显得尤为重要。本文将详细介绍如何使用...

    Java数组版ATM

    在Java编程中,"Java数组版ATM"项目是一个典型的面向对象设计实例,它通过数组来模拟自动取款机(ATM)的功能。这个项目旨在教授如何利用Java语言中的类、对象、数组以及相关的面向对象设计原则来实现一个简单的银行...

    Java 基本语法(四)——字串和数组

    ### Java基本语法(四)—— 字串和数组 #### 字串(String) 在Java中,`String` 是一种非常重要的数据类型,它代表一系列字符。Java中的字符串是不可变的,这意味着一旦创建了一个字符串对象,其内容就不能更改。...

    Java实现字符数组全排列的方法

    下面我们将深入探讨如何使用Java实现字符数组的全排列。 首先,我们需要了解回溯法。回溯法是一种试探性的解决问题方法,它尝试逐步找到问题的所有解。当发现某一步无法继续找到有效解时,会退回一步,尝试其他的...

    数组的去重、虑空

    简单的数组去重、虑空小工具。源码只是接受一个数组,把重复的,和空格去掉

    java数组自定义排序

    java中数组的自定义排序,种类繁多,简单实现,可自由操控。

    java程序设计-类似捕鱼达人的java小游戏,swing GUI

    java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏...

Global site tag (gtag.js) - Google Analytics