【Demo 0003】Java基础-数组
本章学习要点:
1. 了解数组的基本概念;
2. 掌握数组使用方法;
一、数组的基本概念
1. 数组定义:
同一数据类型数据的集合,在Java中它也是一种数据类型;数组按维数可分为一维数组,二维数组等多维数组,维数越多,使用越复杂所以在实现运用中一最多使用二维;
2. 数组存储
数据按顺序存储,数组中的每一个数据可以下标来访问,下标以0开始至n-1结束;
注:Java中的二维数组中第二维是可以不等长的,这有别的C/C++语言;
二、数组使用方法
1. 一维数组 -- 只有一维的数组
a. 创建
type[] array = new type[array length]; 或 type array[] = new type[第一维长度];
如: int[] intArray = new int[10]; // 创建了一个长度为10,类型为int的数组
string[] strArray = new string[2]; // 创建了一个长度为2,类型为string的数组
b. 访问
array[index] // 下标从0 …. n - 1
如:
// setter 修改数组值
intArray[0] = 100;
strArray[0] = "Hello World!"
// getter 获取数组值
int intValue = intArray[0];
string strValue = strArray[0];
通常使用循环访问数组中成员变量如:
for (int ii = 0; ii < intArray.length; ii++) {
intArray[ii] = ii;
}
2. 多维数组 -- 一维以上的数组
以二维数组为例
a. 创建
type[][] array = new type[第一维长度][第二维长度]; 或 type array[][] = new type[第一维长度][第二维长度];
如:
定长数组
int[][] intArray = new int[10][10]; // 创建一个10x10整型数组
第二维不定长数组
int[][] intArray = new int[10][]; // 第二维不定长
for (int ii = 0; ii < intArray.length; ii++) {
intArray[ii] = new int[ii+ 1];
}
b. 访问
array[第一维下标][第二维下标]
for (int ii = 0; ii < intArray.length; ii++) {
for (int jj = 0; jj <intArray[ii].length; jj++) {
intArray[ii][jj] = jj + 100;
}
}
三、代码演示
杨飞三角形实现: (不定长二维数组)
int[][] yangHei(int count) {
int [][] data = new int [count][];
for (int ii = 0; ii < count; ii++) {
data[ii] = new int[ii+1];
data[ii][0]= 1;
data[ii][ii]= 1;
}
for (int ii = 1; ii < count; ii++) {
for (int jj = 0; jj < ii; jj++) {
if (jj > 0 && jj < ii) {
data[ii][jj] = data[ii - 1][jj - 1] + data[ii - 1][jj];
}
}
}
return data;
}
10x10数组赋值与输出(定长二维数组)
int[][] data = new int[10][10];
for (int ii = 0; ii < data.length; ii++) {
for (int jj = 0; jj < 10; jj++) {
data[ii][jj] = jj;
}
}
for (int ii = 0; ii < data.length; ii++) {
for (int jj = 0; jj < 10; jj++) {
System.out.print(data[ii][jj] + " ");
}
System.out.println();
}
【Demo 0003】Java基础-数组的更多相关文章
- java基础-数组的折半查找原理
java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...
- Java基础-数组常见排序方式
Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- 《Java基础——数组的定义与使用》
Java基础--数组的定义与使用 一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...
- Java基础——数组Array
一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...
- Java基础--数组(Arrays)
数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...
- java基础---数组的基本概念(1)
学习资源来自尚硅谷java基础学习 1. 数组的概念 数组(Array), 是多个相同类型数据按一定顺序排列的集合, 并使用一个名字命名, 并通过编号的方式对这些数据进行统一管理. 数组属于引用数据类 ...
- JAVA基础——数组详解
学习JAVA中数组的使用 一.什么是数组? 问:编写代码保存 4 名学生的考试成绩. 答:简单啊,定义 4 个变量呗 问:那"计算全年级 400 名学生的考试成绩",肿么办 答: ...
- Java基础——数组复习
数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 数组长度固定不变,避免数组越界 数组是静态分配内存空间的,所 ...
随机推荐
- ListView中加入Button后,Button的点击事件和ListView的点击事件冲突
1.在ItemView配置的xml文件里的根节点加入属性android:descendantFocusability="blocksDescendants" 2.在要加入事件的控件 ...
- BZOJ 2510: 弱题( 矩阵快速幂 )
每进行一次, 编号为x的数对x, 和(x+1)%N都有贡献 用矩阵快速幂, O(N3logK). 注意到是循环矩阵, 可以把矩阵乘法的复杂度降到O(N2). 所以总复杂度就是O(N2logK) --- ...
- Web端的Tab控件在切换Tab时Load数据出错的处理
我们在应用Web端的Tab控件时,不管是Jquery easyui的还是Ext的Tab控件都会遇到一个问题,在Tab1正在加载数据的时候我们切换到Tab2,再切换回来,Load数据的控件就会出错,出错 ...
- 闲扯 Javascript 02 全选、不选、反选
<body> <input id="btn1" type="button" value="全选" /><br& ...
- Qt信号槽的一些事(第一次知道信号还有返回值,以及Qt::UniqueConnection)
注:此文是站在Qt5的角度说的,对于Qt4部分是不适用的. 1.先说Qt信号槽的几种连接方式和执行方式. 1)Qt信号槽给出了五种连接方式: Qt::AutoConnection 0 自动连接:默认的 ...
- Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)
Introduction Qt库提供了一组基于模板的一般化的容器类.这些容器可以存储指定的类型的元素.例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString> ...
- cocos2d-x游戏开发系列教程-中国象棋03-主界面
前情回顾 上个博客说道我们象棋程序进入了欢迎界面,在欢迎界面下等待一秒进入主界面 进入主界面的关键代码如下: CCScene* pScene = CCMainMenu::scene(); 创建sce ...
- C语言,C++,static
术语static有着不寻常的历史.起初,在C中引入关键字static是为了表示退出一个块后仍然存在的局部变量.随后,static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数.为了避 ...
- checkbox探究
介绍checkbox checkbox: A check box. You must use the value attribute to define the value submitted by ...
- forEach嵌套循环的问题
程序中: List firstList = ; i<firstList.size(); i++) { List secondListList = request.setAttribute(&qu ...