`
crazy_rabbit
  • 浏览: 34589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

数组知识点回顾二

阅读更多

1、调用数组对象的方法:

 

  Java数组继承了Object类,因此继承了Object类的所有方法。

  程序举例:

package secondsection;
/*
 * Java数组继承了Onject类,因此继承了Object类的所有方法。
 * 其中以下例子中使用了两个方法,一个是equals方法,另外一个是instanceof方法,
 * 其中equals方法没有被数组覆盖,如果要判断两个对象相等的话,必须是同一个对象引用,而不是
 * 像String类那样只要类型和内容相同就行
 */
public class MethodOfArray {
	
	public static void main(String[] args) {
		
		int[] a = new int[4];
		int[] b = new int[4];
		int[] c = a;
		int[][][] d = new int[2][3][4];
		
		System.out.println(a instanceof Object);
		System.out.println(a instanceof int[]);
		System.out.println(d[0] instanceof int[][]);
		System.out.println(d[0][2] instanceof int[]);
		System.out.println("---------------1----------------");
		System.out.println(a.equals(b));
		System.out.println(a.equals(c));
	}
}

 

2、把数组作为方法参数或者是返回值:

 

  程序举例:

package thirdsection;
/*
 * 把数组作为方法参数和和方法的返回值
 */
public class Swaper {
	
	//交换两个数组的内容,这两个数组的长度必须为一样,这样才能进行交换
	public static void change(int[] array1,int[] array2) {
		for(int i=0;i<array1.length;i++) {
			int temp = array1[i];
			array1[i] = array2[i];
			array2[i] = temp;
			
		}
	}
	
	//交换变量a与b的内容
	public static void change(int a,int b) {
		int temp = a;
		a = b;
		b = temp;
	}
	
	//获得字符串中的所有字符
	public static char[] getChars(String str) {
		if(str==null) {
			return new char[0];
		}
		
		char[] result = new char[str.length()];
		
		for(int i=0;i<str.length();i++) {
			result[i] = str.charAt(i);
		}
		return result;
	}
	
	public static void main(String[]args) {
		int[] array1 = {4,5,6};
		int[] array2 = {7,8,9};
		System.out.println("交换数组前:");
		for(int i=0;i<array1.length;i++){
			System.out.print(array1[i]+" ");
		}
		System.out.println();
		for(int i=0;i<array2.length;i++){
			System.out.print(array2[i]+" ");
		}
		System.out.println();
		change(array1,array2);
		System.out.println("交换数组后:");
		for(int i=0;i<array1.length;i++){
			System.out.print(array1[i]+" ");
		}
		System.out.println();
		for(int i=0;i<array2.length;i++){
			System.out.print(array2[i]+" ");
		}
		System.out.println();
		System.out.println("----------------------------------");
		int a = 2009;
		int b = 1986;
		System.out.println("交换整型变量前:");
		System.out.println("a="+a);
		System.out.println("b="+b);
		change(a,b);
		System.out.println("交换整型变量后:");
		System.out.println("a="+a);
		System.out.println("b="+b);
		
		String str= "我爱中国";
		System.out.println("Str="+str);
		char[] result = getChars(str);
		System.out.println("获取字符后:");
		for(int i=0;i<str.length();i++) {
			System.out.println(result[i]);
		}
	}
}

 注意:String类中的toCharArray()方法能够返回包含字符串中所有字符的数组,因此以上Swaper.getChars("Hello");和"Hello".toCharArray();是等价的。

 

3、数组排序:

 

  数组排序是指把一组数据按照特定的顺序排列——介绍简单的排序算法,冒泡排序。

  程序举例:

package fourthsection;
/*
 * 孙卫琴《Java面向对象编程》中数组这个章节中的冒泡排序算法用Java实现
 */
public class ArraySort2 {
	
	public static void bubbleSort(int[] array) {
		for(int i=0;i<array.length-1;i++) {
			for(int j=0;j<array.length-i-1;j++) {
				if(array[j]>array[j+1]) {
					int temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
			print(i+1,array);
		}
	}
	
	public static void print(int time,int[] array) {
		System.out.print("第"+time+"趟排序:");
		for(int i=0;i<array.length;i++){
			System.out.print(array[i]+" ");
		}
		System.out.println();
	}
	
	public static void main(String[] args){
		int[] array = new int[]{4,7,5,3,9,0};
		bubbleSort(array);
	}
}

 注意:数组的冒泡排序时双层嵌套循环组成,一个内层循环,一个外层循环。循环的方程式:

for(int i=0;i<array.length-1;i++) {//外层循环
  for(int j=0;j<array.length-i-1;j++){//内层循环
    if(array[j]>array[j+1]){//通过条件判断
      int temp = array[j];
      array[j] = array[j+1];
      array[j+1] = temp;
}
}
}
 
分享到:
评论

相关推荐

    树状数组-01-第11天知识点回顾.ev4.rar

    辅助数组C[i]表示原数组中从下标i到i+2^k-1(其中k是使得2^k 的最小整数)这段区间元素的某种属性之和,如求和、最大值或最小值等。 二、初始化与构建 初始化时,树状数组通常被设置为原数组的前缀和,即C[i] = A[i...

    JavaScript知识点回顾

    JavaScript知识点回顾 JavaScript是一种广泛应用于Web开发的脚本语言,主要在客户端运行,与用户的交互性强。本文将回顾JavaScript中的核心知识点,特别是浏览器对象模型(BOM)和文档对象模型(DOM)。 一、浏览器...

    vue知识点汇集 总结 回顾

    下面将根据标题和描述,结合压缩包内的文件名称,对Vue的知识点进行详细梳理。 1. **基础概念** - **虚拟DOM**:Vue使用虚拟DOM作为数据和实际DOM之间的中间层,以提高性能和效率。 - **组件化**:Vue中的组件是...

    java知识点回顾

    根据提供的文件信息,我们可以整理出以下关于Java的重要知识点回顾: ### 1. Java 基本数据类型 Java 提供了多种基本数据类型,包括数值型、字符型和布尔型等。 - `byte`: 占用 1 字节,取值范围为 -128 至 127。...

    数组交换程序

    ### 数组交换程序知识点解析 #### 一、题目概述 本题目主要涉及的是数组操作中的一个常见需求——数组元素的交换。题目要求实现一个函数`void swap(int a[], int m, int n);`,该函数的功能是将数组`a`中的前`m`个...

    C语言知识点总结 考试复习、回顾知识点

    以下是对给定文件中提及的C语言知识点的详细总结,适合考试复习和深入理解。 ### 第1章 C语言概述 #### 1.1 C语言标识符 C语言中的标识符用于命名变量、函数、数组等实体。一个合法的标识符必须遵循以下规则: - ...

    【Vue基础知识点速查手册 - 面试指南】从指令到计算属性,让Vue不再难懂

    内容概要: - 涵盖了Vue的基础知识点,如指令、方法、计算属性等 - 列出了常用的指令语法,如v-...这是一份针对Vue基础知识点的速查手册,可以帮助初学者快速回顾和掌握Vue的基础语法,也可供开发者面试前进行知识点整理。

    Java实训方案之数组之名将对决.docx

    - 教师通过实例讲解和分析知识点,包括数组的定义、初始化、元素访问和选择排序的实现。 知识点分析: - **数组**:数组是存储同类型元素的集合,可以通过索引来访问和修改其中的元素。 - **定义数组**:Java中...

    Java基础--Java数组的认识(通透!!!)

    Java基础--Java数组的认识(通透!!!) Java数组的认识是Java基础知识中的...本节课程我们学习了Java数组的概念、性质、写法、初始化、元素访问和应用等知识点。掌握这些知识点可以帮助您更好地理解和应用Java数组。

    J2SE_5.0_第05章_数组3.rar

    而“17_总结.avi”可能是对整个章节内容的回顾,强调了关键知识点,帮助学习者梳理所学,形成系统性理解。 总的来说,掌握二维数组是精通Java编程的基础,通过理论学习与实践操作,可以提升编程技能,为后续的面向...

    c++语言知识点总结 英文版 适合查询和快速回顾知识点

    对于初学者而言,这篇英文版的C++知识点总结是极为有用的参考资料,因为它重点在于总结而不是完整介绍,便于快速回顾和查询。然而,为了完全掌握C++的各方面知识,还是需要深入阅读相关章节,并结合实际编程实践来...

    第18章、数组上机指导(实践课).ppt

    - **回顾**:本章重点介绍了如何在C语言中使用一维数组和二维数组,并通过一个具体的项目——“软件测试工程师管理系统”来实践这些知识点。 - **知识点梳理**: - 一维数组的基本操作:声明、初始化、访问。 - 二...

    c指针数组资源

    在“135_指针15_复习上节课知识.swf”和“136_指针16_指针变量的运算.swf”中,可能回顾了指针的基本概念和运算规则,包括指针的声明、初始化、赋值、比较以及指针的算术运算。 “138_指针18_动态内存分配概述.swf...

    Java程序设计课程实验4-数组

    (二) 实验涉及的知识点: 1. 数组的定义:理解数组的基本语法,包括声明、初始化和元素访问。 2. 数组排序:了解并实现一种或多种排序算法,如冒泡排序,选择排序,这有助于理解数据结构的处理。 3. 随机数的生成:...

    JAVA核心知识点整理.pdf

    文件《JAVA核心知识点整理.pdf》作为Java程序员面试准备资料,提供了一个全面的Java知识点回顾,涵盖JVM运行机制、多线程编程、集合框架、IO/NIO、类加载机制等内容。这些知识点对于应聘者理解Java技术栈、提升编程...

    第17章、数组(理论课).ppt

    通过本章的学习,读者将能够掌握一维数组与二维数组的定义、初始化以及如何在函数中使用数组等重要知识点。 #### 上一章内容回顾 在进入数组这一主题之前,我们首先回顾一下上一章所学的基本概念,包括变量的作用...

    preg-match绕过-01-第九天知识点回顾.ev4.rar

    - `$matches`:可选参数,如果提供,函数将把匹配到的结果存放在这个数组中。 - `$flags`:可选的匹配标志,如`PREG_PATTERN_ORDER`、`PREG_SET_ORDER`等。 - `$offset`:开始搜索的字符串偏移量。 二、`preg_match...

    C语言编程技术实践2020版 实验数组教学单元设计.doc

    - 重点回顾一维数组的关键知识点,如定义、初始化和操作方法。 - 强调数组在实际问题中的应用,如数据处理和排序。 4. **作业布置** - 布置书写实验报告的任务,要求学生详述实验过程、结果和体会,提升分析和...

    php手册里的个人总结易错忽略知识点

    在PHP编程语言中,有许多易错和常被忽略的知识点...以上是根据PHP手册总结的一些易错和易忽略的知识点,掌握它们能帮助开发者编写更高效、稳定的代码,无论是新手还是经验丰富的开发者,定期回顾PHP手册总是有裨益的。

Global site tag (gtag.js) - Google Analytics