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;
}
}
}
分享到:
相关推荐
内容概要: - 涵盖了Vue的基础知识点,如指令、方法、计算属性等 - 列出了常用的指令语法,如v-...这是一份针对Vue基础知识点的速查手册,可以帮助初学者快速回顾和掌握Vue的基础语法,也可供开发者面试前进行知识点整理。
资源介绍: 内容概要: 这份资源是关于C语言的全面知识点总结,涵盖了C语言编程的...3. 实践编程:在实际编程项目中遇到特定问题时,可以通过查阅此资源快速回顾相应知识点,提升编程实践技能,如正确使用二维数组。
通过最近学习,越来越感觉JavaScript的强大与魅力之处,仅数组一个知识点就让我这样的初学者折腾了很久。折腾是折腾,但还是很有效果的,这几天的学习到的一些基本知识,就在自己的业务就用到了。顿感自信心爆棚,我...
内容概要 本C语言教程旨在为学习者提供一个全面而详细的学习...IT专业人士:希望回顾或深入理解C语言的高级特性。 使用场景及目标 基础知识掌握:适合初学者建立扎实的C语言基础。 深入理解:适合有一定基础的学习者深
最近为了换工作,准备下面试,开始回顾复习JavaScript相关的知识,昨天下午想到了数组去重的相关方法,干脆整理出几篇JavaScript算法文章,以备后用,此系列文章不定篇数,不定时间,想到哪写到哪,不保证正确性,不...
12_二级指针做输入_第2种内存模型_课堂答疑_多维数组名本质抛砖 13_二级指针做输入_第3种内存模型_传智扫地僧 14_二级指针三种内存模型示意图_传智扫地僧 15_玩转多级指针_传智扫地僧 16_两个辅助指针变量挖字符串...
首先一点就是不要怕,别把这些东西看得很难,数组会定义吧?结构体会定义吧?单向链表会使用么?一个知识点一个知识点的去回顾,不懂就看书或者问,一步一步来,慢慢地你就会写了。
四、相关知识点 :・针对各个任务分析阶段得到的知识和技能,并结合本章知识和技能目标对相关知识点进行详细讲解和说明; 五、任务实施 :・该阶段以完成各个任务为目的,教师利用相关知识和技能以演示的方式为学生...
其中就包括那些被遗忘的链表知识,而它又是C语言中非常重要一个知识点.同时发现很多同学都会忘记该知识,所以通过这篇文章一方面帮助大家回忆链表知识,同时对刚接触C语言的同学也有帮助.我采用问答的方式回顾那些知识,...
然后大概回顾一下父子传值的过程: 根据上述信息可知,如果两个组件需要传递值那么需要这两个组件之间是父子关系才能传递数据。 那么如果有这样一个组件,既可以帮你传递数据,又可以帮你接收数据该多好啊? 于是乎...
1.4.5 二维数组 1.5 自有数据类型 1.5.1 类currency 1.5.2 一种不同的描述方法 1.5.3 操作符重载 1.5.4 友元和保护性类成员 1.5.5 增加#ifndef、#define和#endif语句 1.6 异常类illegalParameterValue 1.7 递归函数 ...
许多知识点的阐述都是其他资料中所没有的,弥足珍贵。 涵盖C99标准 “本书是Summit以及C FAQ在线列表的许多参与者多年心血的结晶,是C语言界最为珍贵的财富之一。我向所有C语言程序员推荐本书。”. ——...
├day26-01巩固知识点回顾与总结.mp4 ├day26-02 匿名信号量的互斥.mp4 ├day26-03 线程id 线程比较.mp4 ├day27-01 线程的执行顺序 资源共享.mp4 ├day27-02 线程资源回收 线程变量创建 线程属性.mp4 ├day27-03 ...
许多知识点的阐述都是其他资料中所没有的,弥足珍贵。 涵盖C99标准 目录 ~第1章 声明和初始化 1 基本类型 1 1.1 我该如何决定使用哪种整数类型? 1 1.2 为什么不精确定义标准类型的大小? 2 1.3 因为...
Django知识点整理 作业 第19周 今日内容概要 上课内容概要 今日Django工程的创建 Django获取多个数据以及文件上传 Django的CBV和FBV Django模板语言循环字典 Django基于正则表达式的URL Django对应的路由名称 ...
6.2.3 使用点操作符的技巧 148 6.2.4 类的数组 149 6.3 小结:Java其实是个类和对象的世界 152 6.4 习题 153 第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 ...
6.2.3 使用点操作符的技巧 148 6.2.4 类的数组 149 6.3 小结:Java其实是个类和对象的世界 152 6.4 习题 153 第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 ...