1.2.5 Java中的数组
JAVA中的数组概念仍然用于表示处理一组具有相同数据类型的变量,主要用于解决一堆变量的命名问题并且可以整体访问这一组数据;
一、一维数组
1、一维数组的定义
• 声明格式一:
数组类型 数组名称[] = new 数据类型[长度] ;
• 声明格式二:
声明数组: 数组类型 数组名称[] = null ;
实例化数组: 数组名称 = new 数组类型[长度] ;
2、一维数组元素的使用
数组名称[下标],下标的范围是0至(数组长度-1),注意不要越界;
3、可以把栈内存空间,简单的理解为数组的名称保存(保存的是堆空间的起始位置的地址),而堆内存空间保存的是数组的具体内容。栈和堆的关系通过new关键字建立。
4、静态声明数组
即声明的同时初始化:数据类型 数组名称[] = {值1,值2,…} ;
二、二维数组
1、定义
• 声明格式一:
数组类型 数组名称[][]= new 数据类型[第一维长度] [第二维长度];
• 声明格式二:
声明数组: 数组类型 数组名称[][] = null ;
实例化数组: 数组名称 = new数据类型[第一维长度] [第二维长度];
2、二维数组元素的使用
数组名称[第一维的下标][ 第二维的下标],第一维下标的范围是0至(第一维长度-1),第二维下标的范围是0至(第二维长度-1),注意不要越界;
3、二维数组中每一行的长度可以不一致,这就需要通过静态方式声明;
例如:int temp[][] = {{1,3},{2,3,4,56},{1}} ;
三、多维数组
多维数组的定义和使用方法和之前类似,不过编程中较少使用
四、数组的相关属性和方法
1、求数组的长度的属性
一维数组名.length可以返回数组的长度
二维数组名.length可以返回第一维的长度,即行数
二维数组名[第一维的下标].length可以返回该行的元素个数
2、拷贝函数
可以将一个数组的部分内容拷贝到另外一个数组之中,使用System.arraycopy()的方法完成
arraycopy()方法是系统的方法,本身的参数的意义如下:
· 第一个参数表示源数组
· 第二个参数表示源数组的拷贝点
· 第三个参数表示目标数组
· 第四个参数表示目标数组的拷贝点
· 第五个参数表示拷贝的长度
3、排序
在java中可以非常轻松的实现数组的排序功能
java.util.Arrays.sort(一维数组名称) ;
注意:对于对象数组,则该对象的类必须实现Comparable接口,才可以进行排序。
例如:
package mldn.lin.classtest;
class Person{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
Person[] per=new Person[3];
per[0]=new Person();
per[0].setName("a");
per[1]=new Person();
per[1].setName("b");
per[2]=new Person();
per[2].setName("c");
java.util.Arrays.sort(per);
}
}
报错:
Person cannot be cast to java.lang.Comparable
发表评论
-
new Date(new Date().toString())结果与new Date()结果不一样的原因
2010-03-12 14:09 2514Date now=new Date(); System.out ... -
String与StringBuffer的比较2
2009-04-12 23:16 885No. -
String与StringBuffer的比较2
2009-04-12 23:10 767No. -
String与StringBuffer的比较1
2009-04-12 23:09 973String类对象数组可直接调用java.util.Array ... -
JavaSE应用程序类集部分详解6
2009-04-12 22:42 680Properties类 一、Properti ... -
JavaSE应用程序类集部分详解5
2009-04-12 22:41 774Map接口 Map接口中 ... -
JavaSE应用程序类集部分详解4
2009-04-12 22:40 671Collection集合的输 ... -
JavaSE应用程序类集部分详解3
2009-04-12 22:39 719Set接口 一、Set<E>接口 ... -
JavaSE应用程序类集部分详解2
2009-04-12 22:37 543五、ArrayList<E>类 1、ArrayL ... -
JavaSE应用程序类集部分详解1
2009-04-12 22:35 801类集设置的目的 类集设置的目的是为处理对象的 ... -
JavaSE类集框架的完整结构2
2009-04-12 22:32 789三、Map<K,V>接口 Map<K,V& ... -
JavaSE类集框架的完整结构1
2009-04-12 22:31 971类集框架的完整结构 类集框架是用来处理动态的对象数组的。 ... -
JavaSE基础知识方法定义使用部分
2009-04-12 22:25 9571.2.6 Java中的方法 方法在程序中就是一段可重复调 ... -
JavaSE基础知识循环结构部分
2009-04-12 22:22 7121.2.4.2 循环结构 1、循 ... -
JavaSE基础知识分支结构
2009-04-12 22:20 6231.2.4 Java流程控制语句结构 JAVA继续沿用用之 ... -
JavaSE基础知识关键字部分
2009-04-12 22:19 7321.2.3 Java关键字 几个关键字需 ... -
JavaSE基础知识部分
2009-04-12 22:17 7911.2 JavaSE基础知识部分 1.2.1 数据类型 ... -
JDK的安装及环境变量的设置
2009-04-12 22:10 853JDK的安装之前也需要先禁用防火墙; JDK的安装要注意其安 ... -
Java简介
2009-04-12 21:59 582Sun公司最初想把程序植入到各种设备中,来实现一些功能,但此项 ... -
JavaSE重点知识点总结
2009-04-12 21:58 2196第一部分:Java基础程序设计 基础部分包括数据类型、运算符 ...
相关推荐
javaSE基础知识大全,java简介、java不同版本、java特点、jdk、第一个程序、jdk、jre、jvm、eclipse配置、注释、标识符、变量、数据类型、运算符、分支语句、命名规范、循环语句、数组、main方法、面向对象、成员...
内容概要:主要包含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。 适合人群:0基础学习Java的开发者
Java基础语法 类型转换 运算符 流程控制 循环 Random 数组 方法 方法重载 递归 二进制 类和对象 成员变量局和部变量 封装 构造方法 String 集合 继承 GIT 抽象类 多态 Java8 异常 泛型 Map File IO 多线程 线程池 ...
职业开发者:需要回顾或巩固Java基础知识的专业人士。 使用场景及目标 学习基础:为初学者提供一个全面的Java入门指南。 课程辅助:作为大学课程或在线教程的补充材料。 技能提升:帮助有经验的开发者回顾和加强Java...
JavaSE 是 Java Standard Edition 的缩写,指的是 ...以上是 JavaSE 的思维导图解析,涵盖了 Java 语言的基础知识、语言特性、数据类型、变量、常量、类型转换、运算符、逻辑控制、方法、递归、数组等方面的知识点。
最全的javaSE 教程,包含Java语言基础、流程控制、函数、数组、对象、修饰符、接口、内部类、集合、异常处理、多线程、IO框架、反射、OOAO初步等基础知识点汇总
本资源摘要信息涵盖了 Java 编程语言的基本概念、面向对象编程、JavaSE、数据库基础知识、Java Web 开发、框架和工具等多方面的知识点。 Java 基础知识 1. 面向对象编程(OOP):通过将问题抽象成对象,通过对象...
本题库涵盖了 JavaSE 语言基础的多个方面,包括顺序、条件、循环、数组、静态方法等。下面是对每个题目的详细分析和知识点总结。 1. 排序三个数字 * 知识点:顺序结构、输入输出语句 * 本题要求从命令行输入 3 个...
13.1 String类的基础知识 243 13.1.1 对象的创建 243 13.1.2 巧用构造器 244 13.1.3 String类的重要方法 245 13.2 String对象的内存机制 248 13.2.1 一段令人困惑的字符串程序 248 13.2.2 “一次投入,...
JavaSE 面试题是 Java 语言的核心,涵盖了 Java 语言的基础知识点,包括变量、运算符、控制结构、方法、数组、String、面向对象编程等内容。下面是其中的一些关键知识点: 1. 变量和数据类型: 在 Java 中,变量是...
内容概要:这是JavaSE的基础知识总结(为本人通过学习B站狂神说Java课程时为巩固所学写下的markdown笔记)。其中有最基础的标识符、数据类型、变量、常量、运算符以及包机制,有Java流程控制(顺序、选择、循环结构...
学习JavaSE做的一些笔记,包括Java基础知识(关键字,语句,常量,变量,运算符,数组,方法),Java面向对象(static,final,封装,继承,多态,内部类等)以及JavaAPI(String,正则,集合,映射,IO,Socket,反射,线程等技术)
Java概述及开发环境搭建,简单Java程序,基础程序设计数组与方法
非常详细的javaSE知识点梳理,涵盖字符串:(String,StringBuffer,StringBuilder)、数组、面向对象思想、可视化(swing)、异常、集合框架、IO、线程、网络协议、xml等,内附有代码讲解
跳转控制语句 三元运算符 逻辑运算符 短路逻辑运算符 数组 方法简述 switch语句 if语句 关系运算符 自增自减运算符 赋值运算符 算术运算符 类型转换 Java简述 标识符 变量 数据类型 常量 关键字
javaSE技术全家桶:1、计算机基础知识;2、java开发工具;3、java常量与变量;4、java运算符和流程控制语句;5、java面向对象;6、java数组;7、java排序,8、java常用类;9、java集合框架;10、java异常;11、java...
course-JavaSE-Android 本课程是软件工程专业学生移动智能设备方向的专业基础课,内容涵盖Java面向对象程序设计、文件和流的操作,枚举的使用、集合、日期、文件和流的应用、多线程、Socket网络编程、数据库操作等...
内容包括从java基础语法入门到类型转换问题,运算符,数据输入(应用),数组,方法概述,Debug模式,以及10个小案例的详细介绍。 本内容为自己在自学后整理,不足之处还望指出(另会不断更新Java相关内容,欢迎关注...
在这个课件里主要讲解了java开发技术的知识,内容主要有基础语法,面向对象,异常处理,数组,常用类,容器,IO,线程,网络,GUI,正则表达式,是一本不错的初中级课程
JavaSE 之前整理的笔记,一共16章:1.Java概述,2.基本数据类型与运算符,3.流程控制与数组,4.面向对象1(类和对象 方法 构造方法),5. 面向对象2(成员变量与局部变量 常用系统类 包 访问控制符 String),6.面向对象3...