星期四, 十一月 05, 2015 14:16
一:一维数组
数组是有序数据集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。
1.数组的声明和内存分配
-----要使用Java的数组,必须经过2个步骤:
a. 声明数组
b.分配内存给该数组
-----格式
数据类型 数组名[]; //声明一维数组
数组名 = new 数据类型[个数]; //分配内存给数组
数据类型 数组名[] = new 数据类型[个数]
----解析
数组类型:
---是声明数组元素的数据类型,
---常见的类型: 整型、浮点型、字符型
数组名:
---用来统一这组相同数据类型的元素的名称,其命名规则和变量相同(小大大)
new:
---是命令编译器根据括号里的个数,在内存一块内存中开辟一块内存供数组使用。
事例~
int score[];
score = new int[3];
变量score所保存的并非是数组的实体,而是数组实体的参考地址.
代码案例:
声明一个一维数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。
package day03;
public class TestArray {
/* 声明一个以为数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。*/
public static void main(String[] args) {
int arrayOne[] = new int[3];
for (int i = 0; i< arrayOne.length;i++) {
System.out.println("arrayOne"+"["+i+"]="+arrayOne[i]);
}
System.out.println("数组的个数为:"+arrayOne.length);
}
}
运行结果:
arrayOne[0]=0 arrayOne[1]=0 arrayOne[2]=0 数组的个数为:3
2.数组的赋值
----格式
数据类型 数组名[] = {初值0,初值1,....,初值n}
----例子
int day[] = {12,23,45};//数组声明并赋值
3.数组的应用范例
索引就像房间的编号,先找到某个房间,先找到编号!
说明如何将数组里的最大值及最小值列出。
package day03;
public class TestArray {
/* 声明一个以为数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。*/
public static void main(String[] args) {
/*说明如何将数组里的最大值及最小值列出。*/
int a[] = {1,3,5,37,25};
/*需要先进行赋值*/
int max = a[0];
int min = a[0];
for(int i = 0; i<a.length; i++) {
System.out.print(a[i]+"\t");
if(max < a[i]) {
max = a[i];
}
if(min > a[i]){
min = a[i];
}
}
System.out.println();
System.out.println("max="+max);
System.out.println("min="+min);
}
}
运行结果:
1 3 5 37 25
max=37
min=1
4.与数组有关的API方法
----查阅相关的文档
----简单介绍数组的拷贝,数组的排序
java api
http://docs.oracle.com/javase/7/docs/api/
a.arraycopy复制数组的使用
参考:API
---- arraycopy(Object src, int srcPos, Object dest, int destPos,int length);
参数:可查询api+google
原数组,原起始位置,目的数组,目的起始位置,复制的长度
代码案例:
package day03;
public class TestArrayCopy {
public static void main(String[] args) {
/*api arraycopy方法
* 在一维数组中使用,arraycopy方法,会改变原目的的数组*/
int a1[] = {1,3,2};
int a2[] = {2,5,1,2,5,1,98};
System.arraycopy(a1, 0, a2, 3, 3);
for(int i = 0; i<a2.length;i++) {
System.out.print(a2[i]+"\t");
}
}
}
运行结果:
2 5 1 1 3 2 98
b.sort排序的使用
参考API或google
---sort(int[] a, int fromIndex, int toIndex)
参数: 数组,排序起始位置,排序结束位置
代码案例:
package day03;
import java.util.Arrays;
public class TestArray {
public static void main(String[] args) {
/*使用sort方法进行排序*/
int s1[] = {1,4,2,5,8};
Arrays.sort(s1,0,4);
for(int i = 0; i<s1.length; i++) {
System.out.print(s1[i]+"\t");
}
}
}
运行结果:
1 2 4 5 8
二:二维数组
由于一维数组不满足实际的应用,所以需要二维或多维数组。
1.二维数组的声明与分配内存
2.格式
数据类型 数组名[][];
数组名 = new 数据类型[行的个数][列的个数];
----数据类型 数组名[][] = new 数据类型[行的个数][列的个数];
3.数组赋值
如果想直接在声明时就对数组赋初值,可以利用大括号完成。
只要在数组的声明格式后面再加上所赋的初值即可。
数据类型 数组名[][] = {{第0号初值},{第1行的初值},....{第n行初值}}
注意:
用户不需要定义数组的长度。
4.数组展示类型
----每行的元素个数不同的数组
代码案例:
package day03;
import java.util.Arrays;
public class TestArrayTwo {
public static void main(String[] args) {
/*每行的元素个数不同的数组*/
int a[][] = {{11,22,33,44,55},{66,77,88,99}};
for(int i = 0;i<a.length;i++){
for(int j = 0;j < a[i].length;j++ ) {
System.out.print(a[i][j]+"\t");
}
System.out.print("\n");
}
}
}
运行结果:
11 22 33 44 55
66 77 88 99
----取得二维数组的行数与特定行数的元素的个数
语法:
数组名.length //取得数组的行数
数组名[行的索引].length //取得特定行元素的个数
5.二维数组元素的引用与访问
案列见上述代码案例
三.多维数组
以三维数组为例,在声明数组时即赋初值,再将其元素值输出并计算总和。
代码案例:
package day03;
import java.util.Arrays;
public class TestArray {
public static void main(String[] args) {
/*维数组的赋值与输出*/
int a[][][] = {{{5,1},{6,7}},{{8,9},{11,12}}};
for(int i = 0; i < a.length;i++) {
for (int j = 0; j<a[i].length;j++) {
for(int k = 0;k<a[i][j].length;k++){
System.out.println("a["+i+"]"+"["+j+"]"+"["+k+"]="+a[i][j][k]);
}
}
}
}
}
运行结果:
a[0][0][0]=5
a[0][0][1]=1
a[0][1][0]=6
a[0][1][1]=7
a[1][0][0]=8
a[1][0][1]=9
a[1][1][0]=11
a[1][1][1]=12
星期四, 十一月 05, 2015 15:45:47
相关推荐
在深入学习过程中,学习者可以逐渐了解并掌握Java中的各种重要概念,如变量声明与初始化、基本数据类型与操作、数组、控制流语句(如if-else、switch、for和while循环)、面向对象编程(OOP)的核心概念(类、对象、...
【Java基础源代码day03】是传智播客Java培训课程中毕向东老师讲解的一天教学内容,主要涵盖了Java编程语言的基础知识点。在这一天的学习中,学生将深入理解Java的核心概念,为后续的Java开发打下坚实的基础。以下是...
2. **Java基础语法**(day04-函数与数组.doc、传智播客_Java培训_毕向东_Java基础[02-Java基础语法1].pdf、[02-Java基础语法2].pdf):这部分深入讲解了Java的基本语法,包括变量、数据类型、运算符、控制结构(如if...
Java数组是一种数据类型,引用类型,用于存放一组数据的数据结构。数组的定义、创建、访问、长度属性、遍历、常用Arrays类、二维数组、方法递归调用经典案例、变量源码教程等。 一、数组的定义 数组是一种数据类型...
在本资源"传智播客_Java培训_毕向东_Java基础源代码_day02"中,我们聚焦于Java编程语言的基础学习,由知名讲师毕向东指导。这个压缩包包含了day02的学习材料,主要是源代码,是为初学者精心准备的实践教程。 Java是...
本资源“传智播客_Java培训_毕向东_Java基础源代码day02”聚焦于Java的基础学习,由知名教育机构传智播客提供,由资深讲师毕向东指导,旨在帮助初学者快速掌握Java编程的核心概念。 源代码是编程中的关键部分,它是...
2. **数据类型**:Java分为两种数据类型,基本数据类型(如int、char、boolean)和引用数据类型(类、接口、数组)。理解每种数据类型的存储和使用方式是编程的基础。 3. **变量**:变量是存储数据的容器。在Java中...
day04-Java数组.md
本资源“传智播客_Java培训_毕向东_Java基础源代码day04”聚焦于Java的基础学习,由知名教育机构传智播客的资深讲师毕向东讲解。在第四天的学习中,我们可以期待深入探讨一些核心的Java编程概念。 1. **变量与数据...
在CoreJava_day05的学习笔记中,我们主要探讨了数组、二维数组以及生成随机数的三种方法。同时,还涉及到了String对象的不同状态。 首先,数组是Java中的基础数据结构,它是一个元素的集合,可以存储基本类型(如...
创建一个新的Java工程,可以通过菜单栏的File -> New -> Java Project,然后输入工程名称,比如按照学习进度命名(例如day01)。 **Eclipse使用技巧:** 1. **创建Java工程**:通过File -> New -> Java Project,...
3. **数组**:介绍如何声明和操作单维和多维数组,以及数组在内存中的存储方式。 4. **字符串处理**:Java中的String类是非常重要的,学习如何创建、操作和比较字符串。 5. **异常处理**:Java提供了异常处理机制...
在这个"java15_day02_base_song71b_aloudhyb_arraydemo_"的学习资料中,我们将会深入探讨Java中数组的常见用法。 首先,数组的声明和初始化是学习数组的基本步骤。在Java中,你可以声明一个数组类型,然后分配空间...
CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 CoreJava DAY07修饰符 26 CoreJava DAY08 常用类 29 CoreJava DAY09 高级语言特征 30 ...
每个数组都具有长度,而且是固定的,Java 中赋予了数组的一个属性,可以获取到数组的长度,语句为:数组名.length,属性 length 的执行结果是数组的长度,int 类型结果。 索引访问数组中的元素 数组名[索引] = 数值...
"basic_day01_v1_pm_all.zip"这个压缩包文件显然包含了针对Java初学者的基础教学材料。在这个压缩包中,"basic"可能是一个目录或者一系列以"basic"开头的文件,代表着Java的基本概念和语法。 首先,Java基础通常...
Day01:java环境与数据类型 Day02:数据运算与数组 Day03:面向对象 Day04:修饰符与类权限 Day05:类与接口 Day06:集合类型 Day07:反射机制与内部类 Day08:异常与Swing图形界面 Day09:swing图形界面与AWT事件...
在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...
CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 CoreJava DAY06 类的加载过程、实例化、继承、多态 37 CoreJava DAY07修饰符 50 CoreJava DAY08 常用类 56 CoreJava DAY09 高级语言特征 58 ...